{"openapi":"3.1.0","info":{"title":"VLM Run Unified Server","description":"Unified server for VLM Run Agent and API","termsOfService":"https://vlm.run/terms-of-service","contact":{"name":"VLM Run Support Team","url":"https://vlm.run/","email":"support@vlm.run"},"version":"2026-05-19.0"},"paths":{"/v1/openai/models":{"get":{"tags":["chat"],"summary":"Models","description":"List all available models.","operationId":"models_v1_openai_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Model"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/openai/models/{model}":{"get":{"tags":["chat"],"summary":"Model Info","description":"Get model information.","operationId":"model_info_v1_openai_models__model__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"type":"string","title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/openai/health":{"get":{"summary":"Health","operationId":"health_v1_openai_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/openai/chat/completions":{"post":{"tags":["chat"],"summary":"Chat Completions","description":"Handle chat completion requests.\n\nSupports both authenticated and public (unauthenticated) requests.\nGuest users are limited to the playground UI path at $0.50/day per IP and\nbrowser fingerprint. Authenticated free users are not subject to a daily\nchat cap after they sign in.","operationId":"chat_completions_v1_openai_chat_completions_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user-agent","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User-Agent"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChatCompletionsRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/openai/files":{"post":{"summary":"Upload File Route","operationId":"upload_file_route_v1_openai_files_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file_route_v1_openai_files_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/chat":{"get":{"tags":["chat","chat"],"summary":"List Chats","description":"List all chat threads for a user.","operationId":"list_chats_v1_chat_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of items to skip","default":0,"title":"Skip"},"description":"Number of items to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":25,"minimum":1,"description":"Maximum number of items to return","default":5,"title":"Limit"},"description":"Maximum number of items to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChatThread"},"title":"Response List Chats V1 Chat Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/chat/messages":{"get":{"tags":["chat","chat"],"summary":"Chat Messages","description":"Get the chat messages or history for a session.\n\nSupports both authenticated and public (unauthenticated) requests.\n- Authenticated users can access their own chats or public chats\n- Guest users can only access public chats\n- Superusers can access any chat\n- Token-bearing sessions require a matching session_token for non-owner access","operationId":"chat_messages_v1_chat_messages_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"X-Session-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Session-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatHistory"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent":{"get":{"tags":["agent"],"summary":" List Agents","operationId":"_list_agents_v1_agent_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AgentInfoResponse"},"type":"array","title":"Response  List Agents V1 Agent Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/agent/lookup":{"post":{"tags":["agent"],"summary":"Lookup Agent","operationId":"lookup_agent_v1_agent_lookup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentLookupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInfoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/agent/create":{"post":{"tags":["agent"],"summary":" Create Agent","operationId":"_create_agent_v1_agent_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCreationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCreationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/agent/execute":{"post":{"tags":["agent"],"summary":" Execute Agent","operationId":"_execute_agent_v1_agent_execute_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentExecutionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentExecutionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/agent/executions":{"get":{"tags":["agent"],"summary":"Get Agent Executions","description":"Get all agent executions for the user organization with pagination.","operationId":"get_agent_executions_v1_agent_executions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of items to skip","default":0,"title":"Skip"},"description":"Number of items to skip"},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":1000,"minimum":1},{"type":"null"}],"description":"Maximum number of items to return","default":10,"title":"Limit"},"description":"Maximum number of items to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentExecutionResponse"},"title":"Response Get Agent Executions V1 Agent Executions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent/executions/{id}":{"get":{"tags":["agent"],"summary":"Get Agent Execution","description":"Get agent execution by ID.","operationId":"get_agent_execution_v1_agent_executions__id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentExecutionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/artifacts":{"get":{"tags":["artifacts"],"summary":"List or Get Artifacts","description":"List or retrieve artifacts for a chat completion session or agent execution.\n\n**List** (no ``object_id`` or ``filename``): returns a paginated JSON payload\nof artifact metadata for the given ``execution_id`` or ``session_id``.\n\n**Get** (provide ``object_id`` or ``filename``): returns the artifact bytes\nor a redirect to its storage location.","operationId":"artifacts_v1_artifacts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Session ID for the artifacts","title":"Session Id"},"description":"Session ID for the artifacts"},{"name":"execution_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Execution ID for the artifacts","title":"Execution Id"},"description":"Execution ID for the artifacts"},{"name":"object_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Object ID to retrieve a single artifact","title":"Object Id"},"description":"Object ID to retrieve a single artifact"},{"name":"filename","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Workspace filename to retrieve a single artifact","title":"Filename"},"description":"Workspace filename to retrieve a single artifact"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of items to return when listing","default":100,"title":"Limit"},"description":"Maximum number of items to return when listing"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of items to skip when listing","default":0,"title":"Offset"},"description":"Number of items to skip when listing"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/skills":{"get":{"tags":["skills"],"summary":"List Skills","description":"List all skills from the database.\n\n- Authenticated user: returns their org's skills + public skills.\n- Guest user: returns public skills only (guest org has no skills).\n\nQuery parameters:\n- limit/offset: Pagination controls.\n- order_by: Sort field (created_at, updated_at, name). Default: created_at.\n- descending: Sort direction. Default: true.\n- grouped: When true, returns only the latest version of each skill name.","operationId":"list_skills_v1_skills_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of items to return","default":50,"title":"Limit"},"description":"Maximum number of items to return"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of items to skip","default":0,"title":"Offset"},"description":"Number of items to skip"},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Field to order by (created_at, updated_at, name)","default":"created_at","title":"Order By"},"description":"Field to order by (created_at, updated_at, name)"},{"name":"descending","in":"query","required":false,"schema":{"type":"boolean","description":"Sort in descending order","default":true,"title":"Descending"},"description":"Sort in descending order"},{"name":"grouped","in":"query","required":false,"schema":{"type":"boolean","description":"Group by skill name, returning only the latest version of each","default":false,"title":"Grouped"},"description":"Group by skill name, returning only the latest version of each"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SkillInfoResponse"},"title":"Response List Skills V1 Skills Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/skills/lookup":{"post":{"tags":["skills"],"summary":"Lookup Skill","description":"Lookup a skill by ID, name, or name+version.","operationId":"lookup_skill_v1_skills_lookup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillLookupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillInfoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/skills/{skill_id}":{"get":{"tags":["skills"],"summary":"Get Skill","description":"Get a skill by ID.\n\n- Authenticated user: can access their org's skills and public skills.\n- Guest / unauthenticated user: can only access public skills.","operationId":"get_skill_v1_skills__skill_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","title":"Skill Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillInfoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/skills/create":{"post":{"tags":["skills"],"summary":"Create Skill","description":"Create a skill from a file, prompt, or chat session.\n\nThree creation modes (provide exactly one source):\nA. file_id: Use an already-uploaded skill zip (must contain SKILL.md).\nB. prompt (+ optional json_schema): Auto-generate SKILL.md and schema.json, package and upload.\nC. session_id: Retrieve chat history as the prompt, auto-generate SKILL.md.\n\nAll modes produce a skill zip stored in GCS and deduplicate by content hash.","operationId":"create_skill_v1_skills_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillCreateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/skills/{skill_id}/update":{"post":{"tags":["skills"],"summary":"Update Skill","description":"Create a new version of an existing skill.\n\nThis creates a NEW database record with:\n- A new unique ID\n- The same name as the original skill\n- A new auto-generated version (format: YYYYMMDD-<8-char-sha256>)\n\nWorkflow:\n1. Upload new skill zip via POST /v1/files -> get file_id\n2. Call this endpoint with the original skill_id and new file_id to create a new version","operationId":"update_skill_v1_skills__skill_id__update_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","title":"Skill Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/skills/{skill_id}/download":{"get":{"tags":["skills"],"summary":"Get Skill Download URL","description":"Get a presigned download URL for a skill zip file.","operationId":"get_skill_download_url_v1_skills__skill_id__download_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","title":"Skill Id"}},{"name":"expires","in":"query","required":false,"schema":{"type":"integer","description":"URL expiration time in seconds","default":604800,"title":"Expires"},"description":"URL expiration time in seconds"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillDownloadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/image/generate":{"post":{"tags":["image","image"],"summary":"Image Generate","description":"Generate structured prediction for the given image.","operationId":"image_generate_v1_image_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImagePredictionRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/document/generate":{"post":{"tags":["document","document"],"summary":"Document Generate","description":"Generate structured prediction for the given document.","operationId":"document_generate_v1_document_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentFilePredictionRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/video/generate":{"post":{"tags":["video","video"],"summary":"Video Generate","description":"Generate structured prediction for the given video file.","operationId":"video_generate_v1_video_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoPredictionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/audio/generate":{"post":{"tags":["audio","audio"],"summary":"Audio Generate","description":"Generate structured prediction for the given audio file.","operationId":"audio_generate_v1_audio_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioPredictionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/hub/info":{"get":{"tags":["hub"],"summary":"Info","operationId":"info_v1_hub_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubInfoResponse"}}}}}}},"/v1/hub/domains":{"get":{"tags":["hub"],"summary":"List Domains","description":"Get the list of supported domains.","operationId":"list_domains_v1_hub_domains_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/HubDomainInfo"},"type":"array","title":"Response List Domains V1 Hub Domains Get"}}}}}}},"/v1/hub/schema":{"post":{"tags":["hub"],"summary":"Get Domain Schema","description":"Get the JSON schema for a given domain (document.invoice, document.receipt, etc).","operationId":"get_domain_schema_v1_hub_schema_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubSchemaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubSchemaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/predictions":{"get":{"tags":["predictions"],"summary":"Get Predictions","description":"Get all predictions uploaded by the user with pagination.","operationId":"get_predictions_v1_predictions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of items to skip","default":0,"title":"Skip"},"description":"Number of items to skip"},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":1000,"minimum":1},{"type":"null"}],"description":"Maximum number of items to return","default":10,"title":"Limit"},"description":"Maximum number of items to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PredictionResponse"},"title":"Response Get Predictions V1 Predictions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/predictions/{id}":{"get":{"tags":["predictions"],"summary":"Get Prediction","description":"Get prediction JSON by request ID.","operationId":"get_prediction_v1_predictions__id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/predictions/{id}/domain":{"get":{"tags":["predictions"],"summary":"Get Prediction Domain","description":"Get the domain name and additional info for a prediction by its ID.","operationId":"get_prediction_domain_v1_predictions__id__domain_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionDomainInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/files":{"post":{"tags":["files"],"summary":"Upload File Route","description":"Upload a file.","operationId":"upload_file_route_v1_files_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"purpose","in":"query","required":false,"schema":{"enum":["assistants","batch","fine-tune","vision","datasets"],"type":"string","default":"assistants","title":"Purpose"}},{"name":"generate_public_url","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to generate a public URL for the uploaded file","default":true,"title":"Generate Public Url"},"description":"Whether to generate a public URL for the uploaded file"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file_route_v1_files_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreFileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["files"],"summary":"Get Files","description":"Get all files uploaded by the user with pagination.","operationId":"get_files_v1_files_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of items to skip","default":0,"title":"Skip"},"description":"Number of items to skip"},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":1000,"minimum":1},{"type":"null"}],"description":"Maximum number of items to return","default":10,"title":"Limit"},"description":"Maximum number of items to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoreFileResponse"},"title":"Response Get Files V1 Files Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/files/{file_id}":{"get":{"tags":["files"],"summary":"Get File Route","description":"Get a file by ID.","operationId":"get_file_route_v1_files__file_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"generate_public_url","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to generate a public URL for the file","default":true,"title":"Generate Public Url"},"description":"Whether to generate a public URL for the file"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreFileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["files"],"summary":"Delete File Route","description":"Delete a file by ID. Only available for Pro and Enterprise users.","operationId":"delete_file_route_v1_files__file_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreFileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/files/hash/{file_hash}":{"get":{"tags":["files"],"summary":"Get File By Hash","description":"Check if a file exists by its md5 hash.","operationId":"get_file_by_hash_v1_files_hash__file_hash__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_hash","in":"path","required":true,"schema":{"type":"string","title":"File Hash"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreFileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/files/presigned-url":{"post":{"tags":["files"],"summary":"Generate Presigned Url","description":"Generate a presigned URL for file upload.","operationId":"generate_presigned_url_v1_files_presigned_url_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedUrlRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedUrlResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/files/verify-upload/{file_id}":{"get":{"tags":["files"],"summary":"Verify File Upload","description":"Verify file upload after presigned URL upload.","operationId":"verify_file_upload_v1_files_verify_upload__file_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreFileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feedback/submit":{"post":{"tags":["feedback"],"summary":"Submit Feedback","description":"Submit feedback for a request, execution, or chat by its ID.","operationId":"submit_feedback_v1_feedback_submit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackSubmitRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackSubmitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/feedback/{entity_id}":{"get":{"tags":["feedback"],"summary":"Get Feedback","description":"Get all feedbacks for a specific entity by its ID.","operationId":"get_feedback_v1_feedback__entity_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"type","in":"query","required":false,"schema":{"type":"string","description":"Type of entity: request, agent_execution, or chat","default":"request","title":"Type"},"description":"Type of entity: request, agent_execution, or chat"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/evaluations/run":{"post":{"tags":["evaluations"],"summary":"Run Evaluation","description":"Run evaluation with pluggable evaluators (field_accuracy, fuzzy_field_match, llm_judge, equals_expected). Set infer_corrections=true for notes-only feedback. Returns immediately with status=running. Poll by ID for completion.","operationId":"run_evaluation_v1_evaluations_run_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEvaluationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Run Evaluation V1 Evaluations Run Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/evaluations/optimize":{"post":{"tags":["evaluations"],"summary":"Optimize Skill Endpoint","description":"Optimize a skill using evaluation data. Fetches model responses and human corrections for the given skill, runs LLM-based optimization to improve the prompt and JSON schema, and saves a new skill version with the same name.","operationId":"optimize_skill_endpoint_v1_evaluations_optimize_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptimizeSkillRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptimizeSkillResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/evaluations/rerun":{"post":{"tags":["evaluations"],"summary":"Rerun With Skill","description":"Re-run an evaluation with a different skill. If skill_id is omitted the source skill is optimized first. Returns the skill_id immediately while processing continues in the background. Poll the evaluation run by ID to check completion status.","operationId":"rerun_with_skill_v1_evaluations_rerun_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RerunRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RerunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/health":{"get":{"summary":"Health Check","description":"Health check endpoint.","operationId":"health_check_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"summary":"Health Check","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/models":{"get":{"summary":"Get Models","description":"Get the list of supported models.","operationId":"get_models_v1_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ModelInfo"},"type":"array","title":"Response Get Models V1 Models Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/domains":{"get":{"summary":"Get Domains","description":"Get the list of supported domains.","operationId":"get_domains_v1_domains_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DomainInfo"},"type":"array","title":"Response Get Domains V1 Domains Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/schema":{"post":{"summary":"Get Schema","description":"Get the JSON schema for a given domain (document.invoice, document.receipt, etc).","operationId":"get_schema_v1_schema_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"AgentChatCompletionsRequest":{"properties":{"id":{"type":"string","title":"Id","description":"ID of the completion"},"model":{"anyOf":[{"type":"string","enum":["vlmrun-orion-1","vlmrun-orion-1:auto","vlmrun-orion-1:fast","vlmrun-orion-1:pro","vlmrun-orion-2","vlmrun-orion-2:auto"]},{"type":"string"},{"type":"null"}],"title":"Model","description":"VLM Run Agent model to use for completion. When omitted, the skill's vlmrun.yaml model is used; otherwise the agent default."},"messages":{"items":{"$ref":"#/components/schemas/Message"},"type":"array","title":"Messages","description":"Messages to complete"},"max_tokens":{"type":"integer","title":"Max Tokens","description":"Maximum number of tokens to generate","default":32768},"n":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N","description":"Number of completions to generate","default":1},"temperature":{"type":"number","title":"Temperature","description":"Temperature of the sampling distribution","default":0.0},"top_p":{"type":"number","title":"Top P","description":"Cumulative probability of parameter highest probability vocabulary tokens to keep for nucleus sampling","default":1.0},"top_k":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Top K","description":"Number of highest probability vocabulary tokens to keep for top-k-filtering"},"logprobs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Logprobs","description":"Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens"},"stream":{"type":"boolean","title":"Stream","description":"Whether to stream the response or not","default":false},"tools":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Tools","description":"OpenAI-compatible client tool definitions. By default (``tool_execution=client``) the endpoint returns model ``tool_calls`` for the client to execute (OpenRouter / OpenAI / pydantic-ai protocol). Set ``tool_execution=hybrid`` to also enable server-side tools such as ``execute_code``."},"tool_choice":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Tool Choice","description":"OpenAI-compatible tool_choice (``none`` / ``auto`` / ``required`` / specific function). Only used when ``tools`` is set."},"tool_execution":{"anyOf":[{"type":"string","enum":["client","hybrid"]},{"type":"null"}],"title":"Tool Execution","description":"How tools are executed when ``tools`` is set. ``client`` (default): passthrough — all tool_calls returned to the caller. ``hybrid``: server tools (see ``server_tools``) run in-process; only client tool_calls are returned with ``finish_reason=tool_calls``."},"server_tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Server Tools","description":"Server-owned tool names to inject and execute when ``tool_execution=hybrid``. Defaults to ``[\"execute_code\"]``. Unknown names are rejected."},"expose_server_tool_calls":{"type":"boolean","title":"Expose Server Tool Calls","description":"When True on the native (no client ``tools``) path, stream OpenAI-compatible ``delta.tool_calls`` for server-side tool invocations. Default False keeps the opaque server harness loop (text / preview / think markers only). External agent harnesses that need visible tool_calls should prefer ``tool_execution=hybrid`` instead.","default":false},"preview":{"anyOf":[{"type":"boolean"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Preview","description":"Preview card selection for the agent. Accepts: ``True`` to enable all known card types, a ``list[str]`` of card discriminator names (e.g. ``[\"preview.image\", \"preview.grid\"]``) for a focused set, or ``False``/``None`` to disable structured preview output. When enabled, the agent streams ``<preview data='{...json...}'/>`` lines through ``vlmrun.log.print(...)`` for the chosen card types."},"response_format":{"anyOf":[{"$ref":"#/components/schemas/JSONSchemaResponseFormat"},{"$ref":"#/components/schemas/JSONModeResponseFormat"},{"$ref":"#/components/schemas/JSONSchemaResponseFormatStrict"},{"type":"null"}],"title":"Response Format","description":"Format of the response"},"service_tier":{"anyOf":[{"type":"string","enum":["auto","default","standard","flex","priority"]},{"type":"null"}],"title":"Service Tier","description":"Delivery tier for the request. 'standard'/'default' uses baseline rates, 'flex' applies a 50% discount with higher latency, and 'priority' applies a 1.8x premium for highest reliability. When omitted (or 'auto'), the server default ('standard') applies — opt into 'flex'/'priority' explicitly."},"session_id":{"type":"string","title":"Session Id","description":"Session UUID for persisting the chat history"},"session_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Token","description":"Client-minted session token for IDOR protection (base64url, >=256-bit)"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Additional metadata for the request (e.g., dataset_name, experiment_id, etc.)"},"skills":{"anyOf":[{"items":{"$ref":"#/components/schemas/AgentSkill"},"type":"array"},{"type":"null"}],"title":"Skills","description":"List of agent skills to enable for this request."}},"additionalProperties":true,"type":"object","required":["messages"],"title":"AgentChatCompletionsRequest","description":"Request payload for the OpenAI chat completions API for VLM Run agents."},"AgentCreationConfig":{"properties":{"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"The prompt to guide the creation of the agent."},"json_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Json Schema","description":"The JSON schema to the agent"},"tools_type":{"anyOf":[{"type":"string","enum":["document","image","video","multimodal"]},{"type":"null"}],"title":"Tools Type","description":"The type of tools to use for the agent"},"skills":{"anyOf":[{"items":{"$ref":"#/components/schemas/AgentSkill"},"type":"array"},{"type":"null"}],"title":"Skills","description":"List of agent skills to enable for this execution. Skills provide domain-specific expertise and capabilities."},"selected_tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Selected Tools","description":"List of tool names to use for this agent execution. If provided, only these tools will be loaded. Tool names should match function names exactly."},"use_context_cache":{"type":"boolean","title":"Use Context Cache","description":"Reuse cached representations of large document/video inputs across calls in the same session to reduce input-token cost and latency.","default":true},"service_tier":{"anyOf":[{"type":"string","enum":["auto","default","standard","flex","priority"]},{"type":"null"}],"title":"Service Tier","description":"Delivery tier for the agent run. `auto`/`default`/`None` resolves to `standard` (baseline 1.0× billing); `flex` is 0.5× billing with higher latency, and `priority` is 1.8× billing with a premium latency SLO."}},"type":"object","title":"AgentCreationConfig","description":"Configuration for the agent creation request."},"AgentCreationRequest":{"properties":{"config":{"$ref":"#/components/schemas/AgentCreationConfig","description":"The configuration for the agent creation request."},"id":{"type":"string","title":"Id","description":"Unique identifier of the request."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the request was created (in UTC timezone)"},"callback_url":{"anyOf":[{"type":"string","minLength":1,"format":"uri"},{"type":"null"}],"title":"Callback Url","description":"The URL to call when the request is completed."},"model":{"anyOf":[{"type":"string","enum":["vlmrun-orion-1","vlmrun-orion-1:auto","vlmrun-orion-1:fast","vlmrun-orion-1:pro","vlmrun-orion-2","vlmrun-orion-2:auto","vlmrun-orion-2:pro"]},{"type":"string"},{"type":"null"}],"title":"Model","description":"VLM Run Agent model to use for agent creation. When omitted, the skill's vlmrun.yaml model is used; otherwise the agent default."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Name of the agent. If not provided, a pretty-name will be generated."},"inputs":{"anyOf":[{"$ref":"#/components/schemas/AgentExecutionInputs"},{"type":"null"}],"description":"The inputs to the agent."}},"type":"object","title":"AgentCreationRequest","description":"Request to create an agent."},"AgentCreationResponse":{"properties":{"id":{"type":"string","title":"Id","description":"ID of the agent"},"name":{"type":"string","title":"Name","description":"Name of the agent"},"status":{"type":"string","enum":["pending","enqueued","running","completed","failed","paused"],"title":"Status","description":"The status of the job.","default":"pending"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the agent was created (in UTC timezone)"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the agent was updated (in UTC timezone)"}},"type":"object","required":["id","name","created_at","updated_at"],"title":"AgentCreationResponse","description":"Response to the agent creation request."},"AgentExecutionConfig":{"properties":{"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"The prompt to guide the execution of the agent."},"json_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Json Schema","description":"The JSON schema to the agent"},"tools_type":{"anyOf":[{"type":"string","enum":["document","image","video","multimodal"]},{"type":"null"}],"title":"Tools Type","description":"The type of tools to use for the agent"},"skills":{"anyOf":[{"items":{"$ref":"#/components/schemas/AgentSkill"},"type":"array"},{"type":"null"}],"title":"Skills","description":"List of agent skills to enable for this execution. Skills provide domain-specific expertise and capabilities."},"selected_tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Selected Tools","description":"List of tool names to use for this agent execution. If provided, only these tools will be loaded. Tool names should match function names exactly."},"use_context_cache":{"type":"boolean","title":"Use Context Cache","description":"Reuse cached representations of large document/video inputs across calls in the same session to reduce input-token cost and latency.","default":true},"service_tier":{"anyOf":[{"type":"string","enum":["auto","default","standard","flex","priority"]},{"type":"null"}],"title":"Service Tier","description":"Delivery tier for the agent run. `auto`/`default`/`None` resolves to `standard` (baseline 1.0× billing); `flex` is 0.5× billing with higher latency, and `priority` is 1.8× billing with a premium latency SLO."},"mode":{"type":"string","enum":["agent","program"],"title":"Mode","description":"Orion-2 only (ignored for other models and the document/image/video generate APIs). `agent` (default): run the full LLM agent loop (the agent decides at runtime). `program`: run cached skill pipeline.py as fixed code when available.","default":"agent"}},"type":"object","title":"AgentExecutionConfig","description":"Configuration for the agent execution request."},"AgentExecutionInputs":{"properties":{},"additionalProperties":true,"type":"object","title":"AgentExecutionInputs","description":"Base class for agent execution inputs.\n\nUsers can subclass this to create typed input models for their agents.\nFor example:\n\n    class MyAgentInputs(AgentExecutionInputs):\n        image: MessageContent\n        prompt: str\n\n    request = AgentExecutionRequest(\n        name=\"my-agent\",\n        inputs=MyAgentInputs(image=..., prompt=...)\n    )"},"AgentExecutionRequest":{"properties":{"metadata":{"$ref":"#/components/schemas/RequestMetadata","description":"Optional metadata to pass to the model."},"config":{"$ref":"#/components/schemas/AgentExecutionConfig","description":"The configuration for the agent execution request."},"id":{"type":"string","title":"Id","description":"Unique identifier of the request."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the request was created (in UTC timezone)"},"callback_url":{"anyOf":[{"type":"string","minLength":1,"format":"uri"},{"type":"null"}],"title":"Callback Url","description":"The URL to call when the request is completed."},"model":{"anyOf":[{"type":"string","enum":["vlmrun-orion-1","vlmrun-orion-1:auto","vlmrun-orion-1:fast","vlmrun-orion-1:pro","vlmrun-orion-2","vlmrun-orion-2:auto","vlmrun-orion-2:pro"]},{"type":"string"},{"type":"null"}],"title":"Model","description":"VLM Run Agent model to use for execution. When omitted, the skill's vlmrun.yaml model is used; otherwise the agent default."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Name of the agent. If not provided, we use the prompt to identify the unique agent."},"batch":{"type":"boolean","title":"Batch","description":"Whether to process the document in batch mode (async).","default":true},"inputs":{"anyOf":[{"$ref":"#/components/schemas/AgentExecutionInputs"},{"type":"null"}],"description":"The inputs to the agent."}},"type":"object","title":"AgentExecutionRequest","description":"Request to execute an agent."},"AgentExecutionResponse":{"properties":{"usage":{"$ref":"#/components/schemas/CreditUsageResponse","description":"The usage metrics for the request."},"id":{"type":"string","title":"Id","description":"Unique identifier of the agent execution response."},"name":{"type":"string","title":"Name","description":"Name of the agent"},"response":{"anyOf":[{},{"type":"null"}],"title":"Response","description":"The response from the model."},"execution_mode":{"type":"string","enum":["agent","program"],"title":"Execution Mode","description":"How the execution ran: `program` when a cached skill pipeline.py ran as fixed code (no LLM agent loop), else `agent`. Always `agent` for non-Orion-2 models.","default":"agent"},"status":{"type":"string","enum":["pending","enqueued","running","completed","failed","paused"],"title":"Status","description":"The status of the job.","default":"pending"},"fallback":{"type":"boolean","title":"Fallback","description":"True when the JSON was produced by a fallback model. False when the primary model succeeded.","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the execution was created (in UTC timezone)"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At","description":"Date and time when the execution was completed (in UTC timezone)"}},"type":"object","required":["name"],"title":"AgentExecutionResponse","description":"Response to the agent execution request."},"AgentInfoResponse":{"properties":{"id":{"type":"string","title":"Id","description":"ID of the agent"},"name":{"type":"string","title":"Name","description":"Name of the agent"},"description":{"type":"string","title":"Description","description":"Description of the agent"},"prompt":{"type":"string","title":"Prompt","description":"The prompt of the agent"},"json_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Json Schema","description":"The JSON schema of the agent's sample response"},"json_sample":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Json Sample","description":"The sample JSON response from the model."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the agent was created (in UTC timezone)"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","description":"Date and time when the agent was updated (in UTC timezone)"},"status":{"type":"string","enum":["pending","enqueued","running","completed","failed","paused"],"title":"Status","description":"The status of the job.","default":"pending"}},"type":"object","required":["id","name","description","prompt","created_at"],"title":"AgentInfoResponse","description":"Response to the agent creation request."},"AgentLookupRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"The full name of the agent (e.g. 'accounting-invoice:latest')"},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"The ID of the agent (lookup either by name + version or by id alone)"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"The prompt of the agent (if not provided, the latest version will be returned)."}},"type":"object","title":"AgentLookupRequest","description":"Request to get agent info."},"AgentModel":{"type":"string","enum":["google-gemini-3-image","google-gemini-3-analysis","google-gemini-robotics-er","google-veo-3.1","microsoft-omniparser-v2","qwen-qwen3-vl-8b","meta-sam2","meta-sam3","meta-sam3d","depth-anything-3","vlm-dots-ocr","nvidia-cosmos-reason-2-8b","geopavlakos-hamer","usyd-vitpose"],"title":"AgentModel","description":"Available models for agent tool selection.\n\nEach model represents a specialized capability backed by a specific\nmodel deployment.  Multiple models can be selected simultaneously —\npass a list and the tools are merged and deduplicated.\n\nUsage in vlmrun.yaml::\n\n    model: vlmrun-orion-1:auto\n    toolsets:\n      - core\n      - image\n    models:\n      - nvidia-cosmos-reason-2-8b\n      - meta-sam3"},"AgentSkill":{"properties":{"type":{"type":"string","title":"Type","description":"The type of the skill. Use 'skill_reference' for DB-stored skills referenced by id/name. Use 'inline' to provide the skill as a base64-encoded zip bundle.","default":"skill_reference"},"skill_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skill Id","description":"The unique identifier of the skill — a UUID or a name string (e.g., 'pillow', 'batch-processing')."},"skill_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skill Name","description":"Human-readable skill name for lookup (e.g., 'invoice-extraction'). Alternative to skill_id. Deprecated in favour of skill_id."},"skill_version":{"anyOf":[{"type":"integer"},{"type":"string"}],"title":"Skill Version","description":"The version of the skill — an integer (e.g. 2) or 'latest'.","default":"latest"},"version":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Version","description":"DEPRECATED: Use 'skill_version' instead. The version of the skill."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Human-readable name for the inline skill (used for discovery and logging)."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description of what the inline skill does."},"source":{"anyOf":[{"$ref":"#/components/schemas/InlineSkillSource"},{"type":"null"}],"description":"Source payload for inline skills. Contains the base64-encoded zip bundle with type, media_type, and data fields."},"bundle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bundle","description":"DEPRECATED: Use 'source.data' instead. Base64-encoded zip bundle containing the skill files (inline skills only)."}},"type":"object","title":"AgentSkill","description":"A modular capability that extends the agent's functionality.\n\nAgent Skills are reusable, filesystem-based resources that provide the agent\nwith domain-specific expertise: workflows, context, and best practices.\n\nEach skill packages instructions, metadata, and optional resources (scripts,\ntemplates, snippets) that the agent uses automatically when relevant.\n\nTwo modes are supported:\n\n1. **Referenced skills** (``type=\"skill_reference\"``) – Provide ``skill_id``\n   (UUID or name) and optionally ``skill_version`` (integer or ``\"latest\"``).\n\n   .. code-block:: json\n\n       {\"type\": \"skill_reference\", \"skill_id\": \"pillow\", \"skill_version\": \"latest\"}\n\n2. **Inline skills** (``type=\"inline\"``) – Supply ``name``, ``description``,\n   and a ``source`` object containing the base64-encoded zip bundle.  The zip\n   must contain exactly one ``SKILL.md`` file.  No database lookup is required.\n\n   .. code-block:: json\n\n       {\n           \"type\": \"inline\",\n           \"name\": \"csv-insights\",\n           \"description\": \"Summarize CSV files.\",\n           \"source\": {\n               \"type\": \"base64\",\n               \"media_type\": \"application/zip\",\n               \"data\": \"<base64-zip>\"\n           }\n       }\n\n   Legacy format with flat ``bundle`` field is also accepted for backward\n   compatibility."},"AgentToolset":{"type":"string","enum":["core","code-execution","document","image","image-gen","video","viz","web","world-gen","gateway"],"title":"AgentToolset","description":"Available toolsets for agent tool selection.\n\nEach toolset represents a category of related tools that can be enabled\ntogether for an agent execution."},"AudioPredictionRequest":{"properties":{"metadata":{"$ref":"#/components/schemas/RequestMetadata","description":"Optional metadata to pass to the model."},"config":{"$ref":"#/components/schemas/GenerationConfig","description":"The VLM generation config to be used for /<dtype>/generate."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"The URL of the file (provide either `file_id` or `url`)."},"file_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Id","description":"The ID of the uploaded file (provide either `file_id` or `url`)."},"id":{"type":"string","title":"Id","description":"Unique identifier of the request."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the request was created (in UTC timezone)"},"callback_url":{"anyOf":[{"type":"string","minLength":1,"format":"uri"},{"type":"null"}],"title":"Callback Url","description":"The URL to call when the request is completed."},"model":{"anyOf":[{"type":"string","enum":["vlm-1","vlm-1:auto","vlm-1:fast","vlm-1:pro"]},{"type":"string"}],"title":"Model","description":"The model to use for generating the response.","default":"vlm-1"},"domain":{"anyOf":[{"type":"string","enum":["audio.transcription","audio.transcription-summary"]},{"type":"string"}],"title":"Domain","description":"The domain identifier for the model (e.g. `audio.transcription`)."},"batch":{"type":"boolean","title":"Batch","description":"Whether to process the document in batch mode (async).","default":true}},"type":"object","required":["domain"],"title":"AudioPredictionRequest","description":"Request to the Audio API (i.e. structured prediction)."},"BaseModel":{"properties":{},"type":"object","title":"BaseModel"},"Body_upload_file_route_v1_files_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_file_route_v1_files_post"},"Body_upload_file_route_v1_openai_files_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"purpose":{"type":"string","enum":["assistants","vision","batch","fine-tune"],"title":"Purpose"}},"type":"object","required":["file","purpose"],"title":"Body_upload_file_route_v1_openai_files_post"},"ChatCompletionMessageFunctionToolCallParam":{"properties":{"id":{"type":"string","title":"Id"},"function":{"$ref":"#/components/schemas/Function"},"type":{"type":"string","const":"function","title":"Type"}},"type":"object","required":["id","function","type"],"title":"ChatCompletionMessageFunctionToolCallParam","description":"A call to a function tool created by the model."},"ChatHistory":{"properties":{"messages":{"items":{"$ref":"#/components/schemas/Message"},"type":"array","title":"Messages"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"media_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Media Token"}},"type":"object","required":["messages","created_at","updated_at"],"title":"ChatHistory"},"ChatModel":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","const":"model","title":"Object","default":"model"},"created":{"type":"integer","title":"Created"},"owned_by":{"type":"string","title":"Owned By","default":"vlm-run"}},"type":"object","required":["id"],"title":"ChatModel"},"ChatThread":{"properties":{"session_id":{"type":"string","title":"Session Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"messages_count":{"type":"integer","title":"Messages Count"},"source":{"type":"string","title":"Source"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"is_pinned":{"type":"boolean","title":"Is Pinned"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_accessed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Accessed At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["session_id","messages_count","source","is_pinned","created_at"],"title":"ChatThread"},"CreditUsageResponse":{"properties":{"elements_processed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Elements Processed","description":"Number of elements processed."},"element_type":{"anyOf":[{"type":"string","enum":["image","page","video","audio"]},{"type":"null"}],"title":"Element Type","description":"The type of element processed (e.g. image, page, video, audio)."},"credits_used":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Credits Used","description":"Amount of total credits used."},"steps":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Steps","description":"Number of steps processed, in case of agentic execution."},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"The message from the credit usage job."},"duration_seconds":{"type":"integer","title":"Duration Seconds","description":"Duration of the request in seconds.","default":0},"service_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Tier","description":"Delivery tier (standard, priority, flex)."},"mode_multiplier":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mode Multiplier","description":"Pricing multiplier applied to standard cost."},"standard_cost_dollars":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Standard Cost Dollars","description":"Pre-multiplier customer cost in USD, derived from tokens and unit rates."},"cost_dollars":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost Dollars","description":"Effective customer cost in USD after the service-tier multiplier."},"savings_dollars":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Savings Dollars","description":"Discount in USD when using flex (standard_cost_dollars - cost_dollars)."}},"type":"object","title":"CreditUsageResponse","description":"Response model for credit usage metrics."},"DocumentFilePredictionRequest":{"properties":{"metadata":{"$ref":"#/components/schemas/RequestMetadata","description":"Optional metadata to pass to the model."},"config":{"$ref":"#/components/schemas/GenerationConfig","description":"The VLM generation config to be used for /<dtype>/generate."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"The URL of the file (provide either `file_id` or `url`)."},"file_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Id","description":"The ID of the uploaded file (provide either `file_id` or `url`)."},"id":{"type":"string","title":"Id","description":"Unique identifier of the request."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the request was created (in UTC timezone)"},"callback_url":{"anyOf":[{"type":"string","minLength":1,"format":"uri"},{"type":"null"}],"title":"Callback Url","description":"The URL to call when the request is completed."},"model":{"anyOf":[{"type":"string","enum":["vlm-1","vlm-1:auto","vlm-1:fast","vlm-1:pro"]},{"type":"string"}],"title":"Model","description":"The model to use for generating the response.","default":"vlm-1"},"domain":{"anyOf":[{"type":"string","enum":["document.invoice","document.markdown","document.receipt","document.resume","document.us-drivers-license","document.layout-detection","construction.blueprint","healthcare.patient-referral","healthcare.patient-identification","healthcare.physician-order","healthcare.claims-processing","healthcare.phi-redaction","healthcare.phi-edit-replace","healthcare.lab-report","healthcare.prior-authorization-request","healthcare.explanation-of-benefits"]},{"type":"string"},{"type":"null"}],"title":"Domain","description":"The domain identifier (e.g. `document.invoice`). Optional when a skill is provided via config.skills."},"batch":{"type":"boolean","title":"Batch","description":"Whether to process the document in batch mode (async).","default":true}},"type":"object","title":"DocumentFilePredictionRequest","description":"Request to the VLM API using a document (doc, docx, pptx, pdf)."},"DomainInfo":{"properties":{"domain":{"type":"string","title":"Domain","description":"The domain to get the info for."}},"type":"object","required":["domain"],"title":"DomainInfo","description":"Response model for the domain info: /v1/domains"},"FeedbackItem":{"properties":{"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id","description":"The unique identifier for the request."},"agent_execution_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Execution Id","description":"The unique identifier for the agent execution."},"chat_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Id","description":"The unique identifier for the chat."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the feedback was submitted (in UTC timezone)"},"response":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Response","description":"The updated response for the entity."},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","description":"The notes for the feedback."}},"type":"object","required":["created_at"],"title":"FeedbackItem"},"FeedbackListResponse":{"properties":{"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id","description":"The unique identifier for the request."},"agent_execution_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Execution Id","description":"The unique identifier for the agent execution."},"chat_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Id","description":"The unique identifier for the chat."},"items":{"items":{"$ref":"#/components/schemas/FeedbackItem"},"type":"array","title":"Items","description":"The list of feedback items for the entity."}},"type":"object","required":["items"],"title":"FeedbackListResponse","description":"Response model for feedback operations."},"FeedbackSubmitRequest":{"properties":{"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id","description":"The unique identifier for the request."},"agent_execution_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Execution Id","description":"The unique identifier for the agent execution."},"chat_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Id","description":"The unique identifier for the chat."},"response":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Response","description":"The updated response for the entity."},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","description":"The notes for the feedback."}},"type":"object","title":"FeedbackSubmitRequest","description":"Request model for submitting feedback."},"FeedbackSubmitResponse":{"properties":{"id":{"type":"string","title":"Id","description":"The unique identifier for the feedback."},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id","description":"The unique identifier for the request."},"agent_execution_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Execution Id","description":"The unique identifier for the agent execution."},"chat_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Id","description":"The unique identifier for the chat."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the feedback was submitted (in UTC timezone)"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","description":"The notes for the feedback."}},"type":"object","required":["id","created_at"],"title":"FeedbackSubmitResponse","description":"Response model for feedback operations."},"FileModel":{"properties":{"id":{"type":"string","title":"Id"},"bytes":{"type":"integer","title":"Bytes"},"purpose":{"anyOf":[{"type":"string","enum":["assistants","assistants_output","batch","batch_output","fine-tune","fine-tune-results","vision"]},{"type":"null"}],"title":"Purpose"},"filename":{"type":"string","title":"Filename"},"created_at":{"type":"integer","title":"Created At"},"object":{"type":"string","const":"file","title":"Object","default":"file"}},"type":"object","required":["id","bytes","purpose","filename"],"title":"FileModel"},"Function":{"properties":{"arguments":{"type":"string","title":"Arguments"},"name":{"type":"string","title":"Name"}},"type":"object","required":["arguments","name"],"title":"Function","description":"The function that the model called."},"GenerationConfig":{"properties":{"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Additional user instructions appended to the application or skill prompt for this request."},"detail":{"type":"string","enum":["auto","hi","lo"],"title":"Detail","description":"The detail level to use for processing multimodal data.","default":"auto"},"json_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Json Schema","description":"The overridden JSON schema to use for the model. To be used instead of the response model."},"skills":{"anyOf":[{"items":{"$ref":"#/components/schemas/AgentSkill"},"type":"array"},{"type":"null"}],"title":"Skills","description":"List of agent skills to enable for this generation request."},"gql_stmt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gql Stmt","description":"The GraphQL statement to use for the application. If provided, the response model will be generated from the GraphQL statement."},"max_retries":{"type":"integer","title":"Max Retries","description":"The maximum number of retries to use for the application.","default":1},"max_tokens":{"type":"integer","title":"Max Tokens","description":"The maximum number of tokens to use for the application.","default":65535},"temperature":{"type":"number","title":"Temperature","description":"The temperature to use for the application.","default":0.0},"confidence":{"type":"boolean","title":"Confidence","description":"Include confidence scores in the response (included in the `_metadata` field).","default":false},"grounding":{"type":"boolean","title":"Grounding","description":"Include grounding in the response (included in the `_metadata` field).","default":false},"keyframes":{"type":"boolean","title":"Keyframes","description":"Include keyframes in the video transcription response.","default":false},"video_segment_duration":{"anyOf":[{"type":"number","minimum":1.0},{"type":"null"}],"title":"Video Segment Duration","description":"Duration in seconds for each video segment when chunking a video for transcription. Defaults to 150.0s."},"video_frames_per_segment":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Video Frames Per Segment","description":"Number of frames to sample per video segment for captioning. Defaults to 8."},"video_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Model","description":"Model ID to use for video segment captioning (e.g. 'vlmrun-orion-1:fast'). When omitted, the server default is used."},"video_input_mode":{"anyOf":[{"type":"string","enum":["frames","native_video"]},{"type":"null"}],"title":"Video Input Mode","description":"How to pass video to the captioning model: 'frames' extracts N JPEG frames per segment, 'native_video' sends the mp4 clip directly via video_url for models with native video understanding. Defaults to 'native_video' for Qwen deployment models, 'frames' for others."},"video_transcribe_audio":{"type":"boolean","title":"Video Transcribe Audio","description":"When True, transcribe the audio track to align segment boundaries. When False (default), skip ASR and use fixed-duration video segments only (visual-only captioning).","default":false},"chat_context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Context","description":"Plain-text chat transcript (prior turns + current request) used to ground video captioning / transcription on what the user wants extracted."},"page_indices":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Page Indices","description":"0-indexed page indices to process for document files. If None, all pages are processed."},"use_context_cache":{"type":"boolean","title":"Use Context Cache","description":"Reuse cached representations of document/video content across calls. When True (default), the file is cached after the first call so repeated queries against the same file skip re-transmitting its contents. Set to False to always send the full content.","default":true},"service_tier":{"anyOf":[{"type":"string","enum":["auto","default","standard","flex","priority"]},{"type":"null"}],"title":"Service Tier","description":"Delivery tier for the request. 'standard'/'default' uses baseline rates, 'flex' applies a 50% discount with higher latency, 'priority' applies a 1.8x premium. When omitted (or 'auto'), the server default ('standard') applies. The chosen tier drives both billing and the latency/availability SLO."}},"type":"object","title":"GenerationConfig","description":"Request configuration for image/document/video generation."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HubDomainInfo":{"properties":{"domain":{"type":"string","title":"Domain","description":"The domain to get the info for."}},"type":"object","required":["domain"],"title":"HubDomainInfo","description":"Response model for the hub domain info: /v1/hub/domains"},"HubInfoResponse":{"properties":{"version":{"type":"string","title":"Version","description":"The version of the hub."}},"type":"object","required":["version"],"title":"HubInfoResponse"},"HubSchemaRequest":{"properties":{"config":{"$ref":"#/components/schemas/GenerationConfig","description":"The VLM generation config to be used for /<dtype>/generate."},"domain":{"type":"string","title":"Domain","description":"The domain to get the schema for (e.g. document.invoice)."}},"type":"object","required":["domain"],"title":"HubSchemaRequest","description":"Request model for the hub schema: /v1/hub/schema"},"HubSchemaResponse":{"properties":{"domain":{"type":"string","title":"Domain","description":"The domain to get the schema for."},"description":{"type":"string","title":"Description","description":"The description of the domain."},"schema_version":{"type":"string","title":"Schema Version","description":"The specific version of the schema."},"schema_hash":{"type":"string","title":"Schema Hash","description":"The sha256 hash of the schema."},"gql_stmt":{"type":"string","title":"Gql Stmt","description":"The GraphQL statement for the domain."},"json_schema":{"additionalProperties":true,"type":"object","title":"Json Schema","description":"The JSON schema for the domain."},"json_sample":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Json Sample","description":"A sample JSON object that matches the schema."}},"type":"object","required":["domain","description","schema_version","schema_hash","gql_stmt","json_schema"],"title":"HubSchemaResponse","description":"Response model for the hub schema: /v1/hub/schema"},"ImagePredictionRequest":{"properties":{"metadata":{"$ref":"#/components/schemas/RequestMetadata","description":"Optional metadata to pass to the model."},"config":{"$ref":"#/components/schemas/GenerationConfig","description":"The VLM generation config to be used for /<dtype>/generate."},"id":{"type":"string","title":"Id","description":"Unique identifier of the request."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the request was created (in UTC timezone)"},"callback_url":{"anyOf":[{"type":"string","minLength":1,"format":"uri"},{"type":"null"}],"title":"Callback Url","description":"The URL to call when the request is completed."},"images":{"items":{"type":"string"},"type":"array","title":"Images","description":"List of base64 encoded images or URLs to the images."},"model":{"anyOf":[{"type":"string","enum":["vlm-1","vlm-1:auto","vlm-1:fast","vlm-1:pro"]},{"type":"string"}],"title":"Model","description":"The model to use for generating the response.","default":"vlm-1"},"domain":{"anyOf":[{"type":"string","enum":["aerospace.remote-sensing","document.invoice","document.markdown","document.receipt","document.resume","image.caption","image.object-detection","image.person-detection","retail.product-catalog"]},{"type":"string","enum":["document.invoice","document.markdown","document.receipt","document.resume","document.us-drivers-license","document.layout-detection","construction.blueprint","healthcare.patient-referral","healthcare.patient-identification","healthcare.physician-order","healthcare.claims-processing","healthcare.phi-redaction","healthcare.phi-edit-replace","healthcare.lab-report","healthcare.prior-authorization-request","healthcare.explanation-of-benefits"]},{"type":"string"},{"type":"null"}],"title":"Domain","description":"The domain identifier (e.g. `image.caption`). Optional when a skill is provided via config.skills."},"batch":{"type":"boolean","title":"Batch","description":"Whether to process the image in batch mode (async).","default":false}},"type":"object","required":["images"],"title":"ImagePredictionRequest","description":"Request to the VLM API (i.e. structured prediction)."},"InlineSkillSource":{"properties":{"type":{"type":"string","const":"base64","title":"Type","description":"Encoding type for the inline skill data. Currently only 'base64' is supported.","default":"base64"},"media_type":{"type":"string","title":"Media Type","description":"MIME type of the skill bundle. Must be 'application/zip'.","default":"application/zip"},"data":{"type":"string","title":"Data","description":"Base64-encoded zip bundle containing the skill files."}},"type":"object","required":["data"],"title":"InlineSkillSource","description":"Source payload for an inline skill bundle.\n\nFollows the OpenAI inline skill format::\n\n    {\n        \"type\": \"base64\",\n        \"media_type\": \"application/zip\",\n        \"data\": \"<base64-encoded-zip>\"\n    }"},"JSONModeResponseFormat":{"properties":{"type":{"type":"string","const":"json_object","title":"Type","default":"json_object"}},"type":"object","title":"JSONModeResponseFormat","description":"Response format for JSON object mode as per Fireworks AI specification."},"JSONSchemaResponseFormat":{"properties":{"type":{"type":"string","const":"json_schema","title":"Type","default":"json_schema"},"schema":{"additionalProperties":true,"type":"object","title":"Schema","description":"JSON schema definition"}},"type":"object","required":["schema"],"title":"JSONSchemaResponseFormat","description":"Response format for JSON schema mode as per Fireworks AI specification."},"JSONSchemaResponseFormatStrict":{"properties":{"type":{"type":"string","const":"json_schema","title":"Type","default":"json_schema"},"json_schema":{"additionalProperties":true,"type":"object","title":"Json Schema","description":"JSON schema definition"},"name":{"type":"string","title":"Name","description":"The name of the JSON schema"},"strict":{"type":"boolean","title":"Strict","description":"Whether to use strict mode for the JSON schema","default":true}},"type":"object","required":["json_schema","name"],"title":"JSONSchemaResponseFormatStrict","description":"Response format for JSON schema mode as per Fireworks AI specification."},"Message":{"properties":{"role":{"type":"string","enum":["user","assistant","system","developer","tool"],"title":"Role","default":"user"},"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/components/schemas/MessageContent"},"type":"array"},{"type":"null"}],"title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"tool_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool Call Id"},"tool_calls":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionMessageFunctionToolCallParam"},"type":"array"},{"type":"null"}],"title":"Tool Calls"}},"type":"object","title":"Message"},"MessageContent":{"properties":{"type":{"type":"string","enum":["text","image_url","video_url","audio_url","file_url","input_file"],"title":"Type"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"image_url":{"anyOf":[{"$ref":"#/components/schemas/MessageContentImageUrl"},{"type":"string"},{"type":"null"}],"title":"Image Url"},"video_url":{"anyOf":[{"$ref":"#/components/schemas/MessageContentVideoUrl"},{"type":"null"}]},"audio_url":{"anyOf":[{"$ref":"#/components/schemas/MessageContentAudioUrl"},{"type":"null"}]},"file_url":{"anyOf":[{"$ref":"#/components/schemas/MessageContentFileUrl"},{"type":"null"}]},"file_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Id"}},"type":"object","required":["type"],"title":"MessageContent"},"MessageContentAudioUrl":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"MessageContentAudioUrl"},"MessageContentFileUrl":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"MessageContentFileUrl"},"MessageContentImageUrl":{"properties":{"url":{"type":"string","title":"Url"},"detail":{"type":"string","enum":["auto","low","high"],"title":"Detail","default":"auto"}},"type":"object","required":["url"],"title":"MessageContentImageUrl"},"MessageContentVideoUrl":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"MessageContentVideoUrl"},"Model":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ChatModel"},"type":"array","title":"Data"},"object":{"type":"string","title":"Object","default":"list"}},"type":"object","required":["data"],"title":"Model"},"ModelInfo":{"properties":{"domain":{"type":"string","title":"Domain","description":"The domain to get the info for."},"model":{"anyOf":[{"type":"string","enum":["vlm-1","vlm-1:auto","vlm-1:fast","vlm-1:pro"]},{"type":"string"}],"title":"Model","description":"The model identifier.","default":"vlm-1"}},"type":"object","required":["domain"],"title":"ModelInfo","description":"Response model for the model info: /v1/models"},"OptimizeSkillRequest":{"properties":{"skill_id":{"type":"string","title":"Skill Id","description":"Skill ID (UUID) to optimize"},"skill_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skill Ids","description":"Additional skill IDs whose executions should be included in the evaluation data."},"data_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data From","description":"ISO date filter start"},"data_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data To","description":"ISO date filter end"},"infer_corrections":{"type":"boolean","title":"Infer Corrections","description":"Use LLM to produce corrected JSON from notes-only feedback.","default":true},"n_samples":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"N Samples","description":"Number of response/correction pairs to randomly sample for the LLM optimization.","default":30}},"type":"object","required":["skill_id"],"title":"OptimizeSkillRequest","description":"Request body for POST /evaluations/optimize."},"OptimizeSkillResponse":{"properties":{"skill_id":{"type":"string","title":"Skill Id","description":"ID of the newly created optimized skill"},"name":{"type":"string","title":"Name","description":"Skill name (same as the original)"},"version":{"type":"string","title":"Version","description":"Auto-generated version for the new skill"},"original_skill_id":{"type":"string","title":"Original Skill Id","description":"ID of the original skill that was optimized"},"total_pairs":{"type":"integer","title":"Total Pairs","description":"Number of response/correction pairs available"},"sampled_pairs":{"type":"integer","title":"Sampled Pairs","description":"Number of pairs actually sent to the LLM"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Creation timestamp of the new skill"}},"type":"object","required":["skill_id","name","version","original_skill_id","total_pairs","sampled_pairs","created_at"],"title":"OptimizeSkillResponse","description":"Response for POST /evaluations/optimize."},"PredictionDomainInfo":{"properties":{"domain":{"type":"string","title":"Domain","description":"The domain to get the info for."},"model":{"type":"string","title":"Model","description":"The model used for the prediction."},"type":{"type":"string","title":"Type","description":"The type of prediction (file, image, etc.)."},"status":{"type":"string","title":"Status","description":"The status of the prediction."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the prediction was created."}},"type":"object","required":["domain","model","type","status","created_at"],"title":"PredictionDomainInfo","description":"Response model for prediction domain info: /v1/predictions/{id}/domain"},"PredictionResponse":{"properties":{"usage":{"$ref":"#/components/schemas/CreditUsageResponse","description":"The usage metrics for the request."},"id":{"type":"string","title":"Id","description":"Unique identifier of the response."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the request was created (in UTC timezone)"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At","description":"Date and time when the response was completed (in UTC timezone)"},"response":{"anyOf":[{},{"type":"null"}],"title":"Response","description":"The response from the model. May be an empty dict/list when the model found no extractable content (valid for status=completed)."},"status":{"type":"string","enum":["pending","enqueued","running","completed","failed","paused"],"title":"Status","description":"The status of the job.","default":"pending"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain","description":"The domain of the prediction (e.g. document.invoice, image.caption)."},"fallback":{"type":"boolean","title":"Fallback","description":"True when the JSON was produced by a fallback model. False when the primary model succeeded.","default":false}},"type":"object","title":"PredictionResponse","description":"Base prediction response for all API responses."},"PresignedUrlRequest":{"properties":{"filename":{"type":"string","title":"Filename","description":"Name of the file to be uploaded"},"purpose":{"type":"string","enum":["assistants","batch","fine-tune","vision","datasets"],"title":"Purpose","description":"Purpose of the file","default":"assistants"}},"type":"object","required":["filename"],"title":"PresignedUrlRequest","description":"Request for generating a presigned URL for file upload."},"PresignedUrlResponse":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Unique identifier of the file"},"filename":{"type":"string","title":"Filename","description":"The filename of the file"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type","description":"Content type of the file"},"url":{"type":"string","title":"Url","description":"The presigned URL for uploading the file"},"upload_method":{"type":"string","title":"Upload Method","description":"HTTP method to use for uploading","default":"PUT"},"public_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Url","description":"URL for previewing the file after upload"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the file was created (in UTC timezone)"}},"type":"object","required":["filename","url"],"title":"PresignedUrlResponse","description":"Response containing a presigned URL for file upload."},"RequestMetadata":{"properties":{"environment":{"type":"string","enum":["dev","staging","prod"],"title":"Environment","description":"The environment where the request was made.","default":"dev"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"The session ID of the request"},"allow_logging":{"type":"boolean","title":"Allow Logging","description":"Whether to enable logs for this request.","default":true},"allow_training":{"type":"boolean","title":"Allow Training","description":"Whether the file can be used for training","default":true},"allow_retention":{"type":"boolean","title":"Allow Retention","description":"Whether to allow retention of the data","default":true},"extra":{"additionalProperties":true,"type":"object","title":"Extra","description":"Extra metadata for the request (e.g. `dataset_id`, `subset_id`)."}},"type":"object","title":"RequestMetadata","description":"Metadata for the request.\n\nTypically captured in {\"vlmrun\": {\"metadata\": {\"environment\": <environment>, ...}}."},"RerunRequest":{"properties":{"evaluation_id":{"type":"string","title":"Evaluation Id","description":"Existing evaluation run ID to rerun against"},"skill_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skill Id","description":"New skill ID to evaluate. If omitted, the source skill is optimized first."},"evaluators":{"anyOf":[{"items":{"type":"string","enum":["field_accuracy","fuzzy_field_match","llm_judge","equals_expected"]},"type":"array"},{"type":"null"}],"title":"Evaluators","description":"Evaluators to run on the re-processed responses. When omitted, inherited from the original run's stored config (falls back to ['field_accuracy'] for legacy runs without config)."},"infer_corrections":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Infer Corrections","description":"Use LLM to produce corrected JSON from notes-only feedback. When omitted, inherited from the original run's stored config (defaults to True for legacy runs)."},"n_samples":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"N Samples","description":"Number of response/correction pairs to sample when auto-optimizing.","default":30},"fields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Fields","description":"Restrict evaluation to these field names (top-level keys or dotted leaf-path prefixes, e.g. ['name', 'address', 'items']). When omitted, inherited from the original run's stored config (defaults to all fields for legacy runs)."},"skip_null_expected":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Null Expected","description":"When true, fields where the ground-truth (expected) value is null are excluded from evaluation. When omitted, inherited from the original run's stored config (defaults to True for legacy runs)."},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Model to use when re-running inference (e.g. 'vlmrun-orion-2:pro'). When omitted, uses the model from the original requests. If results for this model already exist on the target skill, inference is skipped and the evaluation runs directly on those existing results."}},"type":"object","required":["evaluation_id"],"title":"RerunRequest","description":"Request body for POST /evaluations/rerun.\n\nTakes an existing evaluation run and optionally a new skill ID. If\n``skill_id`` is omitted the source skill is first optimized and a new\nskill is created automatically. The endpoint returns immediately with\nthe skill ID while processing continues in the background."},"RerunResponse":{"properties":{"evaluation_id":{"type":"string","title":"Evaluation Id","description":"ID of the new evaluation run"},"skill_id":{"type":"string","title":"Skill Id","description":"Skill ID being used for the rerun"},"status":{"type":"string","title":"Status","description":"Status of the evaluation run; always 'running' on return. Poll by ID for 'completed' or 'failed'.","default":"running"}},"type":"object","required":["evaluation_id","skill_id"],"title":"RerunResponse","description":"Response for POST /evaluations/rerun — returned immediately."},"RunEvaluationRequest":{"properties":{"source_type":{"type":"string","title":"Source Type","description":"'agent', 'request_domain', or 'skill'"},"source_id":{"type":"string","title":"Source Id","description":"Agent ID, domain name, or skill ID"},"source_label":{"type":"string","title":"Source Label","description":"Display label for the source"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Model used to produce the evaluated responses (e.g. 'vlmrun-orion-1:fast'). Stored with the run and reported in the performance section."},"execution_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Execution Ids","description":"Agent execution IDs to evaluate"},"request_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Request Ids","description":"Request IDs to evaluate"},"skill_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skill Ids","description":"Skill IDs to evaluate"},"data_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data From","description":"ISO date filter start"},"data_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data To","description":"ISO date filter end"},"evaluators":{"items":{"type":"string","enum":["field_accuracy","fuzzy_field_match","llm_judge","equals_expected"]},"type":"array","title":"Evaluators","description":"Evaluators to run; each produces its own section in the response.","default":["field_accuracy"]},"infer_corrections":{"type":"boolean","title":"Infer Corrections","description":"Use LLM to produce corrected JSON from notes-only feedback.","default":true},"fields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Fields","description":"Restrict evaluation to these field names (top-level keys or dotted leaf-path prefixes, e.g. ['name', 'address', 'items']). When omitted, all fields are evaluated."},"skip_null_expected":{"type":"boolean","title":"Skip Null Expected","description":"When true (default), fields where the ground-truth (expected) value is null are excluded from evaluation. This avoids penalizing the model for extracting values that the ground-truth left empty.","default":true}},"type":"object","required":["source_type","source_id","source_label"],"title":"RunEvaluationRequest","description":"Request body for POST /evaluations/run."},"SchemaRequest":{"properties":{"config":{"$ref":"#/components/schemas/GenerationConfig","description":"The VLM generation config to be used for /<dtype>/generate."},"domain":{"type":"string","title":"Domain","description":"The domain to get the schema for (e.g. document.invoice)."}},"type":"object","required":["domain"],"title":"SchemaRequest","description":"Schema request model for internal schemas: /v1/schema"},"SchemaResponse":{"properties":{"domain":{"type":"string","title":"Domain","description":"The domain to get the schema for."},"description":{"type":"string","title":"Description","description":"The description of the domain."},"schema_version":{"type":"string","title":"Schema Version","description":"The specific version of the schema."},"schema_hash":{"type":"string","title":"Schema Hash","description":"The sha256 hash of the schema."},"gql_stmt":{"type":"string","title":"Gql Stmt","description":"The GraphQL statement for the domain."},"json_schema":{"additionalProperties":true,"type":"object","title":"Json Schema","description":"The JSON schema for the domain."},"json_sample":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Json Sample","description":"A sample JSON object that matches the schema."}},"type":"object","required":["domain","description","schema_version","schema_hash","gql_stmt","json_schema"],"title":"SchemaResponse","description":"Response model for internal schemas (/v1/schema)"},"SkillCreateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Name","description":"Name of the skill (required for file_id, auto-generated for prompt/session_id)"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the skill (required for file_id, auto-generated for prompt/session_id)"},"file_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Id","description":"File ID from file upload API (the uploaded skill zip)"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Prompt text that becomes the SKILL.md body (auto-generates skill zip)"},"json_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Json Schema","description":"JSON schema that becomes schema.json in the skill zip"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"Chat session ID to retrieve chat history as the prompt"},"is_public":{"type":"boolean","title":"Is Public","description":"Whether the skill is publicly accessible","default":false}},"type":"object","title":"SkillCreateRequest","description":"Request to create a skill.\n\nThree creation modes (provide exactly one):\nA. file_id: Create from a pre-built skill zip uploaded via POST /v1/files.\nB. prompt (+ optional json_schema): Auto-generate SKILL.md and schema.json.\nC. session_id: Retrieve chat history and auto-generate SKILL.md from messages.\n\nFor mode A (file_id), name and description are required.\nFor modes B (prompt) and C (session_id), name and description are optional —\nif omitted, they are auto-generated by the LLM from the content."},"SkillCreateResponse":{"properties":{"id":{"type":"string","title":"Id","description":"ID of the created skill"},"name":{"type":"string","title":"Name","description":"Name of the skill (may differ from request if LLM-generated)"},"description":{"type":"string","title":"Description","description":"Description of the skill (may differ from request if LLM-generated)"},"skill_version":{"type":"string","title":"Skill Version","description":"Auto-generated version of the skill (e.g. '20260512-abc12345')"},"status":{"type":"string","title":"Status","description":"Status of the skill creation","default":"completed"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the skill was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the skill was updated"}},"type":"object","required":["id","name","description","skill_version","created_at","updated_at"],"title":"SkillCreateResponse","description":"Response for skill creation."},"SkillDownloadResponse":{"properties":{"id":{"type":"string","title":"Id","description":"Skill ID"},"name":{"type":"string","title":"Name","description":"Skill name"},"skill_version":{"type":"string","title":"Skill Version","description":"Skill version"},"download_url":{"type":"string","title":"Download Url","description":"Presigned URL for downloading the skill zip"},"expires_in":{"type":"integer","title":"Expires In","description":"URL expiration time in seconds"}},"type":"object","required":["id","name","skill_version","download_url","expires_in"],"title":"SkillDownloadResponse","description":"Response with presigned download URL for a skill."},"SkillInfoResponse":{"properties":{"id":{"type":"string","title":"Id","description":"Unique skill identifier"},"name":{"type":"string","title":"Name","description":"Name of the skill"},"description":{"type":"string","title":"Description","description":"Description of the skill"},"skill_version":{"type":"string","title":"Skill Version","description":"Version of the skill","default":"latest"},"skill_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skill Uri","description":"GCS URI of the skill zip file"},"is_public":{"type":"boolean","title":"Is Public","description":"Whether the skill is publicly accessible","default":false},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"Date and time when the skill was created"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","description":"Date and time when the skill was updated"}},"type":"object","required":["id","name","description"],"title":"SkillInfoResponse","description":"Skill information response."},"SkillLookupRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"The name of the skill (e.g. 'pillow', 'batch-processing')"},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"The ID of the skill (UUID)"},"skill_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skill Version","description":"Skill version to look up (e.g. '20260219-abc123'). When provided with name, filters by exact version instead of returning latest."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"DEPRECATED: Use 'skill_version' instead."}},"type":"object","title":"SkillLookupRequest","description":"Request to lookup a skill."},"SkillUpdateRequest":{"properties":{"file_id":{"type":"string","title":"File Id","description":"File ID from file upload API (the new skill zip)"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Updated description of the skill"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public","description":"Updated public accessibility"}},"type":"object","required":["file_id"],"title":"SkillUpdateRequest","description":"Request to update a skill."},"StoreFileResponse":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Unique identifier of the file"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filename","description":"Name of the file"},"bytes":{"type":"integer","title":"Bytes","description":"Size of the file in bytes"},"purpose":{"type":"string","enum":["assistants","batch","fine-tune","vision","datasets"],"title":"Purpose","description":"Purpose of the file"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the file was created (in UTC timezone)"},"object":{"type":"string","const":"file","title":"Object","description":"Type of the file","default":"file"},"public_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Url","description":"Presigned URL of the file"}},"type":"object","required":["filename","bytes","purpose"],"title":"StoreFileResponse","description":"Response to the file upload API."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VideoPredictionRequest":{"properties":{"metadata":{"$ref":"#/components/schemas/RequestMetadata","description":"Optional metadata to pass to the model."},"config":{"$ref":"#/components/schemas/GenerationConfig","description":"The VLM generation config to be used for /<dtype>/generate."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"The URL of the file (provide either `file_id` or `url`)."},"file_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Id","description":"The ID of the uploaded file (provide either `file_id` or `url`)."},"id":{"type":"string","title":"Id","description":"Unique identifier of the request."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the request was created (in UTC timezone)"},"callback_url":{"anyOf":[{"type":"string","minLength":1,"format":"uri"},{"type":"null"}],"title":"Callback Url","description":"The URL to call when the request is completed."},"model":{"anyOf":[{"type":"string","enum":["vlm-1","vlm-1:auto","vlm-1:fast","vlm-1:pro"]},{"type":"string"}],"title":"Model","description":"The model to use for generating the response.","default":"vlm-1"},"domain":{"anyOf":[{"type":"string","enum":["video.transcription","video.transcription-summary","video.summary"]},{"type":"string"},{"type":"null"}],"title":"Domain","description":"The domain identifier for the model (e.g. `video.transcription`). Optional when a skill is provided via config.skills."},"batch":{"type":"boolean","title":"Batch","description":"Whether to process the document in batch mode (async).","default":true}},"type":"object","title":"VideoPredictionRequest","description":"Request to the Video API (i.e. structured prediction)."}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}