{"openapi":"3.1.0","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"RenderFox API","version":"1.0.0","description":"Генерация текста, изображений и видео с оплатой в FC. Модели, параметры и тарифы доступны в каталоге."},"servers":[{"url":"https://api.renderfox.ru/v1","description":"RenderFox API"}],"paths":{"/models":{"get":{"operationId":"listModels","summary":"Canonical allowed LLM and media models","security":[{"BearerKey":[]}],"x-renderfox-scope":"models:read","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"object":{"const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Model"}}},"required":["object","data"],"additionalProperties":false}}}}}}},"/models/{model_id}":{"get":{"operationId":"retrieveModel","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"models:read","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Model"}}}}},"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/chat/completions":{"post":{"operationId":"chatCompletion","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"chat:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletion"}},"text/event-stream":{"schema":{"type":"string"}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","minItems":1,"maxItems":400,"items":{"type":"object","properties":{"role":{"enum":["system","developer","user","assistant","tool"]},"content":{"oneOf":[{"type":"string"},{"type":"null"},{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"const":"text"},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"const":"image_url"},"image_url":{"type":"object","properties":{"url":{"type":"string","description":"Validated PNG/JPEG/WebP data URL; external URLs rejected"},"file_id":{"type":"string","description":"RenderFox owned file extension"},"detail":{"enum":["auto","low","high"]}},"required":[],"additionalProperties":false,"oneOf":[{"required":["url"]},{"required":["file_id"]}]}},"required":["type","image_url"],"additionalProperties":false}]}}]},"tool_call_id":{"type":"string"},"tool_calls":{"type":"array","maxItems":64,"items":{"type":"object"}}},"required":["role","content"],"additionalProperties":false}},"max_tokens":{"type":"integer","minimum":1},"max_completion_tokens":{"type":"integer","minimum":1},"temperature":{"type":"number"},"top_p":{"type":"number"},"stream":{"type":"boolean"},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}},"required":[],"additionalProperties":false},"tools":{"type":"array","maxItems":64,"items":{"type":"object"}},"tool_choice":{"oneOf":[{"type":"string"},{"type":"object"}]},"parallel_tool_calls":{"type":"boolean"},"response_format":{"type":"object"},"reasoning_effort":{"type":"string"},"thinking":{"type":"object","properties":{"type":{"enum":["enabled","disabled"]}},"required":["type"],"additionalProperties":false},"n":{"const":1}},"required":["model","messages"],"additionalProperties":false}}}},"x-renderfox-vision":"Use model.capabilities.vision_by_protocol; bounded data URLs or owned file IDs; external URLs rejected before reserve"}},"/responses":{"post":{"operationId":"createResponse","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"responses:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"text/event-stream":{"schema":{"type":"string"}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"oneOf":[{"type":"string"},{"type":"array","minItems":1,"maxItems":400,"items":{"type":"object"}}]},"instructions":{"type":["string","null"]},"stream":{"type":"boolean"},"stream_options":{"type":"object"},"tools":{"type":"array","maxItems":64,"items":{"type":"object"}},"tool_choice":{"oneOf":[{"type":"string"},{"type":"object"}]},"parallel_tool_calls":{"type":"boolean"},"reasoning":{"type":"object"},"store":{"type":"boolean"},"include":{"type":"array","items":{"const":"reasoning.encrypted_content"}},"prompt_cache_key":{"type":"string","maxLength":512},"text":{"type":"object"},"client_metadata":{"type":"object"},"max_output_tokens":{"type":"integer","minimum":1},"temperature":{"type":"number"},"top_p":{"type":"number"},"previous_response_id":{"type":"string"},"metadata":{"type":"object"},"background":{"const":false},"truncation":{"const":"disabled"},"service_tier":{"enum":["auto","default"]}},"required":["model","input"],"additionalProperties":false}}}},"x-renderfox-vision":"Use model.capabilities.vision_by_protocol; bounded data URLs or owned file IDs; external URLs rejected before reserve"}},"/responses/{response_id}":{"get":{"operationId":"retrieveResponse","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"responses:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}}},"parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"operationId":"deleteResponse","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"responses:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"204":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}}}},"parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/messages":{"post":{"operationId":"createMessage","summary":"Anthropic Messages with model-specific tools, streaming and vision capabilities","security":[{"BearerKey":[]},{"AnthropicKey":[]}],"x-renderfox-scope":"messages:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesError"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Message"}},"text/event-stream":{"schema":{"type":"string"}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}},{"name":"anthropic-version","in":"header","required":true,"schema":{"const":"2023-06-01"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"max_tokens":{"type":"integer","minimum":1},"messages":{"type":"array","minItems":1,"maxItems":400,"items":{"type":"object"}},"system":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"object"}}]},"stream":{"type":"boolean"},"temperature":{"type":"number"},"top_p":{"type":"number"},"tools":{"type":"array","maxItems":64,"items":{"type":"object"}},"tool_choice":{"type":"object"},"thinking":{"type":"object"},"output_config":{"type":"object"},"metadata":{"type":"object"},"stop_sequences":{"type":"array","maxItems":4,"items":{"type":"string","minLength":1,"maxLength":256}},"service_tier":{"enum":["auto","standard_only"]}},"required":["model","max_tokens","messages"],"additionalProperties":false}}}},"x-renderfox-vision":"Use model.capabilities.vision_by_protocol; bounded data URLs or owned file IDs; external URLs rejected before reserve"}},"/images/generations":{"post":{"operationId":"generateImage","summary":"Exact canonical size; b64_json original;60s timeout retains durable job","security":[{"BearerKey":[]}],"x-renderfox-scope":"images:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImagesResponse"}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"prompt":{"type":"string"},"size":{"type":"string"},"quality":{"enum":["auto","low","medium","high","xhigh","max"]},"background":{"enum":["auto","opaque","transparent"]},"output_format":{"enum":["png","jpeg","webp","gif"]},"n":{"const":1},"response_format":{"const":"b64_json"}},"required":["model","prompt"],"additionalProperties":false}}}}}},"/images/edits":{"post":{"operationId":"editImage","summary":"Multipart requires files:write too;20MiB total; no mask/markup","security":[{"BearerKey":[]}],"x-renderfox-scope":"images:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImagesResponse"}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"prompt":{"type":"string"},"size":{"type":"string"},"quality":{"enum":["auto","low","medium","high","xhigh","max"]},"background":{"enum":["auto","opaque","transparent"]},"output_format":{"enum":["png","jpeg","webp","gif"]},"n":{"const":1},"response_format":{"const":"b64_json"},"image":{"oneOf":[{"type":"string"},{"type":"array","minItems":1,"maxItems":16,"items":{"type":"string"}}]}},"required":["model","prompt","image"],"additionalProperties":false}},"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string"},"prompt":{"type":"string"},"size":{"type":"string"},"quality":{"enum":["auto","low","medium","high","xhigh","max"]},"background":{"enum":["auto","opaque","transparent"]},"output_format":{"enum":["png","jpeg","webp","gif"]},"n":{"const":1},"response_format":{"const":"b64_json"},"image":{"oneOf":[{"type":"string","format":"binary"},{"type":"array","minItems":1,"maxItems":16,"items":{"type":"string","format":"binary"}}]}},"required":["model","prompt","image"],"additionalProperties":false}}}}}},"/files":{"post":{"operationId":"uploadFile","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"files:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"201":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}}}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"purpose":{"const":"generation"},"role":{"type":"string"}},"required":["file"],"additionalProperties":false}}}}}},"/files/{file_id}":{"get":{"operationId":"retrieveFile","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"files:read","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}}}},"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"operationId":"deleteFile","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"files:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/files/{file_id}/content":{"get":{"operationId":"getFileContent","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"files:read","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"206":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"416":{"description":"Unsatisfiable byte range"}},"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Range","in":"header","schema":{"type":"string"}}]},"head":{"operationId":"headFileContent","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"files:read","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{}},"206":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{}},"416":{"description":"Unsatisfiable byte range"}},"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Range","in":"header","schema":{"type":"string"}}]}},"/generations/quote":{"post":{"operationId":"quoteGeneration","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"generations:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"mode":{"type":"string"},"prompt":{"type":"string"},"settings":{"type":"object"},"inputs":{"type":"object","maxProperties":16,"additionalProperties":{"oneOf":[{"type":"string"},{"type":"array","maxItems":64,"items":{"type":"string"}}]}},"expected_quote":{"type":"object","properties":{"price_mfc":{"type":"integer","minimum":1},"catalog_release_id":{"type":["integer","string"]},"quote_fingerprint":{"type":"string"}},"required":["price_mfc","catalog_release_id","quote_fingerprint"],"additionalProperties":false}},"required":["model"],"additionalProperties":false}}}}}},"/generations":{"post":{"operationId":"createGeneration","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"generations:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"201":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Generation"}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"mode":{"type":"string"},"prompt":{"type":"string"},"settings":{"type":"object"},"inputs":{"type":"object","maxProperties":16,"additionalProperties":{"oneOf":[{"type":"string"},{"type":"array","maxItems":64,"items":{"type":"string"}}]}},"expected_quote":{"type":"object","properties":{"price_mfc":{"type":"integer","minimum":1},"catalog_release_id":{"type":["integer","string"]},"quote_fingerprint":{"type":"string"}},"required":["price_mfc","catalog_release_id","quote_fingerprint"],"additionalProperties":false}},"required":["model"],"additionalProperties":false}}}}}},"/generations/{public_id}":{"get":{"operationId":"retrieveGeneration","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"origin operation scope","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Generation"}}}}},"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/generations/{public_id}/content/{index}":{"get":{"operationId":"getGenerationContent","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"origin operation scope","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"206":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"416":{"description":"Unsatisfiable byte range"}},"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"index","in":"path","required":true,"schema":{"type":"integer","minimum":0,"maximum":100}},{"name":"Range","in":"header","schema":{"type":"string"}}]},"head":{"operationId":"headGenerationContent","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"origin operation scope","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{}},"206":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{}},"416":{"description":"Unsatisfiable byte range"}},"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"index","in":"path","required":true,"schema":{"type":"integer","minimum":0,"maximum":100}},{"name":"Range","in":"header","schema":{"type":"string"}}]}},"/generations/{public_id}/cancel":{"post":{"operationId":"cancelGeneration","summary":"Accepted generations cannot currently be cancelled;409, no refund promise","security":[{"BearerKey":[]}],"x-renderfox-scope":"origin operation scope","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/videos":{"post":{"operationId":"createVideo","summary":"RenderFox async video shape; explicit mode; not full OpenAI video wire compatibility","security":[{"BearerKey":[]}],"x-renderfox-scope":"videos:write","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"201":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Generation"}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"mode":{"type":"string"},"prompt":{"type":"string"},"settings":{"type":"object"},"inputs":{"type":"object","maxProperties":16,"additionalProperties":{"oneOf":[{"type":"string"},{"type":"array","maxItems":64,"items":{"type":"string"}}]}},"expected_quote":{"type":"object","properties":{"price_mfc":{"type":"integer","minimum":1},"catalog_release_id":{"type":["integer","string"]},"quote_fingerprint":{"type":"string"}},"required":["price_mfc","catalog_release_id","quote_fingerprint"],"additionalProperties":false}},"required":["model"],"additionalProperties":false}}}}}},"/videos/{public_id}":{"get":{"operationId":"retrieveVideo","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"origin operation scope","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Generation"}}}}},"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/videos/{public_id}/content":{"get":{"operationId":"getVideoContent","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"origin operation scope","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"206":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"416":{"description":"Unsatisfiable byte range"}},"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Range","in":"header","schema":{"type":"string"}}]},"head":{"operationId":"headVideoContent","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"origin operation scope","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{}},"206":{"description":"Owner-authorized original bytes; MIME measured by canonical storage","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Accept-Ranges":{"schema":{"const":"bytes"}},"Content-Length":{"schema":{"type":"string"}}},"content":{}},"416":{"description":"Unsatisfiable byte range"}},"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Range","in":"header","schema":{"type":"string"}}]}},"/requests/{request_id}":{"get":{"operationId":"retrieveRequest","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"origin operation scope","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/usage":{"get":{"operationId":"retrieveUsage","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"usage:read","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"start","in":"query","schema":{"type":"integer","minimum":0}},{"name":"end","in":"query","schema":{"type":"integer","minimum":0}}]}},"/limits":{"get":{"operationId":"retrieveLimits","summary":"","security":[{"BearerKey":[]}],"x-renderfox-scope":"usage:read","responses":{"400":{"description":"Invalid JSON or credential placement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid/expired/revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Insufficient wallet or hard key budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope/model/IP not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found for this owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency/state/quote conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body/file too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unsupported/invalid request or model capability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate/concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Redacted internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Provider/output failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Gateway/route unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Accepted job still pending or upstream deadline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"200":{"description":"Success","headers":{"X-Request-ID":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"securitySchemes":{"BearerKey":{"type":"http","scheme":"bearer"},"AnthropicKey":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"code":{"type":"string"},"param":{"type":["string","null"]},"request_id":{"type":"string"},"generation_id":{"type":"string"}},"required":["message","type","code","param","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"MessagesError":{"type":"object","properties":{"type":{"const":"error"},"error":{"type":"object","properties":{"type":{"type":"string"},"message":{"type":"string"}},"required":["type","message"],"additionalProperties":false},"request_id":{"type":"string"}},"required":["type","error","request_id"],"additionalProperties":false},"Model":{"type":"object","properties":{"id":{"type":"string"},"object":{"const":"model"},"created":{"type":"integer","minimum":0},"owned_by":{"type":"string"},"name":{"type":"string"},"category":{"type":"string"},"supported_apis":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"object"},"limits":{"type":"object"},"pricing":{"type":"object"},"parameters":{"type":"object"},"verification":{"type":"object"},"catalog_snapshot":{"type":"string"}},"required":["id","object","created","owned_by","supported_apis","capabilities","pricing","catalog_snapshot"],"additionalProperties":true},"ChatCompletion":{"type":"object","properties":{"id":{"type":"string"},"object":{"const":"chat.completion"},"created":{"type":"integer","minimum":0},"model":{"type":"string"},"choices":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"object","properties":{"index":{"const":0},"message":{"type":"object"},"finish_reason":{"enum":["stop","length","tool_calls","content_filter"]}},"required":["index","message","finish_reason"],"additionalProperties":false}},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"integer","minimum":0},"completion_tokens":{"type":"integer","minimum":0},"total_tokens":{"type":"integer","minimum":0},"prompt_tokens_details":{"type":"object"},"completion_tokens_details":{"type":"object"}},"required":["prompt_tokens","completion_tokens","total_tokens"],"additionalProperties":true}},"required":["id","object","created","model","choices","usage"],"additionalProperties":true},"Response":{"type":"object","properties":{"id":{"type":"string"},"object":{"const":"response"},"created_at":{"type":"integer","minimum":0},"model":{"type":"string"},"status":{"enum":["completed","failed","in_progress","incomplete","cancelled","queued"]},"output":{"type":"array","items":{"type":"object"}},"usage":{"type":["object","null"]},"store":{"type":"boolean"}},"required":["id","object","created_at","model","status","output"],"additionalProperties":true},"Message":{"type":"object","properties":{"id":{"type":"string"},"type":{"const":"message"},"role":{"const":"assistant"},"model":{"type":"string"},"content":{"type":"array","items":{"type":"object"}},"stop_reason":{"type":["string","null"]},"stop_sequence":{"type":["string","null"]},"usage":{"type":"object","properties":{"input_tokens":{"type":"integer","minimum":0},"output_tokens":{"type":"integer","minimum":0},"cache_read_input_tokens":{"type":"integer","minimum":0},"cache_creation_input_tokens":{"type":"integer","minimum":0}},"required":["input_tokens","output_tokens"],"additionalProperties":true}},"required":["id","type","role","model","content","stop_reason","usage"],"additionalProperties":true},"ImagesResponse":{"type":"object","properties":{"created":{"type":"integer","minimum":0},"data":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"object","properties":{"b64_json":{"type":"string","contentEncoding":"base64"}},"required":["b64_json"],"additionalProperties":false}}},"required":["created","data"],"additionalProperties":false},"File":{"type":"object","properties":{"id":{"type":"string"},"object":{"const":"file"},"bytes":{"type":"integer","minimum":0},"created_at":{"type":"integer","minimum":0},"expires_at":{"type":"integer","minimum":0},"filename":{"type":"string"},"purpose":{"const":"generation"},"role":{"type":"string"},"mime_type":{"type":"string"},"media_kind":{"type":"string"},"status":{"const":"processed"}},"required":["id","object","bytes","created_at","expires_at","filename","purpose","role","mime_type","status"],"additionalProperties":true},"Generation":{"type":"object","properties":{"id":{"type":"string"},"object":{"enum":["generation","video"]},"model":{"type":"string"},"media_kind":{"type":"string"},"status":{"enum":["queued","processing","completed","failed","cancelled"]},"created_at":{"type":"integer","minimum":0},"request_id":{"type":"string"},"cost_fc":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$"},"cost_status":{"enum":["settled","prepaid"]},"refunded":{"type":"boolean"},"outputs":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0},"mime_type":{"type":["string","null"]},"bytes":{"type":["integer","null"]},"expired":{"type":"boolean"},"url":{"type":["string","null"]}},"required":["index","expired","url"],"additionalProperties":false}},"progress":{"type":"null"},"error":{"type":["object","null"]}},"required":["id","object","model","status","created_at","request_id","cost_fc","cost_status","refunded","outputs","progress","error"],"additionalProperties":true},"ChatImagePart":{"type":"object","properties":{"type":{"const":"image_url"},"image_url":{"type":"object","properties":{"url":{"type":"string","description":"Validated PNG/JPEG/WebP data URL; external URLs rejected"},"file_id":{"type":"string","description":"RenderFox owned file extension"},"detail":{"enum":["auto","low","high"]}},"required":[],"additionalProperties":false,"oneOf":[{"required":["url"]},{"required":["file_id"]}]}},"required":["type","image_url"],"additionalProperties":false},"ResponsesImagePart":{"type":"object","properties":{"type":{"const":"input_image"},"image_url":{"type":"string"},"file_id":{"type":"string"},"detail":{"enum":["auto","low","high"]}},"required":["type"],"additionalProperties":false,"oneOf":[{"required":["image_url"]},{"required":["file_id"]}]},"MessagesImagePart":{"type":"object","properties":{"type":{"const":"image"},"source":{"oneOf":[{"type":"object","properties":{"type":{"const":"base64"},"media_type":{"enum":["image/png","image/jpeg","image/webp"]},"data":{"type":"string","contentEncoding":"base64"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"const":"file"},"file_id":{"type":"string"}},"required":["type","file_id"],"additionalProperties":false}]}},"required":["type","source"],"additionalProperties":false}}}}