{"openapi":"3.1.0","info":{"title":"ModelsLab Generation API","version":"1.0.0","description":"Unified generation API for image, video, audio, 3D, training and LLM models. Most generation endpoints are asynchronous: a request returns either a completed result or a \"processing\" status with an id, which you poll on the matching fetch endpoint. Model-specific request parameters are discoverable at runtime through GET /v6/model-search/{modelId}. A paid subscription is required; there is no free tier.","x-versioning":{"current":"v8","supported":["v6","v7","v8"],"deprecation_policy":"Breaking changes are introduced only on a new versioned base path.","minimum_notice_days":90,"policy_url":"https://modelslab.com/api-deprecation-policy","signals":{"ModelsLab-Api-Version":"The version segment this request resolved to.","ModelsLab-Api-Lifecycle":"current | supported | deprecated.","Deprecation":"RFC 9745 HTTP date. Present only on a deprecated version.","Sunset":"RFC 8594 HTTP date after which the version stops responding."}},"x-pricing":{"model":"subscription","free_tier":false,"entry_plan_usd_per_month":21,"pricing_url":"https://modelslab.com/pricing","notes":"A paid subscription is required before any generation endpoint returns output. There is no free tier and no anonymous sandbox."}},"servers":[{"url":"https://modelslab.com/api"}],"security":[{"apiKeyHeader":[]}],"x-error-model":{"note":"Generation endpoints answer failures with HTTP 200 and a body of {\"status\":\"error\",\"code\":...,\"message\":...}. This predates the current API and existing clients depend on it. Branch on the body's `status` and `code` fields, not on the HTTP status code.","schema":"#/components/schemas/GenerationError","codes":{"validation_error":"The request payload failed validation. See `errors` for the per-field detail.","invalid_api_key":"The API key is missing, malformed, or does not belong to an active account.","unauthenticated":"Authentication is required for this endpoint.","forbidden":"The account is authenticated but not entitled to this endpoint or model.","no_subscription":"The account has no active subscription. A paid plan is required; there is no free tier.","insufficient_balance":"The plan allowance is exhausted and the wallet balance cannot cover this request.","not_found":"The endpoint, model or request id does not exist.","rate_limited":"The plan rate window or concurrency limit is exhausted. See the RateLimit-* headers.","provider_error":"An upstream model provider refused or failed the request. `message` is forwarded from the provider.","upstream_unavailable":"A ModelsLab service or GPU worker could not be reached. The request was not billed; retry.","server_error":"An unexpected server-side failure. Retry, and contact support with the request id if it persists."}},"x-rate-limit":{"headers":{"RateLimit-Limit":"Requests permitted in the current window.","RateLimit-Remaining":"Requests still available in the current window.","RateLimit-Reset":"Seconds until the window resets.","RateLimit-Policy":"Structured field: \"<policy>\";q=<quota>;w=<window seconds>.","RateLimit":"Structured field: \"<policy>\";r=<remaining>;t=<reset seconds>.","Retry-After":"Seconds to wait before retrying. Sent when the limit is exhausted."},"note":"Limits are per plan and are enforced over a rolling window plus a concurrency cap. A refusal arrives as HTTP 200 with code \"rate_limited\".","documentation":"https://modelslab.com/pricing"},"components":{"schemas":{"GenerationError":{"type":"object","title":"Generation error","description":"Failure envelope. Note that generation endpoints return this on HTTP 200 \u2014 branch on `status` and `code`, not on the HTTP status.","required":["status","message"],"properties":{"status":{"type":"string","const":"error"},"code":{"type":"string","description":"Stable machine-readable error code. Branch on this.","enum":["validation_error","invalid_api_key","unauthenticated","forbidden","no_subscription","insufficient_balance","not_found","rate_limited","provider_error","upstream_unavailable","server_error"]},"message":{"type":"string","description":"Human-readable explanation. Wording is not stable; do not parse it."},"errors":{"type":"object","description":"Per-field validation detail. Present when code is \"validation_error\".","additionalProperties":{"type":"array","items":{"type":"string"}}},"tips":{"type":"string","description":"Optional remediation hint."}},"additionalProperties":true},"GenerationSuccess":{"type":"object","title":"Generation success","required":["status","output"],"properties":{"status":{"type":"string","const":"success"},"id":{"type":["integer","string"],"description":"Request id. Use it with the matching fetch endpoint."},"output":{"type":"array","description":"Result URLs. One entry per generated asset.","items":{"type":"string","format":"uri"}},"proxy_links":{"type":["array","string"],"description":"Alternate CDN URLs for the same assets, when available.","items":{"type":"string","format":"uri"}},"generationTime":{"type":["number","null"],"description":"Seconds spent generating."},"nsfw_content_detected":{"type":["boolean","null"],"description":"True when the safety checker flagged the output."},"meta":{"type":"object","description":"The resolved model parameters for this request. Keys vary by model; discover them with GET /v6/model-search/{modelId}.","additionalProperties":true},"tip":{"type":"string"}},"additionalProperties":true},"GenerationProcessing":{"type":"object","title":"Generation queued","description":"The job was accepted and is running. Poll `fetch_result` after `eta` seconds.","required":["status","id"],"properties":{"status":{"type":"string","const":"processing"},"id":{"type":["integer","string"],"description":"Request id to poll on the matching fetch endpoint."},"eta":{"type":["number","string","null"],"description":"Estimated seconds until the result is ready."},"fetch_result":{"type":["string","null"],"format":"uri","description":"Absolute URL to poll for this job."},"future_links":{"type":"array","description":"URLs the assets will occupy once generation completes.","items":{"type":"string","format":"uri"}},"output":{"type":"array","description":"Always empty while processing.","items":{"type":"string","format":"uri"}},"message":{"type":"string"},"meta":{"type":"object","additionalProperties":true}},"additionalProperties":true},"GenerationResponse":{"title":"Generation response","description":"Discriminated on `status`. Every generation and fetch endpoint returns one of these three shapes, always on HTTP 200.","oneOf":[{"$ref":"#/components/schemas/GenerationSuccess"},{"$ref":"#/components/schemas/GenerationProcessing"},{"$ref":"#/components/schemas/GenerationError"}],"discriminator":{"propertyName":"status","mapping":{"success":"#/components/schemas/GenerationSuccess","processing":"#/components/schemas/GenerationProcessing","error":"#/components/schemas/GenerationError"}}},"LlmResponse":{"title":"LLM response","description":"OpenAI-compatible chat completion, or the shared error envelope. Streaming requests (`stream: true`) return text/event-stream instead of this object.","oneOf":[{"$ref":"#/components/schemas/LlmChatCompletion"},{"$ref":"#/components/schemas/GenerationError"}]},"LlmChatCompletion":{"type":"object","title":"Chat completion","required":["id","choices"],"properties":{"id":{"type":"string"},"object":{"type":"string","examples":["chat.completion"]},"created":{"type":"integer","description":"Unix timestamp."},"model":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer"},"finish_reason":{"type":["string","null"]},"message":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":["string","null"]}},"additionalProperties":true}},"additionalProperties":true}},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"integer"},"completion_tokens":{"type":"integer"},"total_tokens":{"type":"integer"}},"additionalProperties":true}},"additionalProperties":true}},"headers":{"RateLimit-Limit":{"description":"Requests permitted in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests still available in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Structured field: \"<policy>\";q=<quota>;w=<window seconds>.","schema":{"type":"string"}},"RateLimit":{"description":"Structured field: \"<policy>\";r=<remaining>;t=<reset seconds>.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds to wait before retrying. Sent when the limit is exhausted.","schema":{"type":"integer"}},"ModelsLab-Api-Version":{"description":"The API version segment this request resolved to.","schema":{"type":"string","examples":["v6","v7","v8"]}},"ModelsLab-Api-Lifecycle":{"description":"Lifecycle state of this API version.","schema":{"type":"string","enum":["current","supported","deprecated"]}}},"securitySchemes":{"apiKeyHeader":{"type":"apiKey","in":"header","name":"key","description":"ModelsLab API key. The same value is also accepted as a \"key\" property in the JSON request body."},"bearerAuth":{"type":"http","scheme":"bearer","description":"OpenAI-compatible bearer token. Accepted on /v7/llm/* routes only."},"anthropicApiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"Anthropic-compatible key header. Accepted on /v7/llm/* routes only."}}},"tags":[{"name":"v6_3d"},{"name":"v6_assets_generated"},{"name":"v6_base64_to_url"},{"name":"v6_detect_faces"},{"name":"v6_faceswap"},{"name":"v6_image_editing"},{"name":"v6_images"},{"name":"v6_interior"},{"name":"v6_model_search"},{"name":"v6_processing"},{"name":"v6_realtime"},{"name":"v6_trainer"},{"name":"v6_video"},{"name":"v6_voice"},{"name":"v6_voice_call"},{"name":"v6_whisper"},{"name":"v7_images"},{"name":"v7_llm"},{"name":"v7_video_fusion"},{"name":"v7_voice"},{"name":"v8_3ds"},{"name":"v8_audios"},{"name":"v8_images"},{"name":"v8_videos"}],"paths":{"/v6/3d/base64_to_url":{"post":{"tags":["v6_3d"],"summary":"Post 3D Base64 To Url","description":"Post 3D Base64 To Url. Generation endpoint on /v6/3d/base64_to_url. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_3d_base64_to_url","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/3d/fetch/{id}":{"post":{"tags":["v6_3d"],"summary":"Post 3D Fetch {Id}","description":"Post 3D Fetch {Id}. Polls a queued job on /v6/3d/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"post_v6_3d_fetch_id","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/3d/image_to_3d":{"post":{"tags":["v6_3d"],"summary":"Post 3D Image To 3D","description":"Post 3D Image To 3D. Generation endpoint on /v6/3d/image_to_3d. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_3d_image_to_3d","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/3d/text_to_3d":{"post":{"tags":["v6_3d"],"summary":"Post 3D Text To 3D","description":"Post 3D Text To 3D. Generation endpoint on /v6/3d/text_to_3d. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_3d_text_to_3d","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/assets_generated":{"post":{"tags":["v6_assets_generated"],"summary":"Post Assets Generated","description":"Post Assets Generated. Generation endpoint on /v6/assets_generated. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_assets_generated","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/base64_to_url":{"post":{"tags":["v6_base64_to_url"],"summary":"Post Base64 To Url","description":"Post Base64 To Url. Generation endpoint on /v6/base64_to_url. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_base64_to_url","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/detect_faces":{"post":{"tags":["v6_detect_faces"],"summary":"Post Detect Faces","description":"Post Detect Faces. Generation endpoint on /v6/detect_faces. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_detect_faces","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/faceswap/fetch/{id}":{"post":{"tags":["v6_faceswap"],"summary":"Post Faceswap Fetch {Id}","description":"Post Faceswap Fetch {Id}. Polls a queued job on /v6/faceswap/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"post_v6_faceswap_fetch_id","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/faceswap/multiple_face_swap":{"post":{"tags":["v6_faceswap"],"summary":"Post Faceswap Multiple Face Swap","description":"Post Faceswap Multiple Face Swap. Generation endpoint on /v6/faceswap/multiple_face_swap. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_faceswap_multiple_face_swap","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/faceswap/single_face_swap":{"post":{"tags":["v6_faceswap"],"summary":"Post Faceswap Single Face Swap","description":"Post Faceswap Single Face Swap. Generation endpoint on /v6/faceswap/single_face_swap. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_faceswap_single_face_swap","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/faceswap/single_video_swap":{"post":{"tags":["v6_faceswap"],"summary":"Post Faceswap Single Video Swap","description":"Post Faceswap Single Video Swap. Generation endpoint on /v6/faceswap/single_video_swap. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_faceswap_single_video_swap","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/faceswap/specific_video_swap":{"post":{"tags":["v6_faceswap"],"summary":"Post Faceswap Specific Video Swap","description":"Post Faceswap Specific Video Swap. Generation endpoint on /v6/faceswap/specific_video_swap. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_faceswap_specific_video_swap","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/avatar_gen":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Avatar Gen","description":"Post Image Editing Avatar Gen. Generation endpoint on /v6/image_editing/avatar_gen. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_avatar_gen","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/background_replacer":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Background Replacer","description":"Post Image Editing Background Replacer. Generation endpoint on /v6/image_editing/background_replacer. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_background_replacer","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/base64_to_url":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Base64 To Url","description":"Post Image Editing Base64 To Url. Generation endpoint on /v6/image_editing/base64_to_url. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_base64_to_url","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/blip_diffusion":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Blip Diffusion","description":"Post Image Editing Blip Diffusion. Generation endpoint on /v6/image_editing/blip_diffusion. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_blip_diffusion","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/caption":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Caption","description":"Post Image Editing Caption. Generation endpoint on /v6/image_editing/caption. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_caption","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/depth2img":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Depth2Img","description":"Post Image Editing Depth2Img. Generation endpoint on /v6/image_editing/depth2img. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_depth2img","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/face_gen":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Face Gen","description":"Post Image Editing Face Gen. Generation endpoint on /v6/image_editing/face_gen. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_face_gen","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/fashion":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Fashion","description":"Post Image Editing Fashion. Generation endpoint on /v6/image_editing/fashion. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_fashion","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/fetch/{id}":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Fetch {Id}","description":"Post Image Editing Fetch {Id}. Polls a queued job on /v6/image_editing/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"post_v6_image_editing_fetch_id","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/flux_edit":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Flux Edit","description":"Post Image Editing Flux Edit. Generation endpoint on /v6/image_editing/flux_edit. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_flux_edit","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/flux_headshot":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Flux Headshot","description":"Post Image Editing Flux Headshot. Generation endpoint on /v6/image_editing/flux_headshot. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_flux_headshot","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/head_shot":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Head Shot","description":"Post Image Editing Head Shot. Generation endpoint on /v6/image_editing/head_shot. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_head_shot","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/img_mixer":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Img Mixer","description":"Post Image Editing Img Mixer. Generation endpoint on /v6/image_editing/img_mixer. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_img_mixer","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/inpaint":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Inpaint","description":"Post Image Editing Inpaint. Generation endpoint on /v6/image_editing/inpaint. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_inpaint","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/magic_mix":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Magic Mix","description":"Post Image Editing Magic Mix. Generation endpoint on /v6/image_editing/magic_mix. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_magic_mix","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/mask_creator":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Mask Creator","description":"Post Image Editing Mask Creator. Generation endpoint on /v6/image_editing/mask_creator. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_mask_creator","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/multiview":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Multiview","description":"Post Image Editing Multiview. Generation endpoint on /v6/image_editing/multiview. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_multiview","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/object_removal":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Object Removal","description":"Post Image Editing Object Removal. Generation endpoint on /v6/image_editing/object_removal. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_object_removal","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/outpaint":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Outpaint","description":"Post Image Editing Outpaint. Generation endpoint on /v6/image_editing/outpaint. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_outpaint","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/pix2pix":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Pix2Pix","description":"Post Image Editing Pix2Pix. Generation endpoint on /v6/image_editing/pix2pix. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_pix2pix","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/qwen_edit":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Qwen Edit","description":"Post Image Editing Qwen Edit. Generation endpoint on /v6/image_editing/qwen_edit. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_qwen_edit","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/relighting":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Relighting","description":"Post Image Editing Relighting. Generation endpoint on /v6/image_editing/relighting. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_relighting","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/removebg_mask":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Removebg Mask","description":"Post Image Editing Removebg Mask. Generation endpoint on /v6/image_editing/removebg_mask. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_removebg_mask","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/image_editing/super_resolution":{"post":{"tags":["v6_image_editing"],"summary":"Post Image Editing Super Resolution","description":"Post Image Editing Super Resolution. Generation endpoint on /v6/image_editing/super_resolution. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_image_editing_super_resolution","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/images/fetch":{"post":{"tags":["v6_images"],"summary":"Post Images Fetch","description":"Post Images Fetch. Polls a queued job on /v6/images/fetch. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"post_v6_images_fetch","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/images/fetch/{id}":{"post":{"tags":["v6_images"],"summary":"Post Images Fetch {Id}","description":"Post Images Fetch {Id}. Polls a queued job on /v6/images/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"post_v6_images_fetch_id","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/images/img2img":{"post":{"tags":["v6_images"],"summary":"Post Images Img2Img","description":"Post Images Img2Img. Generation endpoint on /v6/images/img2img. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_images_img2img","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/images/inpaint":{"post":{"tags":["v6_images"],"summary":"Post Images Inpaint","description":"Post Images Inpaint. Generation endpoint on /v6/images/inpaint. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_images_inpaint","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/images/text2img":{"post":{"tags":["v6_images"],"summary":"Post Images Text2Img","description":"Post Images Text2Img. Generation endpoint on /v6/images/text2img. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_images_text2img","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/interior/exterior_restorer":{"post":{"tags":["v6_interior"],"summary":"Post Interior Exterior Restorer","description":"Post Interior Exterior Restorer. Generation endpoint on /v6/interior/exterior_restorer. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_interior_exterior_restorer","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/interior/fetch/{id}":{"post":{"tags":["v6_interior"],"summary":"Post Interior Fetch {Id}","description":"Post Interior Fetch {Id}. Polls a queued job on /v6/interior/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"post_v6_interior_fetch_id","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/interior/floor_planning":{"post":{"tags":["v6_interior"],"summary":"Post Interior Floor Planning","description":"Post Interior Floor Planning. Generation endpoint on /v6/interior/floor_planning. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_interior_floor_planning","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/interior/interior_mixer":{"post":{"tags":["v6_interior"],"summary":"Post Interior Interior Mixer","description":"Post Interior Interior Mixer. Generation endpoint on /v6/interior/interior_mixer. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_interior_interior_mixer","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/interior/make":{"post":{"tags":["v6_interior"],"summary":"Post Interior Make","description":"Post Interior Make. Generation endpoint on /v6/interior/make. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_interior_make","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/interior/object_removal":{"post":{"tags":["v6_interior"],"summary":"Post Interior Object Removal","description":"Post Interior Object Removal. Generation endpoint on /v6/interior/object_removal. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_interior_object_removal","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/interior/room_decorator":{"post":{"tags":["v6_interior"],"summary":"Post Interior Room Decorator","description":"Post Interior Room Decorator. Generation endpoint on /v6/interior/room_decorator. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_interior_room_decorator","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/interior/scenario_changer":{"post":{"tags":["v6_interior"],"summary":"Post Interior Scenario Changer","description":"Post Interior Scenario Changer. Generation endpoint on /v6/interior/scenario_changer. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_interior_scenario_changer","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/interior/sketch_rendering":{"post":{"tags":["v6_interior"],"summary":"Post Interior Sketch Rendering","description":"Post Interior Sketch Rendering. Generation endpoint on /v6/interior/sketch_rendering. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_interior_sketch_rendering","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/model-search":{"get":{"tags":["v6_model_search"],"summary":"Get Model Search","description":"Get Model Search. Generation endpoint on /v6/model-search. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"get_v6_model_search","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}}}},"/v6/model-search/filters":{"get":{"tags":["v6_model_search"],"summary":"Get Model Search Filters","description":"Get Model Search Filters. Generation endpoint on /v6/model-search/filters. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"get_v6_model_search_filters","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}}}},"/v6/model-search/providers":{"get":{"tags":["v6_model_search"],"summary":"Get Model Search Providers","description":"Get Model Search Providers. Generation endpoint on /v6/model-search/providers. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"get_v6_model_search_providers","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}}}},"/v6/model-search/tags":{"get":{"tags":["v6_model_search"],"summary":"Get Model Search Tags","description":"Get Model Search Tags. Generation endpoint on /v6/model-search/tags. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"get_v6_model_search_tags","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}}}},"/v6/model-search/{modelId}":{"get":{"tags":["v6_model_search"],"summary":"Get Model Search {Modelid}","description":"Get Model Search {Modelid}. Generation endpoint on /v6/model-search/{modelId}. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"get_v6_model_search_model_id","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"modelId","in":"path","required":true,"description":"Model identifier from the catalogue. See GET /v6/model-search.","schema":{"type":"string"}}],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}}}},"/v6/processing/request_count":{"post":{"tags":["v6_processing"],"summary":"Post Processing Request Count","description":"Post Processing Request Count. Generation endpoint on /v6/processing/request_count. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_processing_request_count","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/realtime/fetch/{id}":{"post":{"tags":["v6_realtime"],"summary":"Post Realtime Fetch {Id}","description":"Post Realtime Fetch {Id}. Polls a queued job on /v6/realtime/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"post_v6_realtime_fetch_id","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/realtime/img2img":{"post":{"tags":["v6_realtime"],"summary":"Post Realtime Img2Img","description":"Post Realtime Img2Img. Generation endpoint on /v6/realtime/img2img. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_realtime_img2img","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/realtime/inpaint":{"post":{"tags":["v6_realtime"],"summary":"Post Realtime Inpaint","description":"Post Realtime Inpaint. Generation endpoint on /v6/realtime/inpaint. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_realtime_inpaint","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/realtime/text2img":{"post":{"tags":["v6_realtime"],"summary":"Post Realtime Text2Img","description":"Post Realtime Text2Img. Generation endpoint on /v6/realtime/text2img. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_realtime_text2img","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/trainer/status/{trainingRequest}":{"post":{"tags":["v6_trainer"],"summary":"Train Master Status","description":"Train Master Status. Generation endpoint on /v6/trainer/status/{trainingRequest}. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"train_master_status","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"trainingRequest","in":"path","required":true,"description":"Training Request path parameter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/trainer/stop":{"post":{"tags":["v6_trainer"],"summary":"Train Master","description":"Train Master. Generation endpoint on /v6/trainer/stop. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"api_train-master_post_v6_trainer_stop","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/trainer/train":{"post":{"tags":["v6_trainer"],"summary":"Train Master Train","description":"Train Master Train. Generation endpoint on /v6/trainer/train. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"api_train_master_train","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/base64_to_url":{"post":{"tags":["v6_video"],"summary":"Post Video Base64 To Url","description":"Post Video Base64 To Url. Generation endpoint on /v6/video/base64_to_url. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_video_base64_to_url","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/fetch/{id}":{"post":{"tags":["v6_video"],"summary":"Post Video Fetch {Id}","description":"Post Video Fetch {Id}. Polls a queued job on /v6/video/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"post_v6_video_fetch_id","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/img2video":{"post":{"tags":["v6_video"],"summary":"Post Video Img2Video","description":"Post Video Img2Video. Generation endpoint on /v6/video/img2video. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_video_img2video","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/img2video_ultra":{"post":{"tags":["v6_video"],"summary":"Post Video Img2Video Ultra","description":"Post Video Img2Video Ultra. Generation endpoint on /v6/video/img2video_ultra. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_video_img2video_ultra","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/img_to_video":{"post":{"tags":["v6_video"],"summary":"Post Video Img To Video","description":"Post Video Img To Video. Generation endpoint on /v6/video/img_to_video. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_video_img_to_video","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/open_sora":{"post":{"tags":["v6_video"],"summary":"Post Video Open Sora","description":"Post Video Open Sora. Generation endpoint on /v6/video/open_sora. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_video_open_sora","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/scene_creator":{"post":{"tags":["v6_video"],"summary":"Post Video Scene Creator","description":"Post Video Scene Creator. Generation endpoint on /v6/video/scene_creator. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_video_scene_creator","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/scene_maker":{"post":{"tags":["v6_video"],"summary":"Post Video Scene Maker","description":"Post Video Scene Maker. Generation endpoint on /v6/video/scene_maker. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_video_scene_maker","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/text2video":{"post":{"tags":["v6_video"],"summary":"Post Video Text2Video","description":"Post Video Text2Video. Generation endpoint on /v6/video/text2video. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_video_text2video","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/text2video_ultra":{"post":{"tags":["v6_video"],"summary":"Post Video Text2Video Ultra","description":"Post Video Text2Video Ultra. Generation endpoint on /v6/video/text2video_ultra. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_video_text2video_ultra","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/video2video":{"post":{"tags":["v6_video"],"summary":"Post Video Video2Video","description":"Post Video Video2Video. Generation endpoint on /v6/video/video2video. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_video_video2video","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/video/watermark_remover":{"post":{"tags":["v6_video"],"summary":"Post Video Watermark Remover","description":"Post Video Watermark Remover. Generation endpoint on /v6/video/watermark_remover. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_video_watermark_remover","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice-call/cancel-all":{"post":{"tags":["v6_voice_call"],"summary":"Post Voice Call Cancel All","description":"Post Voice Call Cancel All. Generation endpoint on /v6/voice-call/cancel-all. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_call_cancel_all","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice-call/start":{"post":{"tags":["v6_voice_call"],"summary":"Post Voice Call Start","description":"Post Voice Call Start. Generation endpoint on /v6/voice-call/start. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_call_start","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice-call/voices":{"get":{"tags":["v6_voice_call"],"summary":"Get Voice Call Voices","description":"Get Voice Call Voices. Generation endpoint on /v6/voice-call/voices. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"get_v6_voice_call_voices","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}}}},"/v6/voice-call/{sessionId}/close":{"post":{"tags":["v6_voice_call"],"summary":"Post Voice Call {Sessionid} Close","description":"Post Voice Call {Sessionid} Close. Generation endpoint on /v6/voice-call/{sessionId}/close. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_call_session_id_close","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"sessionId","in":"path","required":true,"description":"Session Id path parameter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice-call/{sessionId}/status":{"get":{"tags":["v6_voice_call"],"summary":"Get Voice Call {Sessionid} Status","description":"Get Voice Call {Sessionid} Status. Generation endpoint on /v6/voice-call/{sessionId}/status. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"get_v6_voice_call_session_id_status","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"sessionId","in":"path","required":true,"description":"Session Id path parameter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}}}},"/v6/voice-call/{sessionId}/transcript":{"post":{"tags":["v6_voice_call"],"summary":"Post Voice Call {Sessionid} Transcript","description":"Post Voice Call {Sessionid} Transcript. Generation endpoint on /v6/voice-call/{sessionId}/transcript. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_call_session_id_transcript","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"sessionId","in":"path","required":true,"description":"Session Id path parameter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/base64_to_url":{"post":{"tags":["v6_voice"],"summary":"Post Voice Base64 To Url","description":"Post Voice Base64 To Url. Generation endpoint on /v6/voice/base64_to_url. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_base64_to_url","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/create_dubbing":{"post":{"tags":["v6_voice"],"summary":"Post Voice Create Dubbing","description":"Post Voice Create Dubbing. Generation endpoint on /v6/voice/create_dubbing. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_create_dubbing","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/fetch/{id}":{"post":{"tags":["v6_voice"],"summary":"Post Voice Fetch {Id}","description":"Post Voice Fetch {Id}. Polls a queued job on /v6/voice/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"post_v6_voice_fetch_id","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/lyrics_generator":{"post":{"tags":["v6_voice"],"summary":"Post Voice Lyrics Generator","description":"Post Voice Lyrics Generator. Generation endpoint on /v6/voice/lyrics_generator. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_lyrics_generator","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/music_gen":{"post":{"tags":["v6_voice"],"summary":"Post Voice Music Gen","description":"Post Voice Music Gen. Generation endpoint on /v6/voice/music_gen. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_music_gen","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/sfx":{"post":{"tags":["v6_voice"],"summary":"Post Voice Sfx","description":"Post Voice Sfx. Generation endpoint on /v6/voice/sfx. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_sfx","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/song_generator":{"post":{"tags":["v6_voice"],"summary":"Post Voice Song Generator","description":"Post Voice Song Generator. Generation endpoint on /v6/voice/song_generator. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_song_generator","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/speech_to_text":{"post":{"tags":["v6_voice"],"summary":"Post Voice Speech To Text","description":"Post Voice Speech To Text. Generation endpoint on /v6/voice/speech_to_text. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_speech_to_text","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/text_to_audio":{"post":{"tags":["v6_voice"],"summary":"Post Voice Text To Audio","description":"Post Voice Text To Audio. Generation endpoint on /v6/voice/text_to_audio. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_text_to_audio","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/text_to_speech":{"post":{"tags":["v6_voice"],"summary":"Post Voice Text To Speech","description":"Post Voice Text To Speech. Generation endpoint on /v6/voice/text_to_speech. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_text_to_speech","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/vocal_isolator":{"post":{"tags":["v6_voice"],"summary":"Post Voice Vocal Isolator","description":"Post Voice Vocal Isolator. Generation endpoint on /v6/voice/vocal_isolator. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_vocal_isolator","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/voice_cover":{"post":{"tags":["v6_voice"],"summary":"Post Voice Voice Cover","description":"Post Voice Voice Cover. Generation endpoint on /v6/voice/voice_cover. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_voice_cover","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/voice_design":{"post":{"tags":["v6_voice"],"summary":"Post Voice Voice Design","description":"Post Voice Voice Design. Generation endpoint on /v6/voice/voice_design. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_voice_design","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/voice_list":{"post":{"tags":["v6_voice"],"summary":"Post Voice Voice List","description":"Post Voice Voice List. Generation endpoint on /v6/voice/voice_list. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_voice_list","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/voice_request":{"post":{"tags":["v6_voice"],"summary":"Post Voice Voice Request","description":"Post Voice Voice Request. Generation endpoint on /v6/voice/voice_request. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_voice_request","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/voice_to_voice":{"post":{"tags":["v6_voice"],"summary":"Post Voice Voice To Voice","description":"Post Voice Voice To Voice. Generation endpoint on /v6/voice/voice_to_voice. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_voice_to_voice","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/voice/voice_upload":{"post":{"tags":["v6_voice"],"summary":"Post Voice Voice Upload","description":"Post Voice Voice Upload. Generation endpoint on /v6/voice/voice_upload. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_voice_voice_upload","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v6/whisper/transcribe":{"post":{"tags":["v6_whisper"],"summary":"Post Whisper Transcribe","description":"Post Whisper Transcribe. Generation endpoint on /v6/whisper/transcribe. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"post_v6_whisper_transcribe","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/images/fetch/{id}":{"post":{"tags":["v7_images"],"summary":"","description":". Polls a queued job on /v7/images/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"v7_post_v7_images_fetch_id","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/images/image-to-image":{"post":{"tags":["v7_images"],"summary":"","description":". Generation endpoint on /v7/images/image-to-image. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_post_v7_images_image_to_image","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/images/inpaint":{"post":{"tags":["v7_images"],"summary":"","description":". Generation endpoint on /v7/images/inpaint. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_post_v7_images_inpaint","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/images/text-to-image":{"post":{"tags":["v7_images"],"summary":"","description":". Generation endpoint on /v7/images/text-to-image. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_post_v7_images_text_to_image","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/llm/chat/completions":{"post":{"tags":["v7_llm"],"summary":"Llm Chat Completion","description":"Llm Chat Completion. OpenAI- and Anthropic-compatible LLM endpoint on /v7/llm/chat/completions. Authenticate with `Authorization: Bearer <key>`, `x-api-key`, or the `key` header. Discover model ids with GET /v7/llm/v1/models. Failures arrive on HTTP 200 with `status: \"error\"`.","operationId":"v7_llm_chat_completion","security":[{"bearerAuth":[]},{"anthropicApiKey":[]},{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"OpenAI-compatible chat completion. Errors also arrive on 200 with `status: \"error\"`.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LlmResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"OpenAI/Anthropic-compatible chat payload. Use GET /v7/llm/v1/models to discover model ids.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/llm/messages":{"post":{"tags":["v7_llm"],"summary":"Llm Messages","description":"Llm Messages. OpenAI- and Anthropic-compatible LLM endpoint on /v7/llm/messages. Authenticate with `Authorization: Bearer <key>`, `x-api-key`, or the `key` header. Discover model ids with GET /v7/llm/v1/models. Failures arrive on HTTP 200 with `status: \"error\"`.","operationId":"v7_llm_messages","security":[{"bearerAuth":[]},{"anthropicApiKey":[]},{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"OpenAI-compatible chat completion. Errors also arrive on 200 with `status: \"error\"`.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LlmResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"OpenAI/Anthropic-compatible chat payload. Use GET /v7/llm/v1/models to discover model ids.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/llm/messages/count_tokens":{"post":{"tags":["v7_llm"],"summary":"Llm Messages Count Tokens","description":"Llm Messages Count Tokens. OpenAI- and Anthropic-compatible LLM endpoint on /v7/llm/messages/count_tokens. Authenticate with `Authorization: Bearer <key>`, `x-api-key`, or the `key` header. Discover model ids with GET /v7/llm/v1/models. Failures arrive on HTTP 200 with `status: \"error\"`.","operationId":"v7_llm_messages_count_tokens","security":[{"bearerAuth":[]},{"anthropicApiKey":[]},{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"OpenAI-compatible chat completion. Errors also arrive on 200 with `status: \"error\"`.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LlmResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"OpenAI/Anthropic-compatible chat payload. Use GET /v7/llm/v1/models to discover model ids.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/llm/v1/messages":{"post":{"tags":["v7_llm"],"summary":"Llm V1 Messages","description":"Llm V1 Messages. OpenAI- and Anthropic-compatible LLM endpoint on /v7/llm/v1/messages. Authenticate with `Authorization: Bearer <key>`, `x-api-key`, or the `key` header. Discover model ids with GET /v7/llm/v1/models. Failures arrive on HTTP 200 with `status: \"error\"`.","operationId":"v7_llm_v1_messages","security":[{"bearerAuth":[]},{"anthropicApiKey":[]},{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"OpenAI-compatible chat completion. Errors also arrive on 200 with `status: \"error\"`.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LlmResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"OpenAI/Anthropic-compatible chat payload. Use GET /v7/llm/v1/models to discover model ids.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/llm/v1/messages/count_tokens":{"post":{"tags":["v7_llm"],"summary":"Llm V1 Messages Count Tokens","description":"Llm V1 Messages Count Tokens. OpenAI- and Anthropic-compatible LLM endpoint on /v7/llm/v1/messages/count_tokens. Authenticate with `Authorization: Bearer <key>`, `x-api-key`, or the `key` header. Discover model ids with GET /v7/llm/v1/models. Failures arrive on HTTP 200 with `status: \"error\"`.","operationId":"v7_llm_v1_messages_count_tokens","security":[{"bearerAuth":[]},{"anthropicApiKey":[]},{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"OpenAI-compatible chat completion. Errors also arrive on 200 with `status: \"error\"`.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LlmResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"OpenAI/Anthropic-compatible chat payload. Use GET /v7/llm/v1/models to discover model ids.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/llm/v1/models":{"get":{"tags":["v7_llm"],"summary":"Llm V1 Models Index","description":"Llm V1 Models Index. OpenAI- and Anthropic-compatible LLM endpoint on /v7/llm/v1/models. Authenticate with `Authorization: Bearer <key>`, `x-api-key`, or the `key` header. Discover model ids with GET /v7/llm/v1/models. Failures arrive on HTTP 200 with `status: \"error\"`.","operationId":"v7_llm_v1_models_index","security":[{"bearerAuth":[]},{"anthropicApiKey":[]},{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"OpenAI-compatible chat completion. Errors also arrive on 200 with `status: \"error\"`.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LlmResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}}}},"/v7/llm/v1/models/{modelId}":{"get":{"tags":["v7_llm"],"summary":"Llm V1 Models Show","description":"Llm V1 Models Show. OpenAI- and Anthropic-compatible LLM endpoint on /v7/llm/v1/models/{modelId}. Authenticate with `Authorization: Bearer <key>`, `x-api-key`, or the `key` header. Discover model ids with GET /v7/llm/v1/models. Failures arrive on HTTP 200 with `status: \"error\"`.","operationId":"v7_llm_v1_models_show","security":[{"bearerAuth":[]},{"anthropicApiKey":[]},{"apiKeyHeader":[]}],"parameters":[{"name":"modelId","in":"path","required":true,"description":"Model identifier from the catalogue. See GET /v6/model-search.","schema":{"type":"string"}}],"responses":{"200":{"description":"OpenAI-compatible chat completion. Errors also arrive on 200 with `status: \"error\"`.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LlmResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}}}},"/v7/video-fusion/fetch/{id}":{"post":{"tags":["v7_video_fusion"],"summary":"Video Fetch","description":"Video Fetch. Polls a queued job on /v7/video-fusion/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"v7_video_fetch","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/video-fusion/image-to-video":{"post":{"tags":["v7_video_fusion"],"summary":"Video Image To Video","description":"Video Image To Video. Generation endpoint on /v7/video-fusion/image-to-video. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_video_image_to_video","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/video-fusion/lip-sync":{"post":{"tags":["v7_video_fusion"],"summary":"Video Lip Sync","description":"Video Lip Sync. Generation endpoint on /v7/video-fusion/lip-sync. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_video_lip_sync","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/video-fusion/motion-control":{"post":{"tags":["v7_video_fusion"],"summary":"Video Motion Control","description":"Video Motion Control. Generation endpoint on /v7/video-fusion/motion-control. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_video_motion_control","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/video-fusion/text-to-video":{"post":{"tags":["v7_video_fusion"],"summary":"Video Text To Video","description":"Video Text To Video. Generation endpoint on /v7/video-fusion/text-to-video. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_video_text_to_video","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/video-fusion/video-to-video":{"post":{"tags":["v7_video_fusion"],"summary":"Video Video To Video","description":"Video Video To Video. Generation endpoint on /v7/video-fusion/video-to-video. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_video_video_to_video","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/voice/create-dubbing":{"post":{"tags":["v7_voice"],"summary":"Voice Create Dubbing","description":"Voice Create Dubbing. Generation endpoint on /v7/voice/create-dubbing. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_voice_create_dubbing","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/voice/fetch/{id}":{"post":{"tags":["v7_voice"],"summary":"Voice Fetch","description":"Voice Fetch. Polls a queued job on /v7/voice/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"v7_voice_fetch","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/voice/music-gen":{"post":{"tags":["v7_voice"],"summary":"Voice Music Gen","description":"Voice Music Gen. Generation endpoint on /v7/voice/music-gen. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_voice_music_gen","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/voice/song-extender":{"post":{"tags":["v7_voice"],"summary":"Voice Song Extender","description":"Voice Song Extender. Generation endpoint on /v7/voice/song-extender. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_voice_song_extender","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/voice/song-inpaint":{"post":{"tags":["v7_voice"],"summary":"Voice Song Inpaint","description":"Voice Song Inpaint. Generation endpoint on /v7/voice/song-inpaint. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_voice_song_inpaint","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/voice/sound-generation":{"post":{"tags":["v7_voice"],"summary":"Voice Sound Generation","description":"Voice Sound Generation. Generation endpoint on /v7/voice/sound-generation. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_voice_sound_generation","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/voice/speech-to-speech":{"post":{"tags":["v7_voice"],"summary":"Voice Speech To Speech","description":"Voice Speech To Speech. Generation endpoint on /v7/voice/speech-to-speech. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_voice_speech_to_speech","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/voice/speech-to-text":{"post":{"tags":["v7_voice"],"summary":"Voice Speech To Text","description":"Voice Speech To Text. Generation endpoint on /v7/voice/speech-to-text. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_voice_speech_to_text","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v7/voice/text-to-speech":{"post":{"tags":["v7_voice"],"summary":"Voice Text To Speech","description":"Voice Text To Speech. Generation endpoint on /v7/voice/text-to-speech. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"v7_voice_text_to_speech","security":[{"apiKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v8/3ds/fetch/{id}":{"post":{"tags":["v8_3ds"],"summary":"3D Fetch","description":"3D Fetch. Polls a queued job on /v8/3ds/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"api_v8_3d_fetch","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v8/3ds/{model3d}":{"post":{"tags":["v8_3ds"],"summary":"3D","description":"3D. Generation endpoint on /v8/3ds/{model3d}. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"api_v8_3d","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"model3d","in":"path","required":true,"description":"Model3D path parameter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v8/audios/fetch/{id}":{"post":{"tags":["v8_audios"],"summary":"Audios Fetch","description":"Audios Fetch. Polls a queued job on /v8/audios/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"api_v8_audios_fetch","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v8/audios/{audio}":{"post":{"tags":["v8_audios"],"summary":"Audios","description":"Audios. Generation endpoint on /v8/audios/{audio}. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"api_v8_audios","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"audio","in":"path","required":true,"description":"Audio path parameter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v8/images/fetch/{id}":{"post":{"tags":["v8_images"],"summary":"Images Fetch","description":"Images Fetch. Polls a queued job on /v8/images/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"api_v8_images_fetch","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v8/images/{image}":{"post":{"tags":["v8_images"],"summary":"Images","description":"Images. Generation endpoint on /v8/images/{image}. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"api_v8_images","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"image","in":"path","required":true,"description":"Image path parameter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v8/videos/fetch/{id}":{"post":{"tags":["v8_videos"],"summary":"Videos Fetch","description":"Videos Fetch. Polls a queued job on /v8/videos/fetch/{id}. Send the `id` returned by the matching generation endpoint. Returns `status: \"processing\"` until the job finishes, then `status: \"success\"` with `output`.","operationId":"api_v8_videos_fetch","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Request id returned by the matching generation endpoint.","schema":{"type":["integer","string"],"description":"Request id returned by the generation endpoint."}}],"responses":{"200":{"description":"Job status. `status` is \"success\" with `output` when ready, \"processing\" while the job runs, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}},"/v8/videos/{video}":{"post":{"tags":["v8_videos"],"summary":"Videos","description":"Videos. Generation endpoint on /v8/videos/{video}. Returns `status: \"success\"` with `output` when the model answers inline, or `status: \"processing\"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model \u2014 discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: \"error\"` and a machine-readable `code`.","operationId":"api_v8_videos","security":[{"apiKeyHeader":[]}],"parameters":[{"name":"video","in":"path","required":true,"description":"Video path parameter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Generation outcome. `status` is \"success\" with `output`, \"processing\" with an `id` and `eta` to poll, or \"error\".","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Malformed request. Rejected at the edge before reaching the API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"403":{"description":"No active subscription for this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"404":{"description":"Endpoint, model or request id not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"422":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"429":{"description":"Rate limited at the edge. The API itself signals rate limiting on 200 with code \"rate_limited\".","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationError"}}}}},"requestBody":{"required":true,"description":"Generation payload. Parameters vary by model; discover them with GET /v6/model-search/{modelId}.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"API key. Optional when the key is sent as a header."}},"additionalProperties":true}}}}}}},"x-generated-from":"route-metadata"}
