{"openapi":"3.1.0","info":{"title":"Pika API","description":"Generate video, image, and audio with hosted models.","version":"1.0.0"},"servers":[{"url":"https://api.dev.pika.art"}],"paths":{"/v1/webhooks/deliveries":{"get":{"summary":"List Deliveries","operationId":"list_deliveries_v1_webhooks_deliveries_get","parameters":[{"name":"endpoint_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/DeliveryStatus"},{"type":"null"}],"title":"Status"}},{"name":"source_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks/deliveries/{delivery_id}":{"get":{"summary":"Get Delivery","operationId":"get_delivery_v1_webhooks_deliveries__delivery_id__get","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks/deliveries/{delivery_id}/attempts":{"get":{"summary":"List Attempts","operationId":"list_attempts_v1_webhooks_deliveries__delivery_id__attempts_get","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttemptListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks/deliveries/{delivery_id}/replay":{"post":{"summary":"Replay Delivery","operationId":"replay_delivery_v1_webhooks_deliveries__delivery_id__replay_post","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/billing/balance":{"get":{"summary":"Get Billing Balance","description":"Return the calling org's spending capacity, in micro-USD.\n\nA prepaid org spends against `balance_micro_usd`. An org that bills by invoice\nspends against `postpaid.cycle.remaining_micro_usd` instead.","operationId":"get_billing_balance_billing_balance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingBalanceResponse"}}}}}}},"/billing/spend/daily":{"get":{"summary":"Get Billing Spend Daily","description":"Return the calling org's daily spend, grouped by API key and model/workflow.","operationId":"get_billing_spend_daily_billing_spend_daily_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Inclusive start date, YYYY-MM-DD","title":"Start Date"},"description":"Inclusive start date, YYYY-MM-DD"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Inclusive end date, YYYY-MM-DD","title":"End Date"},"description":"Inclusive end date, YYYY-MM-DD"},{"name":"api_key_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key Id"}},{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSpendDailyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/media/openai/gpt-image-2/text-to-image":{"post":{"summary":"Media Submit Openai Gpt Image 2 Text To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_openai_gpt_image_2_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenAITextToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Openai Gpt Image 2 Text To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/openai/gpt-image-2/image-to-image":{"post":{"summary":"Media Submit Openai Gpt Image 2 Image To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_openai_gpt_image_2_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenAIEditImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Openai Gpt Image 2 Image To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-3.1-flash-image/text-to-image":{"post":{"summary":"Media Submit Google Gemini 3 1 Flash Image Text To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_3_1_flash_image_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiTextToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini 3 1 Flash Image Text To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-3.1-flash-image/image-to-image":{"post":{"summary":"Media Submit Google Gemini 3 1 Flash Image Image To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_3_1_flash_image_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiEditImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini 3 1 Flash Image Image To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-3-pro-image/text-to-image":{"post":{"summary":"Media Submit Google Gemini 3 Pro Image Text To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_3_pro_image_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiProTextToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini 3 Pro Image Text To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-3-pro-image/image-to-image":{"post":{"summary":"Media Submit Google Gemini 3 Pro Image Image To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_3_pro_image_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiProEditImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini 3 Pro Image Image To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-3.1-flash-lite-image/text-to-image":{"post":{"summary":"Media Submit Google Gemini 3 1 Flash Lite Image Text To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_3_1_flash_lite_image_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiFlashLiteTextToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini 3 1 Flash Lite Image Text To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-3.1-flash-lite-image/image-to-image":{"post":{"summary":"Media Submit Google Gemini 3 1 Flash Lite Image Image To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_3_1_flash_lite_image_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiFlashLiteEditImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini 3 1 Flash Lite Image Image To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/recraft/recraft-4.1/text-to-image":{"post":{"summary":"Media Submit Recraft Recraft 4 1 Text To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_recraft_recraft_4_1_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecraftTextToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Recraft Recraft 4 1 Text To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedream-4.0/text-to-image":{"post":{"summary":"Media Submit Bytedance Seedream 4 0 Text To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedream_4_0_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedream40TextToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedream 4 0 Text To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedream-4.5/text-to-image":{"post":{"summary":"Media Submit Bytedance Seedream 4 5 Text To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedream_4_5_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedream45TextToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedream 4 5 Text To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedream-5.0-lite/text-to-image":{"post":{"summary":"Media Submit Bytedance Seedream 5 0 Lite Text To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedream_5_0_lite_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedream50LiteTextToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedream 5 0 Lite Text To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedream-5.0-pro/text-to-image":{"post":{"summary":"Media Submit Bytedance Seedream 5 0 Pro Text To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedream_5_0_pro_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedream50ProTextToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedream 5 0 Pro Text To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedream-4.0/image-to-image":{"post":{"summary":"Media Submit Bytedance Seedream 4 0 Image To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedream_4_0_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedream40ImageToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedream 4 0 Image To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedream-5.0-lite/image-to-image":{"post":{"summary":"Media Submit Bytedance Seedream 5 0 Lite Image To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedream_5_0_lite_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedream50LiteImageToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedream 5 0 Lite Image To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedream-5.0-pro/image-to-image":{"post":{"summary":"Media Submit Bytedance Seedream 5 0 Pro Image To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedream_5_0_pro_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedream50ProImageToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedream 5 0 Pro Image To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.0/text-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 0 Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_0_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedanceTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 0 Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.0/image-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 0 Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_0_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedanceImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 0 Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.0/reference-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 0 Reference To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_0_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedanceReferenceToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 0 Reference To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.0-fast/text-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 0 Fast Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_0_fast_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedanceFastTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 0 Fast Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.0-fast/image-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 0 Fast Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_0_fast_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedanceFastImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 0 Fast Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.0-fast/reference-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 0 Fast Reference To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_0_fast_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedanceFastReferenceToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 0 Fast Reference To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.0-mini/text-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 0 Mini Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_0_mini_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedanceMiniTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 0 Mini Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.0-mini/image-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 0 Mini Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_0_mini_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedanceMiniImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 0 Mini Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.0-mini/reference-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 0 Mini Reference To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_0_mini_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedanceMiniReferenceToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 0 Mini Reference To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.5/text-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 5 Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_5_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedance25TextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 5 Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.5/image-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 5 Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_5_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedance25ImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 5 Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seedance-2.5/reference-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 5 Reference To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seedance_2_5_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedance25ReferenceToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 5 Reference To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/kling/kling-3.0/text-to-video":{"post":{"summary":"Media Submit Kling Kling 3 0 Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_kling_kling_3_0_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Kling3TextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Kling Kling 3 0 Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/kling/kling-3.0/image-to-video":{"post":{"summary":"Media Submit Kling Kling 3 0 Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_kling_kling_3_0_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Kling3ImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Kling Kling 3 0 Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/kling/kling-3.0-turbo/text-to-video":{"post":{"summary":"Media Submit Kling Kling 3 0 Turbo Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_kling_kling_3_0_turbo_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Kling3TurboTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Kling Kling 3 0 Turbo Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/kling/kling-3.0-turbo/image-to-video":{"post":{"summary":"Media Submit Kling Kling 3 0 Turbo Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_kling_kling_3_0_turbo_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Kling3TurboImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Kling Kling 3 0 Turbo Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/kling/kling-3.0/omni-video":{"post":{"summary":"Media Submit Kling Kling 3 0 Omni Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_kling_kling_3_0_omni_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Kling3OmniVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Kling Kling 3 0 Omni Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/kling/kling-3.0/motion-control":{"post":{"summary":"Media Submit Kling Kling 3 0 Motion Control","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_kling_kling_3_0_motion_control","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Kling3MotionControlRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Kling Kling 3 0 Motion Control"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/kling/kling-ai-avatar-v2/avatar":{"post":{"summary":"Media Submit Kling Kling Ai Avatar V2 Avatar","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_kling_kling_ai_avatar_v2_avatar","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingAvatarRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Kling Kling Ai Avatar V2 Avatar"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/kling/kling-lipsync/avatar":{"post":{"summary":"Media Submit Kling Kling Lipsync Avatar","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_kling_kling_lipsync_avatar","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingLipsyncRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Kling Kling Lipsync Avatar"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/kling/kling-audio/text-to-audio":{"post":{"summary":"Media Submit Kling Kling Audio Text To Audio","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_kling_kling_audio_text_to_audio","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingTextToAudioRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Kling Kling Audio Text To Audio"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/kling/kling-audio/video-to-audio":{"post":{"summary":"Media Submit Kling Kling Audio Video To Audio","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_kling_kling_audio_video_to_audio","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingVideoToAudioRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Kling Kling Audio Video To Audio"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/sonilo/sonilo-v1.1-music/text-to-music":{"post":{"summary":"Media Submit Sonilo Sonilo V1 1 Music Text To Music","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_sonilo_sonilo_v1_1_music_text_to_music","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SoniloTextToMusicRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Sonilo Sonilo V1 1 Music Text To Music"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/sonilo/sonilo-v1.1-music/video-to-music":{"post":{"summary":"Media Submit Sonilo Sonilo V1 1 Music Video To Music","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_sonilo_sonilo_v1_1_music_video_to_music","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SoniloVideoToMusicRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Sonilo Sonilo V1 1 Music Video To Music"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/sonilo/sonilo-v1.1-music/video-to-scored-video":{"post":{"summary":"Media Submit Sonilo Sonilo V1 1 Music Video To Scored Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_sonilo_sonilo_v1_1_music_video_to_scored_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SoniloVideoToVideoMusicRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Sonilo Sonilo V1 1 Music Video To Scored Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/sonilo/sonilo-v1.1-sfx/sound-effects":{"post":{"summary":"Media Submit Sonilo Sonilo V1 1 Sfx Sound Effects","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_sonilo_sonilo_v1_1_sfx_sound_effects","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SoniloTextToSFXRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Sonilo Sonilo V1 1 Sfx Sound Effects"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/sonilo/sonilo-v1.1-sfx/video-to-sound-effects":{"post":{"summary":"Media Submit Sonilo Sonilo V1 1 Sfx Video To Sound Effects","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_sonilo_sonilo_v1_1_sfx_video_to_sound_effects","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SoniloVideoToSFXRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Sonilo Sonilo V1 1 Sfx Video To Sound Effects"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/minimax/hailuo-2.3/text-to-video":{"post":{"summary":"Media Submit Minimax Hailuo 2 3 Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_minimax_hailuo_2_3_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HailuoVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Minimax Hailuo 2 3 Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/minimax/hailuo-2.3/image-to-video":{"post":{"summary":"Media Submit Minimax Hailuo 2 3 Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_minimax_hailuo_2_3_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HailuoImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Minimax Hailuo 2 3 Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/minimax/hailuo-2.3-fast/image-to-video":{"post":{"summary":"Media Submit Minimax Hailuo 2 3 Fast Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_minimax_hailuo_2_3_fast_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HailuoImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Minimax Hailuo 2 3 Fast Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/minimax/h3/text-to-video":{"post":{"summary":"Media Submit Minimax H3 Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_minimax_h3_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/H3TextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Minimax H3 Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/minimax/h3/image-to-video":{"post":{"summary":"Media Submit Minimax H3 Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_minimax_h3_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/H3ImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Minimax H3 Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/minimax/h3/reference-to-video":{"post":{"summary":"Media Submit Minimax H3 Reference To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_minimax_h3_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/H3ReferenceToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Minimax H3 Reference To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/happyhorse-1.0/text-to-video":{"post":{"summary":"Media Submit Alibaba Happyhorse 1 0 Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_happyhorse_1_0_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HappyhorseTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Happyhorse 1 0 Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/happyhorse-1.0/image-to-video":{"post":{"summary":"Media Submit Alibaba Happyhorse 1 0 Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_happyhorse_1_0_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HappyhorseImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Happyhorse 1 0 Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/happyhorse-1.0/reference-to-video":{"post":{"summary":"Media Submit Alibaba Happyhorse 1 0 Reference To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_happyhorse_1_0_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HappyhorseReferenceToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Happyhorse 1 0 Reference To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/happyhorse-1.0/video-to-video":{"post":{"summary":"Media Submit Alibaba Happyhorse 1 0 Video To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_happyhorse_1_0_video_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HappyhorseVideoEditRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Happyhorse 1 0 Video To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/happyhorse-1.1/text-to-video":{"post":{"summary":"Media Submit Alibaba Happyhorse 1 1 Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_happyhorse_1_1_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HappyhorseTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Happyhorse 1 1 Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/happyhorse-1.1/image-to-video":{"post":{"summary":"Media Submit Alibaba Happyhorse 1 1 Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_happyhorse_1_1_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HappyhorseImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Happyhorse 1 1 Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/happyhorse-1.1/reference-to-video":{"post":{"summary":"Media Submit Alibaba Happyhorse 1 1 Reference To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_happyhorse_1_1_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HappyhorseReferenceToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Happyhorse 1 1 Reference To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/wan3.0-video/text-to-video":{"post":{"summary":"Media Submit Alibaba Wan3 0 Video Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_wan3_0_video_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WanTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Wan3 0 Video Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/wan3.0-video/image-to-video":{"post":{"summary":"Media Submit Alibaba Wan3 0 Video Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_wan3_0_video_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WanImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Wan3 0 Video Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/wan3.0-video/omni-video":{"post":{"summary":"Media Submit Alibaba Wan3 0 Video Omni Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_wan3_0_video_omni_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WanOmniVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Wan3 0 Video Omni Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/wan3.0-video-prime/text-to-video":{"post":{"summary":"Media Submit Alibaba Wan3 0 Video Prime Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_wan3_0_video_prime_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WanTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Wan3 0 Video Prime Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/wan3.0-video-prime/image-to-video":{"post":{"summary":"Media Submit Alibaba Wan3 0 Video Prime Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_wan3_0_video_prime_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WanImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Wan3 0 Video Prime Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/alibaba/wan3.0-video-prime/omni-video":{"post":{"summary":"Media Submit Alibaba Wan3 0 Video Prime Omni Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_alibaba_wan3_0_video_prime_omni_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WanOmniVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Alibaba Wan3 0 Video Prime Omni Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/veo-3.1/text-to-video":{"post":{"summary":"Media Submit Google Veo 3 1 Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_veo_3_1_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VeoTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Veo 3 1 Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/veo-3.1/video-extension":{"post":{"summary":"Media Submit Google Veo 3 1 Video Extension","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_veo_3_1_video_extension","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VeoVideoExtensionRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Veo 3 1 Video Extension"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/veo-3.1-fast/text-to-video":{"post":{"summary":"Media Submit Google Veo 3 1 Fast Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_veo_3_1_fast_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VeoTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Veo 3 1 Fast Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/veo-3.1-fast/video-extension":{"post":{"summary":"Media Submit Google Veo 3 1 Fast Video Extension","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_veo_3_1_fast_video_extension","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VeoVideoExtensionRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Veo 3 1 Fast Video Extension"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/veo-3.1-lite/image-to-video":{"post":{"summary":"Media Submit Google Veo 3 1 Lite Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_veo_3_1_lite_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VeoImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Veo 3 1 Lite Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-omni-flash/text-to-video":{"post":{"summary":"Media Submit Google Gemini Omni Flash Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_omni_flash_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OmniFlashTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini Omni Flash Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-omni-flash/image-to-video":{"post":{"summary":"Media Submit Google Gemini Omni Flash Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_omni_flash_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OmniFlashImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini Omni Flash Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-omni-flash/reference-to-video":{"post":{"summary":"Media Submit Google Gemini Omni Flash Reference To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_omni_flash_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OmniFlashReferenceToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini Omni Flash Reference To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-omni-flash/video-to-video":{"post":{"summary":"Media Submit Google Gemini Omni Flash Video To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_omni_flash_video_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OmniFlashVideoEditRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini Omni Flash Video To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-omni-1.1-flash/text-to-video":{"post":{"summary":"Media Submit Google Gemini Omni 1 1 Flash Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_omni_1_1_flash_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Omni11TextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini Omni 1 1 Flash Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-omni-1.1-flash/image-to-video":{"post":{"summary":"Media Submit Google Gemini Omni 1 1 Flash Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_omni_1_1_flash_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Omni11ImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini Omni 1 1 Flash Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-omni-1.1-flash/reference-to-video":{"post":{"summary":"Media Submit Google Gemini Omni 1 1 Flash Reference To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_omni_1_1_flash_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Omni11ReferenceToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini Omni 1 1 Flash Reference To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/gemini-omni-1.1-flash/video-to-video":{"post":{"summary":"Media Submit Google Gemini Omni 1 1 Flash Video To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_gemini_omni_1_1_flash_video_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Omni11VideoEditRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Gemini Omni 1 1 Flash Video To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/lyria-2/sound-effects":{"post":{"summary":"Media Submit Google Lyria 2 Sound Effects","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_lyria_2_sound_effects","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleLyriaRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Lyria 2 Sound Effects"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/lyria-3/text-to-audio":{"post":{"summary":"Media Submit Google Lyria 3 Text To Audio","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_lyria_3_text_to_audio","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleLyria3Request"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Lyria 3 Text To Audio"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/google/lyria-3-pro/text-to-audio":{"post":{"summary":"Media Submit Google Lyria 3 Pro Text To Audio","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_google_lyria_3_pro_text_to_audio","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleLyria3Request"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Lyria 3 Pro Text To Audio"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/x-ai/grok-imagine-video/text-to-video":{"post":{"summary":"Media Submit X Ai Grok Imagine Video Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_x_ai_grok_imagine_video_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Video Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/x-ai/grok-imagine-video/image-to-video":{"post":{"summary":"Media Submit X Ai Grok Imagine Video Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_x_ai_grok_imagine_video_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Video Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/x-ai/grok-imagine-video/reference-to-video":{"post":{"summary":"Media Submit X Ai Grok Imagine Video Reference To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_x_ai_grok_imagine_video_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokReferenceToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Video Reference To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/x-ai/grok-imagine-video/video-to-video":{"post":{"summary":"Media Submit X Ai Grok Imagine Video Video To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_x_ai_grok_imagine_video_video_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokVideoEditRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Video Video To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/x-ai/grok-imagine-video-1.5/image-to-video":{"post":{"summary":"Media Submit X Ai Grok Imagine Video 1 5 Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_x_ai_grok_imagine_video_1_5_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Video 1 5 Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/x-ai/grok-imagine-image/text-to-image":{"post":{"summary":"Media Submit X Ai Grok Imagine Image Text To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_x_ai_grok_imagine_image_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokTextToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Image Text To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/x-ai/grok-imagine-image/image-to-image":{"post":{"summary":"Media Submit X Ai Grok Imagine Image Image To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_x_ai_grok_imagine_image_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokEditImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Image Image To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/x-ai/grok-imagine-image-quality/text-to-image":{"post":{"summary":"Media Submit X Ai Grok Imagine Image Quality Text To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_x_ai_grok_imagine_image_quality_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokTextToImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Image Quality Text To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/x-ai/grok-imagine-image-quality/image-to-image":{"post":{"summary":"Media Submit X Ai Grok Imagine Image Quality Image To Image","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_x_ai_grok_imagine_image_quality_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokEditImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Image Quality Image To Image"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/black-forest-labs/flux-3-video/text-to-video":{"post":{"summary":"Media Submit Black Forest Labs Flux 3 Video Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_black_forest_labs_flux_3_video_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flux3TextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Black Forest Labs Flux 3 Video Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/black-forest-labs/flux-3-video/image-to-video":{"post":{"summary":"Media Submit Black Forest Labs Flux 3 Video Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_black_forest_labs_flux_3_video_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flux3ImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Black Forest Labs Flux 3 Video Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/black-forest-labs/flux-3-video/video-to-video":{"post":{"summary":"Media Submit Black Forest Labs Flux 3 Video Video To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_black_forest_labs_flux_3_video_video_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flux3VideoToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Black Forest Labs Flux 3 Video Video To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/openai/whisper/transcription":{"post":{"summary":"Media Submit Openai Whisper Transcription","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_openai_whisper_transcription","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenAIWhisperRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Openai Whisper Transcription"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/topaz/topaz-image-upscale/image-upscale":{"post":{"summary":"Media Submit Topaz Topaz Image Upscale Image Upscale","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_topaz_topaz_image_upscale_image_upscale","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopazImageUpscaleRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Topaz Topaz Image Upscale Image Upscale"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/topaz/topaz-video-upscale/video-upscale":{"post":{"summary":"Media Submit Topaz Topaz Video Upscale Video Upscale","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_topaz_topaz_video_upscale_video_upscale","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopazVideoUpscaleRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Topaz Topaz Video Upscale Video Upscale"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/minimax/minimax-speech-2.8-turbo/text-to-speech":{"post":{"summary":"Media Submit Minimax Minimax Speech 2 8 Turbo Text To Speech","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_minimax_minimax_speech_2_8_turbo_text_to_speech","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MinimaxTTSRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Minimax Minimax Speech 2 8 Turbo Text To Speech"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/minimax/minimax-speech-2.8-hd/text-to-speech":{"post":{"summary":"Media Submit Minimax Minimax Speech 2 8 Hd Text To Speech","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_minimax_minimax_speech_2_8_hd_text_to_speech","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MinimaxTTSRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Minimax Minimax Speech 2 8 Hd Text To Speech"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/minimax/minimax-music-3.0/text-to-audio":{"post":{"summary":"Media Submit Minimax Minimax Music 3 0 Text To Audio","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_minimax_minimax_music_3_0_text_to_audio","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MinimaxMusicRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Minimax Minimax Music 3 0 Text To Audio"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/bytedance/seed-audio-1.0/text-to-audio":{"post":{"summary":"Media Submit Bytedance Seed Audio 1 0 Text To Audio","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_bytedance_seed_audio_1_0_text_to_audio","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedAudioRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seed Audio 1 0 Text To Audio"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/elevenlabs/eleven-multilingual-v2/text-to-speech":{"post":{"summary":"Media Submit Elevenlabs Eleven Multilingual V2 Text To Speech","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_elevenlabs_eleven_multilingual_v2_text_to_speech","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsTTSRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Elevenlabs Eleven Multilingual V2 Text To Speech"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/elevenlabs/eleven-turbo-v2-5/text-to-speech":{"post":{"summary":"Media Submit Elevenlabs Eleven Turbo V2 5 Text To Speech","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_elevenlabs_eleven_turbo_v2_5_text_to_speech","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsTurboTTSRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Elevenlabs Eleven Turbo V2 5 Text To Speech"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/elevenlabs/eleven-text-to-dialogue/text-to-speech":{"post":{"summary":"Media Submit Elevenlabs Eleven Text To Dialogue Text To Speech","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_elevenlabs_eleven_text_to_dialogue_text_to_speech","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsDialogueRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Elevenlabs Eleven Text To Dialogue Text To Speech"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/elevenlabs/eleven-text-to-sound-v2/sound-effects":{"post":{"summary":"Media Submit Elevenlabs Eleven Text To Sound V2 Sound Effects","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_elevenlabs_eleven_text_to_sound_v2_sound_effects","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsSoundEffectRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Elevenlabs Eleven Text To Sound V2 Sound Effects"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/elevenlabs/eleven-music/sound-effects":{"post":{"summary":"Media Submit Elevenlabs Eleven Music Sound Effects","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_elevenlabs_eleven_music_sound_effects","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsMusicRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Elevenlabs Eleven Music Sound Effects"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/elevenlabs/eleven-multilingual-sts-v2/speech-to-speech":{"post":{"summary":"Media Submit Elevenlabs Eleven Multilingual Sts V2 Speech To Speech","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_elevenlabs_eleven_multilingual_sts_v2_speech_to_speech","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsSpeechToSpeechRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Elevenlabs Eleven Multilingual Sts V2 Speech To Speech"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/elevenlabs/eleven-voice-isolation/voice-isolation":{"post":{"summary":"Media Submit Elevenlabs Eleven Voice Isolation Voice Isolation","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_elevenlabs_eleven_voice_isolation_voice_isolation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsVoiceIsolationRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Elevenlabs Eleven Voice Isolation Voice Isolation"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/elevenlabs/eleven-scribe/transcription":{"post":{"summary":"Media Submit Elevenlabs Eleven Scribe Transcription","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_elevenlabs_eleven_scribe_transcription","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsScribeRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Elevenlabs Eleven Scribe Transcription"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/elevenlabs/eleven-voice-dubbing/dubbing":{"post":{"summary":"Media Submit Elevenlabs Eleven Voice Dubbing Dubbing","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_elevenlabs_eleven_voice_dubbing_dubbing","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsDubbingRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Elevenlabs Eleven Voice Dubbing Dubbing"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/pika/pika-2.5/text-to-video":{"post":{"summary":"Media Submit Pika Pika 2 5 Text To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_pika_pika_2_5_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PikaTextToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika 2 5 Text To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/pika/pika-2.5/image-to-video":{"post":{"summary":"Media Submit Pika Pika 2 5 Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_pika_pika_2_5_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PikaImageToVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika 2 5 Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/pika/pikaframes/image-to-video":{"post":{"summary":"Media Submit Pika Pikaframes Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_pika_pikaframes_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PikaKeyframesRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pikaframes Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/pika/pikadditions/video-to-video":{"post":{"summary":"Media Submit Pika Pikadditions Video To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_pika_pikadditions_video_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PikadditionsRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pikadditions Video To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/pika/pikaswaps/video-to-video":{"post":{"summary":"Media Submit Pika Pikaswaps Video To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_pika_pikaswaps_video_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PikaswapsRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pikaswaps Video To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/pika/pikaffects/image-to-video":{"post":{"summary":"Media Submit Pika Pikaffects Image To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_pika_pikaffects_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PikaffectImageRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pikaffects Image To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/pika/pikaffects/video-to-video":{"post":{"summary":"Media Submit Pika Pikaffects Video To Video","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_pika_pikaffects_video_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PikaffectVideoRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pikaffects Video To Video"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/pika/pika-audio/pika-music":{"post":{"summary":"Media Submit Pika Pika Audio Pika Music","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_pika_pika_audio_pika_music","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PikaMusicRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika Audio Pika Music"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/pika/pika-audio/pika-sfx":{"post":{"summary":"Media Submit Pika Pika Audio Pika Sfx","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_pika_pika_audio_pika_sfx","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextToAudioRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika Audio Pika Sfx"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/pika/pika-audio/pika-speech":{"post":{"summary":"Media Submit Pika Pika Audio Pika Speech","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_pika_pika_audio_pika_speech","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PikaTtsFlowRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika Audio Pika Speech"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/pika/pika-audio/pika-soundtrack":{"post":{"summary":"Media Submit Pika Pika Audio Pika Soundtrack","description":"Submit a generation. Post-creation responses are always the job envelope (200, or 429/403/503 for api-decided rejections). Branch on `error.code`; `error.message` is diagnostic only. A failed job replays on its idempotency key — retry with a fresh key.","operationId":"media_submit_pika_pika_audio_pika_soundtrack","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoToAudioRequest"}}},"required":true},"responses":{"200":{"description":"Accepted, idempotent replay, or an immediately-failed job (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"403":{"description":"Org auth required (message), or a billing admission rejection (failed envelope): insufficient balance, postpaid cycle limit exceeded, or admission suspended.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika Audio Pika Soundtrack"}}}},"400":{"description":"`webhook_url` violates the outbound callback policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"409":{"description":"Idempotency key reused with a different request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"422":{"description":"Request validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"429":{"description":"Admission rate-limited (failed envelope; Retry-After preserved).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"500":{"description":"Billing-plan configuration error before job creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaPlainError"}}}},"503":{"description":"Dispatch or billing-infrastructure error (failed envelope).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}}}}},"/v1/media/uploads":{"post":{"summary":"Media Upload","operationId":"media_upload","requestBody":{"content":{"application/json":{"schema":{"properties":{"content_type":{"type":"string","minLength":1,"title":"Content Type"},"size_bytes":{"type":"integer","exclusiveMinimum":0.0,"title":"Size Bytes"}},"type":"object","required":["content_type","size_bytes"],"title":"MediaUploadRequest"}},"image/png":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"audio/mpeg":{"schema":{"type":"string","format":"binary"}},"audio/mp3":{"schema":{"type":"string","format":"binary"}},"audio/wav":{"schema":{"type":"string","format":"binary"}},"audio/x-wav":{"schema":{"type":"string","format":"binary"}},"audio/mp4":{"schema":{"type":"string","format":"binary"}},"audio/aac":{"schema":{"type":"string","format":"binary"}},"audio/ogg":{"schema":{"type":"string","format":"binary"}},"audio/webm":{"schema":{"type":"string","format":"binary"}}},"required":true},"responses":{"200":{"description":"Presigned upload (application/json request) or legacy CDN URL (raw request)","content":{"application/json":{"schema":{"anyOf":[{"properties":{"upload_url":{"type":"string","title":"Upload Url"},"url":{"type":"string","title":"Url"},"method":{"type":"string","title":"Method","default":"PUT"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers"},"expires_in":{"type":"integer","title":"Expires In"},"max_bytes":{"type":"integer","title":"Max Bytes"}},"type":"object","required":["upload_url","url","headers","expires_in","max_bytes"],"title":"MediaUploadResponse"},{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"LegacyMediaUploadResponse"}]}}}}}}},"/v1/media/jobs/{job_id}":{"get":{"summary":"Media Job Status","operationId":"media_job_status","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaJobStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/media/jobs/{job_id}/content":{"get":{"summary":"Media Job Content","operationId":"media_job_content","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/catalog/apis":{"get":{"summary":"List Catalog Apis","operationId":"list_catalog_apis_catalog_apis_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogList"}}}}},"security":[]}},"/catalog/competitors":{"get":{"summary":"List Competitor Pricing","description":"Rival list prices for the models this environment sells, for price-comparison surfaces.\n\nDisplay-only and never billed: these are surveyed prices maintained alongside the catalog,\nkept as a sibling resource rather than folded into /catalog/apis so a consumer that does not\nrender comparisons never pays for them, and so a stale survey can never distort a quote.\n\nQuotes stay in each rival's own comparable unit; converting between bases (a per-image price\nagainst a model billed per token) needs per-family token rates that belong to the consumer's\npresentation layer, not here.","operationId":"list_competitor_pricing_catalog_competitors_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorList"}}}}},"security":[]}},"/catalog/apis/{api_id}/quote":{"post":{"summary":"Quote Catalog Api","description":"List-price quote for a concrete request, using the same engine billing charges with.\n\nPublic and unauthenticated like the rest of the catalog, so it quotes at list price\n(no org multiplier). The body is validated against the binding's request model, so an\ninvalid request 422s exactly as the real call would and the price matches what would\nbe reserved.","operationId":"quote_catalog_api_catalog_apis__api_id__quote_post","parameters":[{"name":"api_id","in":"path","required":true,"schema":{"type":"string","title":"Api Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogQuote"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/catalog/apis/{api_id}":{"get":{"summary":"Get Catalog Api","operationId":"get_catalog_api_catalog_apis__api_id__get","parameters":[{"name":"api_id","in":"path","required":true,"schema":{"type":"string","title":"Api Id"}},{"name":"expand","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expand"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogEntryView"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}}},"components":{"schemas":{"AttemptListResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/AttemptResponse"},"type":"array","title":"Results"}},"type":"object","required":["results"],"title":"AttemptListResponse"},"AttemptResponse":{"properties":{"attempt_id":{"type":"string","title":"Attempt Id"},"delivery_id":{"type":"string","title":"Delivery Id"},"attempt_number":{"type":"integer","title":"Attempt Number","description":"Position within the delivery's current retry cycle; restarts at 1 when it is replayed."},"status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Status Code"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latency Ms"},"attempted_at":{"type":"number","title":"Attempted At"}},"type":"object","required":["attempt_id","delivery_id","attempt_number","status_code","error","latency_ms","attempted_at"],"title":"AttemptResponse"},"AudioOutput":{"properties":{"media_type":{"type":"string","const":"audio","title":"Media Type","default":"audio"},"audio":{"$ref":"#/components/schemas/MediaAsset"},"subtitle":{"anyOf":[{"$ref":"#/components/schemas/MediaAsset"},{"type":"null"}]}},"type":"object","required":["audio"],"title":"AudioOutput"},"BillingBalanceResponse":{"properties":{"unit":{"type":"string","const":"micro_usd","title":"Unit","default":"micro_usd"},"currency":{"type":"string","const":"usd","title":"Currency","default":"usd"},"org_id":{"type":"string","title":"Org Id"},"balance_micro_usd":{"type":"integer","title":"Balance Micro Usd","description":"Prepaid balance in micro-USD (the exact ledger unit)."},"postpaid":{"anyOf":[{"$ref":"#/components/schemas/PostpaidView"},{"type":"null"}],"description":"Invoice-billing schedule, or null for a plain prepaid org. Never null merely because it could not be read — an unresolvable schedule fails the whole read (503), so null means prepaid and nothing else."}},"type":"object","required":["org_id","balance_micro_usd"],"title":"BillingBalanceResponse"},"BillingSpendDailyItem":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"api_key_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key Id"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"amount_micro_usd":{"type":"integer","title":"Amount Micro Usd","description":"Spend in micro-USD (the exact ledger unit)."},"request_count":{"type":"integer","title":"Request Count"}},"type":"object","required":["date","amount_micro_usd","request_count"],"title":"BillingSpendDailyItem"},"BillingSpendDailyResponse":{"properties":{"unit":{"type":"string","const":"micro_usd","title":"Unit","default":"micro_usd"},"currency":{"type":"string","const":"usd","title":"Currency","default":"usd"},"results":{"items":{"$ref":"#/components/schemas/BillingSpendDailyItem"},"type":"array","title":"Results"}},"type":"object","required":["results"],"title":"BillingSpendDailyResponse"},"CatalogCall":{"properties":{"method":{"type":"string","title":"Method"},"path":{"type":"string","title":"Path"}},"type":"object","required":["method","path"],"title":"CatalogCall"},"CatalogCategory":{"type":"string","enum":["video","image","audio","llm"],"title":"CatalogCategory"},"CatalogComponentView":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"role":{"type":"string","enum":["input","output"],"title":"Role"},"unit":{"$ref":"#/components/schemas/CatalogUnit"},"starting_at":{"$ref":"#/components/schemas/CatalogTier"},"price_tiers":{"items":{"$ref":"#/components/schemas/CatalogTier"},"type":"array","title":"Price Tiers"}},"type":"object","required":["role","unit","starting_at","price_tiers"],"title":"CatalogComponentView","description":"One billed dimension: its unit basis, its cheapest tier, and every priced tier. ``name``\nis omitted for a row that bills a single dimension."},"CatalogEntryView":{"properties":{"api_id":{"type":"string","title":"Api Id"},"vendor":{"type":"string","title":"Vendor"},"function":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Function"},"category":{"$ref":"#/components/schemas/CatalogCategory"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"display_pricing":{"$ref":"#/components/schemas/CatalogPricing"},"call":{"anyOf":[{"$ref":"#/components/schemas/CatalogCall"},{"type":"null"}]},"input_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Input Schema"}},"type":"object","required":["api_id","vendor","function","category","name","description","display_pricing"],"title":"CatalogEntryView","description":"Public projection of one catalog row. call/input_schema are omitted (not null)\nwhen absent, so the JSON stays lean; function is emitted as null for LLM rows.\n\n`display_pricing` carries one component per billed dimension, each priced at its per-unit\nrate; a row that bills a single dimension has one component with `name` omitted.\n\nNo `invocable` field: everything served is invocable (unwired rows 404), so `call`\npresence is the only rail signal a consumer needs."},"CatalogList":{"properties":{"apis":{"items":{"$ref":"#/components/schemas/CatalogEntryView"},"type":"array","title":"Apis"}},"type":"object","required":["apis"],"title":"CatalogList"},"CatalogPricing":{"properties":{"components":{"items":{"$ref":"#/components/schemas/CatalogComponentView"},"type":"array","title":"Components"}},"type":"object","required":["components"],"title":"CatalogPricing"},"CatalogQuote":{"properties":{"sell_usd":{"type":"string","title":"Sell Usd"},"micro_usd":{"type":"integer","title":"Micro Usd"}},"type":"object","required":["sell_usd","micro_usd"],"title":"CatalogQuote","description":"Retail price for a request: sell_usd is the precise decimal price and micro_usd is\nthe exact micro-USD amount the ledger charges."},"CatalogTier":{"properties":{"spec":{"additionalProperties":true,"type":"object","title":"Spec"},"sell_usd":{"type":"string","title":"Sell Usd"},"micro_usd":{"type":"integer","title":"Micro Usd"}},"type":"object","required":["spec","sell_usd","micro_usd"],"title":"CatalogTier","description":"One priced spec variant (e.g. a resolution) at the component's per-unit rate (e.g. USD\nper second), never net of the unit's included allowance."},"CatalogUnit":{"properties":{"type":{"type":"string","title":"Type"},"quantity":{"anyOf":[{"type":"integer"},{"type":"string"}],"title":"Quantity"},"included":{"type":"integer","title":"Included"}},"type":"object","required":["type","quantity","included"],"title":"CatalogUnit","description":"The measure a component's prices are quoted per, plus the free allowance deducted\nbefore anything is charged (H3's first five reference images)."},"CompetitorKind":{"type":"string","enum":["official","aggregator"],"title":"CompetitorKind","description":"Whether a quote is the model vendor's own API price or a reseller's.\n\nThe distinction is editorial, not cosmetic: ``official`` is the vendor's list price and the\nprimary \"cheaper than going direct\" claim, while ``aggregator`` is a reseller's markup. A\nsurface that mixes them without labelling would compare unlike things."},"CompetitorList":{"properties":{"recorded_at":{"type":"string","format":"date","title":"Recorded At"},"competitors":{"items":{"$ref":"#/components/schemas/CompetitorView"},"type":"array","title":"Competitors"},"rows":{"items":{"$ref":"#/components/schemas/CompetitorRowView"},"type":"array","title":"Rows"}},"type":"object","required":["recorded_at","competitors","rows"],"title":"CompetitorList","description":"Every competitor quote joinable to a catalog row visible in this environment."},"CompetitorQuoteView":{"properties":{"competitor":{"type":"string","title":"Competitor"},"usd":{"type":"string","title":"Usd"},"usd_input":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Usd Input"},"unit":{"$ref":"#/components/schemas/CompetitorUnit"}},"type":"object","required":["competitor","usd","unit"],"title":"CompetitorQuoteView","description":"One rival's price for the scope its row describes, in the unit it is comparable in.\n\n``usd`` prices the output meter. ``usd_input``, when present, is the rival's separate\ninput/reference-media meter in the same unit — estimate a job as\noutput x ``usd`` + input x ``usd_input``. Omitted when the rival has no input meter here."},"CompetitorRowView":{"properties":{"api_id":{"type":"string","title":"Api Id"},"component":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component"},"spec":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Spec"},"quotes":{"items":{"$ref":"#/components/schemas/CompetitorQuoteView"},"type":"array","title":"Quotes"}},"type":"object","required":["api_id","quotes"],"title":"CompetitorRowView","description":"Quotes for one api_id, scoped by a PARTIAL tier spec and an optional component.\n\n``spec`` matches every priced tier whose spec is a superset of it — so one \"720p\" row covers\n`720p · standard` and `720p · fast` without restating the catalog's tier shape. An absent\n``spec`` applies to every tier; an absent ``component`` compares against the row's output\ncomponent.\n\nResolve PER COMPETITOR: for a tier, take each rival's price from the most specific row that\nquotes that rival, and keep consulting coarser rows for rivals a finer row omits. Choosing a\nsingle winning row drops every rival priced only at a coarser scope.\n\nQuotes stay in each rival's own comparable unit. A per-image price against a model Pika\nbills per token is left as-is deliberately: the conversion needs per-family token rates\nthat belong to the consumer's presentation logic, not to this data."},"CompetitorUnit":{"type":"string","enum":["second","minute","image","request","1000 chars","1M tokens"],"title":"CompetitorUnit","description":"The unit a competitor quote is comparable in.\n\nThis is a comparability class, not a catalog unit type: a competitor's \"per 1M tokens\"\nprice does not distinguish input from output tokens the way ``input_token`` /\n``output_token`` do, so collapsing them here is the honest shape. Which side of a\nmulti-component model a quote belongs to is carried by ``component`` instead."},"CompetitorView":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"kind":{"$ref":"#/components/schemas/CompetitorKind"}},"type":"object","required":["id","name","kind"],"title":"CompetitorView"},"DeliveryDetailResponse":{"properties":{"delivery_id":{"type":"string","title":"Delivery Id"},"message_id":{"type":"string","title":"Message Id"},"endpoint_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint Id","description":"The endpoint this delivery targets; null for a per-request callback."},"target_host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Host","description":"Hostname of a per-request callback's target URL; null for an endpoint delivery."},"event_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id","description":"The id of the resource the event describes — for media events, the job id."},"status":{"$ref":"#/components/schemas/DeliveryStatus"},"attempt_count":{"type":"integer","title":"Attempt Count"},"next_attempt_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Next Attempt At"},"last_status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Status Code"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"last_attempt_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Last Attempt At"},"created_at":{"type":"number","title":"Created At"},"updated_at":{"type":"number","title":"Updated At"},"delivered_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Delivered At"},"payload":{"additionalProperties":true,"type":"object","title":"Payload","description":"The JSON body sent to the endpoint: the signed event envelope with type, timestamp, and data."}},"type":"object","required":["delivery_id","message_id","endpoint_id","target_host","status","attempt_count","next_attempt_at","last_status_code","last_error","last_attempt_at","created_at","updated_at","delivered_at","payload"],"title":"DeliveryDetailResponse"},"DeliveryListResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/DeliveryResponse"},"type":"array","title":"Results"},"has_next":{"type":"boolean","title":"Has Next"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["results","has_next","next_cursor"],"title":"DeliveryListResponse"},"DeliveryResponse":{"properties":{"delivery_id":{"type":"string","title":"Delivery Id"},"message_id":{"type":"string","title":"Message Id"},"endpoint_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint Id","description":"The endpoint this delivery targets; null for a per-request callback."},"target_host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Host","description":"Hostname of a per-request callback's target URL; null for an endpoint delivery."},"event_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id","description":"The id of the resource the event describes — for media events, the job id."},"status":{"$ref":"#/components/schemas/DeliveryStatus"},"attempt_count":{"type":"integer","title":"Attempt Count"},"next_attempt_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Next Attempt At"},"last_status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Status Code"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"last_attempt_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Last Attempt At"},"created_at":{"type":"number","title":"Created At"},"updated_at":{"type":"number","title":"Updated At"},"delivered_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Delivered At"}},"type":"object","required":["delivery_id","message_id","endpoint_id","target_host","status","attempt_count","next_attempt_at","last_status_code","last_error","last_attempt_at","created_at","updated_at","delivered_at"],"title":"DeliveryResponse"},"DeliveryStatus":{"type":"string","enum":["pending","delivered","failed","canceled"],"title":"DeliveryStatus"},"ElevenLabsDialogueInput":{"properties":{"text":{"type":"string","maxLength":3000,"minLength":1,"title":"Text","description":"Line of dialogue for this speaker."},"voice_id":{"type":"string","minLength":1,"title":"Voice Id","description":"ElevenLabs voice ID that speaks this line."}},"additionalProperties":false,"type":"object","required":["text","voice_id"],"title":"ElevenLabsDialogueInput"},"ElevenLabsDialogueRequest":{"properties":{"inputs":{"items":{"$ref":"#/components/schemas/ElevenLabsDialogueInput"},"type":"array","maxItems":10,"minItems":1,"title":"Inputs","description":"Ordered dialogue turns, each with its own voice and text."},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible output. Defaults to a random seed."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["inputs"],"title":"ElevenLabsDialogueRequest"},"ElevenLabsDubbingRequest":{"properties":{"source_url":{"type":"string","pattern":"^https?://","title":"Source Url","description":"URL of the source audio or video to dub.","media_kinds":["audio","video"]},"duration_seconds":{"type":"number","maximum":3600.0,"minimum":0.1,"title":"Duration Seconds","description":"Duration of the source media in seconds."},"target_lang":{"type":"string","maxLength":8,"minLength":2,"title":"Target Lang","description":"ISO language code to dub the media into."},"source_lang":{"anyOf":[{"type":"string","maxLength":8,"minLength":2},{"type":"null"}],"title":"Source Lang","description":"ISO language code of the source. Defaults to auto-detection."},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the dubbed output.","default":false},"num_speakers":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":0.0},{"type":"null"}],"title":"Num Speakers","description":"Number of speakers to detect. Defaults to auto-detection."},"highest_resolution":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Highest Resolution","description":"Whether to render video dubs at the highest available resolution."},"drop_background_audio":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Drop Background Audio","description":"Whether to remove background audio from the source."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["source_url","duration_seconds","target_lang"],"title":"ElevenLabsDubbingRequest"},"ElevenLabsMusicRequest":{"properties":{"prompt":{"type":"string","maxLength":4100,"minLength":1,"title":"Prompt","description":"Text describing the music to generate."},"music_length_ms":{"type":"integer","maximum":600000.0,"minimum":3000.0,"title":"Music Length Ms","description":"Length of the track in milliseconds."},"force_instrumental":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Force Instrumental","description":"Whether to force an instrumental track with no vocals."},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Seed for reproducible output. Defaults to a random seed."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","music_length_ms"],"title":"ElevenLabsMusicRequest"},"ElevenLabsScribeRequest":{"properties":{"audio_url":{"type":"string","pattern":"^https?://","title":"Audio Url","description":"URL of the audio to transcribe.","media_kinds":["audio"]},"duration_seconds":{"type":"number","maximum":3600.0,"minimum":0.1,"title":"Duration Seconds","description":"Duration of the source audio in seconds."},"language_code":{"anyOf":[{"type":"string","pattern":"^[a-z]{2,3}$"},{"type":"null"}],"title":"Language Code","description":"ISO-639-1 or 639-3 language code (e.g. 'en', 'eng'). Omit to auto-detect."},"diarize":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Diarize","description":"Whether to label which speaker said each segment."},"use_multi_channel":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use Multi Channel","description":"Whether to transcribe each audio channel separately."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["audio_url","duration_seconds"],"title":"ElevenLabsScribeRequest"},"ElevenLabsSoundEffectRequest":{"properties":{"text":{"type":"string","maxLength":450,"minLength":1,"title":"Text","description":"Text describing the sound effect to generate."},"duration_seconds":{"type":"number","maximum":30.0,"minimum":0.5,"title":"Duration Seconds","description":"Length of the sound effect in seconds."},"prompt_influence":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Prompt Influence","description":"How closely the output follows the prompt, from 0 to 1."},"loop":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Loop","description":"Whether to generate a seamlessly looping sound effect."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["text","duration_seconds"],"title":"ElevenLabsSoundEffectRequest"},"ElevenLabsSpeechToSpeechRequest":{"properties":{"audio_url":{"type":"string","pattern":"^https?://","title":"Audio Url","description":"URL of the source audio to convert.","media_kinds":["audio"]},"duration_seconds":{"type":"number","maximum":600.0,"minimum":0.1,"title":"Duration Seconds","description":"Duration of the source audio in seconds."},"voice_id":{"type":"string","minLength":1,"title":"Voice Id","description":"Target ElevenLabs voice ID for the output.","default":"21m00Tcm4TlvDq8ikWAM"},"voice_settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Voice Settings","description":"Voice tuning such as stability and similarity boost."},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible output. Defaults to a random seed."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["audio_url","duration_seconds"],"title":"ElevenLabsSpeechToSpeechRequest"},"ElevenLabsTTSRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text","description":"Text to convert to speech."},"voice_id":{"type":"string","minLength":1,"title":"Voice Id","description":"ElevenLabs voice ID to speak the text.","default":"21m00Tcm4TlvDq8ikWAM"},"voice_settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Voice Settings","description":"Voice tuning such as stability and similarity boost."},"language_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language Code","description":"ISO language code to enforce a language."},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible output. Defaults to a random seed."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["text"],"title":"ElevenLabsTTSRequest"},"ElevenLabsTurboTTSRequest":{"properties":{"text":{"type":"string","maxLength":40000,"minLength":1,"title":"Text","description":"Text to convert to speech."},"voice_id":{"type":"string","minLength":1,"title":"Voice Id","description":"ElevenLabs voice ID to speak the text.","default":"21m00Tcm4TlvDq8ikWAM"},"voice_settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Voice Settings","description":"Voice tuning such as stability and similarity boost."},"language_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language Code","description":"ISO language code to enforce a language."},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible output. Defaults to a random seed."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["text"],"title":"ElevenLabsTurboTTSRequest"},"ElevenLabsVoiceIsolationRequest":{"properties":{"audio_url":{"type":"string","pattern":"^https?://","title":"Audio Url","description":"URL of the audio to isolate voice from.","media_kinds":["audio"]},"duration_seconds":{"type":"number","maximum":600.0,"minimum":0.1,"title":"Duration Seconds","description":"Duration of the source audio in seconds."},"file_format":{"anyOf":[{"type":"string","enum":["pcm_s16le_16","other"]},{"type":"null"}],"title":"File Format","description":"Format of the source audio file."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["audio_url","duration_seconds"],"title":"ElevenLabsVoiceIsolationRequest"},"Flux3ImageToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"720p"},"duration":{"anyOf":[{"type":"string","const":"auto"},{"type":"integer","maximum":20.0,"minimum":5.0}],"title":"Duration","description":"Video length in whole seconds (5-20), or \"auto\" to let the model choose.","default":"auto"},"aspect_ratio":{"type":"string","enum":["auto","21:9","2:1","16:9","4:3","1:1","3:4","9:16"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"auto"},"draft":{"type":"boolean","title":"Draft","description":"Generate a cheaper 720p draft preview instead of a full-quality render.","default":false},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate synchronized audio.","default":true,"native_audio":true},"keyframes":{"items":{"$ref":"#/components/schemas/Flux3Keyframe"},"type":"array","maxItems":10,"minItems":1,"title":"Keyframes","description":"Keyframe images: one opening frame, several frames to interpolate through, or timestamped frames (set at_s on every entry)."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","keyframes"],"title":"Flux3ImageToVideoRequest"},"Flux3Keyframe":{"properties":{"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"Keyframe image URL.","media_kinds":["image"]},"at_s":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"At (seconds)","description":"Seconds into the clip this frame anchors at. Set it on every keyframe or on none."}},"additionalProperties":false,"type":"object","required":["image_url"],"title":"Flux3Keyframe","description":"One keyframe image, optionally anchored to a timeline position. A uniform\nobject shape (rather than BFL's string/list/pair union) so the request stays\nmachine-renderable; the resolver folds it back onto the provider wire."},"Flux3TextToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"720p"},"duration":{"anyOf":[{"type":"string","const":"auto"},{"type":"integer","maximum":20.0,"minimum":5.0}],"title":"Duration","description":"Video length in whole seconds (5-20), or \"auto\" to let the model choose.","default":"auto"},"aspect_ratio":{"type":"string","enum":["auto","21:9","2:1","16:9","4:3","1:1","3:4","9:16"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"auto"},"draft":{"type":"boolean","title":"Draft","description":"Generate a cheaper 720p draft preview instead of a full-quality render.","default":false},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate synchronized audio.","default":true,"native_audio":true},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"Flux3TextToVideoRequest"},"Flux3VideoToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"720p"},"duration":{"anyOf":[{"type":"string","const":"auto"},{"type":"integer","maximum":20.0,"minimum":5.0}],"title":"Duration","description":"Video length in whole seconds (5-20), or \"auto\" to let the model choose.","default":"auto"},"aspect_ratio":{"type":"string","enum":["auto","21:9","2:1","16:9","4:3","1:1","3:4","9:16"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"auto"},"draft":{"type":"boolean","title":"Draft","description":"Generate a cheaper 720p draft preview instead of a full-quality render.","default":false},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate synchronized audio.","default":true,"native_audio":true},"start_video_url":{"type":"string","pattern":"^https?://","title":"Start Video Url","description":"URL of the video to continue from.","media_kinds":["video"]},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","start_video_url"],"title":"Flux3VideoToVideoRequest"},"GeminiEditImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":1.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"aspect_ratio":{"type":"string","enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","auto"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"1:1"},"output_format":{"type":"string","enum":["png","jpeg","webp"],"title":"Output Format","description":"Image file format of the output.","default":"png"},"resolution":{"type":"string","enum":["512","1K","2K","4K"],"title":"Resolution","description":"Output resolution.","default":"1K"},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":16,"minItems":1,"title":"Image Urls","description":"URLs of the source images to edit."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"GeminiEditImageRequest"},"GeminiFlashLiteEditImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":1.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"aspect_ratio":{"type":"string","enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","auto"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"1:1"},"output_format":{"type":"string","enum":["png","jpeg","webp"],"title":"Output Format","description":"Image file format of the output.","default":"png"},"resolution":{"type":"string","const":"1K","title":"Resolution","description":"Output resolution (1K only for Flash Lite).","default":"1K"},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":16,"minItems":1,"title":"Image Urls","description":"URLs of the source images to edit."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"GeminiFlashLiteEditImageRequest"},"GeminiFlashLiteTextToImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":1.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"aspect_ratio":{"type":"string","enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","auto"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"1:1"},"output_format":{"type":"string","enum":["png","jpeg","webp"],"title":"Output Format","description":"Image file format of the output.","default":"png"},"resolution":{"type":"string","const":"1K","title":"Resolution","description":"Output resolution (1K only for Flash Lite).","default":"1K"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"GeminiFlashLiteTextToImageRequest"},"GeminiProEditImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":1.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"aspect_ratio":{"type":"string","enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","auto"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"1:1"},"output_format":{"type":"string","enum":["png","jpeg","webp"],"title":"Output Format","description":"Image file format of the output.","default":"png"},"resolution":{"type":"string","enum":["1K","2K","4K"],"title":"Resolution","description":"Output resolution.","default":"1K"},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":16,"minItems":1,"title":"Image Urls","description":"URLs of the source images to edit."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"GeminiProEditImageRequest"},"GeminiProTextToImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":1.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"aspect_ratio":{"type":"string","enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","auto"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"1:1"},"output_format":{"type":"string","enum":["png","jpeg","webp"],"title":"Output Format","description":"Image file format of the output.","default":"png"},"resolution":{"type":"string","enum":["1K","2K","4K"],"title":"Resolution","description":"Output resolution.","default":"1K"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"GeminiProTextToImageRequest"},"GeminiTextToImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":1.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"aspect_ratio":{"type":"string","enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","auto"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"1:1"},"output_format":{"type":"string","enum":["png","jpeg","webp"],"title":"Output Format","description":"Image file format of the output.","default":"png"},"resolution":{"type":"string","enum":["512","1K","2K","4K"],"title":"Resolution","description":"Output resolution.","default":"1K"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"GeminiTextToImageRequest"},"GoogleLyria3Request":{"properties":{"prompt":{"type":"string","maxLength":4096,"minLength":1,"title":"Prompt"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"GoogleLyria3Request"},"GoogleLyriaRequest":{"properties":{"prompt":{"type":"string","maxLength":4096,"minLength":1,"title":"Prompt"},"negative_prompt":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Negative Prompt"},"seed":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Seed"},"sample_count":{"anyOf":[{"type":"integer","maximum":1.0,"minimum":1.0},{"type":"null"}],"title":"Sample Count"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"GoogleLyriaRequest"},"GrokEditImageRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"resolution":{"type":"string","enum":["1K","2K"],"title":"Resolution","default":"1K"},"aspect_ratio":{"type":"string","enum":["1:1","2:3","3:2","3:4","4:3","9:16","16:9","9:19.5","19.5:9","9:20","20:9","1:2","2:1","auto"],"title":"Aspect Ratio","default":"auto"},"num_images":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Num Images","default":1},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":3,"minItems":1,"title":"Image Urls"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"GrokEditImageRequest"},"GrokImageToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"duration":{"type":"integer","maximum":15.0,"minimum":1.0,"title":"Duration","default":6},"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","media_kinds":["image"]},"aspect_ratio":{"anyOf":[{"type":"string","enum":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},{"type":"null"}],"title":"Aspect Ratio"},"resolution":{"type":"string","enum":["480p","720p"],"title":"Resolution","default":"720p"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_url"],"title":"GrokImageToVideoRequest"},"GrokReferenceToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"duration":{"type":"integer","maximum":15.0,"minimum":1.0,"title":"Duration","default":8},"aspect_ratio":{"type":"string","enum":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"],"title":"Aspect Ratio","default":"16:9"},"resolution":{"type":"string","enum":["480p","720p"],"title":"Resolution","default":"480p"},"reference_image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":3,"minItems":1,"title":"Reference Image Urls"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","reference_image_urls"],"title":"GrokReferenceToVideoRequest"},"GrokTextToImageRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"resolution":{"type":"string","enum":["1K","2K"],"title":"Resolution","default":"1K"},"aspect_ratio":{"type":"string","enum":["1:1","2:3","3:2","3:4","4:3","9:16","16:9","9:19.5","19.5:9","9:20","20:9","1:2","2:1","auto"],"title":"Aspect Ratio","default":"1:1"},"num_images":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Num Images","default":1},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"GrokTextToImageRequest"},"GrokTextToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"duration":{"type":"integer","maximum":15.0,"minimum":1.0,"title":"Duration","default":6},"aspect_ratio":{"type":"string","enum":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"],"title":"Aspect Ratio","default":"16:9"},"resolution":{"type":"string","enum":["480p","720p"],"title":"Resolution","default":"720p"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"GrokTextToVideoRequest"},"GrokVideoEditRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","media_kinds":["video"]},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","video_url"],"title":"GrokVideoEditRequest"},"H3ImageToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"duration":{"type":"integer","maximum":15.0,"minimum":4.0,"title":"Duration","default":5},"resolution":{"type":"string","enum":["768P","2K"],"title":"Resolution","default":"2K"},"seed":{"anyOf":[{"type":"integer","maximum":4294967295.0,"minimum":-1.0},{"type":"null"}],"title":"Seed"},"aigc_watermark":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Aigc Watermark"},"first_frame_image":{"type":"string","pattern":"^https?://","title":"First Frame Image","media_kinds":["image"]},"last_frame_image":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Last Frame Image"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","first_frame_image"],"title":"H3ImageToVideoRequest"},"H3ReferenceToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"duration":{"type":"integer","maximum":15.0,"minimum":4.0,"title":"Duration","default":5},"resolution":{"type":"string","enum":["768P","2K"],"title":"Resolution","default":"2K"},"seed":{"anyOf":[{"type":"integer","maximum":4294967295.0,"minimum":-1.0},{"type":"null"}],"title":"Seed"},"aigc_watermark":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Aigc Watermark"},"ratio":{"type":"string","enum":["adaptive","21:9","16:9","4:3","1:1","3:4","9:16"],"title":"Ratio","default":"adaptive"},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":9,"title":"Image Urls","description":"Reference images, cited in the prompt as \"Image 1\"..\"Image 9\" in list order. The first five are free; each further image is billed per input image."},"video_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["video"]},"type":"array","maxItems":3,"title":"Video Urls","description":"Reference videos, cited in the prompt as \"Video 1\"..\"Video 3\" in list order, 15s total across all three. Billed per second of reference video the provider consumes."},"audio_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["audio"]},"type":"array","maxItems":3,"title":"Audio Urls","description":"Reference audio, cited in the prompt as \"Audio 1\"..\"Audio 3\" in list order; requires at least one reference image or video."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"H3ReferenceToVideoRequest"},"H3TextToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"duration":{"type":"integer","maximum":15.0,"minimum":4.0,"title":"Duration","default":5},"resolution":{"type":"string","enum":["768P","2K"],"title":"Resolution","default":"2K"},"seed":{"anyOf":[{"type":"integer","maximum":4294967295.0,"minimum":-1.0},{"type":"null"}],"title":"Seed"},"aigc_watermark":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Aigc Watermark"},"ratio":{"type":"string","enum":["21:9","16:9","4:3","1:1","3:4","9:16"],"title":"Ratio","default":"16:9"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"H3TextToVideoRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HailuoImageToVideoRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"},"duration":{"type":"integer","enum":[6,10],"title":"Duration","default":6},"resolution":{"type":"string","enum":["768p","1080p"],"title":"Resolution","default":"768p"},"prompt_optimizer":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prompt Optimizer"},"fast_pretreatment":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Fast Pretreatment"},"first_frame_image":{"type":"string","pattern":"^https?://","title":"First Frame Image","media_kinds":["image"]},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","first_frame_image"],"title":"HailuoImageToVideoRequest"},"HailuoVideoRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"},"duration":{"type":"integer","enum":[6,10],"title":"Duration","default":6},"resolution":{"type":"string","enum":["768p","1080p"],"title":"Resolution","default":"768p"},"prompt_optimizer":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prompt Optimizer"},"fast_pretreatment":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Fast Pretreatment"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"HailuoVideoRequest"},"HappyhorseImageToVideoRequest":{"properties":{"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"resolution":{"type":"string","enum":["720P","1080P"],"title":"Resolution","default":"1080P"},"ratio":{"anyOf":[{"type":"string","enum":["16:9","9:16","1:1","4:3","3:4","4:5","5:4","9:21","21:9"]},{"type":"null"}],"title":"Ratio"},"duration":{"type":"integer","maximum":15.0,"minimum":3.0,"title":"Duration","default":5},"watermark":{"type":"boolean","title":"Watermark","default":false},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","media_kinds":["image"]},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["image_url"],"title":"HappyhorseImageToVideoRequest"},"HappyhorseReferenceToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"resolution":{"type":"string","enum":["720P","1080P"],"title":"Resolution","default":"1080P"},"ratio":{"anyOf":[{"type":"string","enum":["16:9","9:16","1:1","4:3","3:4","4:5","5:4","9:21","21:9"]},{"type":"null"}],"title":"Ratio"},"duration":{"type":"integer","maximum":15.0,"minimum":3.0,"title":"Duration","default":5},"watermark":{"type":"boolean","title":"Watermark","default":false},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"reference_image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":9,"minItems":1,"title":"Reference Image Urls"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","reference_image_urls"],"title":"HappyhorseReferenceToVideoRequest"},"HappyhorseTextToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"resolution":{"type":"string","enum":["720P","1080P"],"title":"Resolution","default":"1080P"},"ratio":{"anyOf":[{"type":"string","enum":["16:9","9:16","1:1","4:3","3:4","4:5","5:4","9:21","21:9"]},{"type":"null"}],"title":"Ratio"},"duration":{"type":"integer","maximum":15.0,"minimum":3.0,"title":"Duration","default":5},"watermark":{"type":"boolean","title":"Watermark","default":false},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"HappyhorseTextToVideoRequest"},"HappyhorseVideoEditRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","media_kinds":["video"]},"reference_image_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":5},{"type":"null"}],"title":"Reference Image Urls"},"resolution":{"type":"string","enum":["720P","1080P"],"title":"Resolution","default":"1080P"},"watermark":{"type":"boolean","title":"Watermark","default":false},"audio_setting":{"anyOf":[{"type":"string","enum":["auto","origin"]},{"type":"null"}],"title":"Audio Setting"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","video_url"],"title":"HappyhorseVideoEditRequest"},"ImageOutput":{"properties":{"media_type":{"type":"string","const":"image","title":"Media Type","default":"image"},"images":{"items":{"$ref":"#/components/schemas/MediaAsset"},"type":"array","title":"Images"}},"type":"object","required":["images"],"title":"ImageOutput"},"Kling3Content":{"properties":{"type":{"type":"string","enum":["prompt","first_frame","last_frame","refer_image","feature_video","base_video","element"],"title":"Type","description":"Input kind: prompt text, reference image/video, or an Element."},"text":{"anyOf":[{"type":"string","maxLength":3072},{"type":"null"}],"title":"Text","description":"Prompt text (type='prompt')."},"url":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image","video"]},{"type":"null"}],"title":"Url","description":"Material URL (image/video input types)."},"element_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Element Id","description":"Element ID (type='element')."},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Index id referenced from the prompt as @id."}},"additionalProperties":false,"type":"object","required":["type"],"title":"Kling3Content"},"Kling3ElementRef":{"properties":{"element_id":{"type":"string","minLength":1,"title":"Element Id","description":"Stored Element id from the Element API."},"id":{"type":"string","minLength":1,"title":"Id","description":"Handle the prompt references as @id."}},"additionalProperties":false,"type":"object","required":["element_id","id"],"title":"Kling3ElementRef"},"Kling3ImageToVideoRequest":{"properties":{"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"URL of the first-frame image to animate.","media_kinds":["image"]},"prompt":{"anyOf":[{"type":"string","maxLength":3072},{"type":"null"}],"title":"Prompt","description":"Text prompt guiding the result."},"last_frame_url":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Last Frame Url","description":"URL of an optional end frame."},"elements":{"anyOf":[{"items":{"$ref":"#/components/schemas/Kling3ElementRef"},"type":"array","maxItems":3},{"type":"null"}],"title":"Elements","description":"Up to 3 Elements to place in the scene."},"watermark":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Watermark","description":"Also return a watermarked result."},"duration":{"type":"integer","maximum":15.0,"minimum":3.0,"title":"Duration","description":"Video length in seconds.","default":5},"resolution":{"type":"string","enum":["720p","1080p","4k"],"title":"Resolution","description":"Output resolution.","default":"720p"},"audio":{"type":"string","enum":["native","off"],"title":"Audio","description":"Whether to generate native audio.","default":"off","native_audio":true},"multi_shot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Multi Shot","description":"Allow multi-shot output from a shot-scripted prompt."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["image_url"],"title":"Kling3ImageToVideoRequest"},"Kling3MotionControlRequest":{"properties":{"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"URL of the character image to animate.","media_kinds":["image"]},"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","description":"URL of the reference video that drives the motion.","media_kinds":["video"]},"prompt":{"anyOf":[{"type":"string","maxLength":3072},{"type":"null"}],"title":"Prompt","description":"Text prompt guiding the result."},"character_orientation":{"type":"string","enum":["image","video"],"title":"Character Orientation","description":"Whether the character faces the orientation from the image or the reference video."},"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"720p"},"audio":{"type":"string","enum":["original","off"],"title":"Audio","description":"Whether to keep the reference video's original audio.","default":"original"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["image_url","video_url","character_orientation"],"title":"Kling3MotionControlRequest"},"Kling3OmniVideoRequest":{"properties":{"contents":{"items":{"$ref":"#/components/schemas/Kling3Content"},"type":"array","minItems":1,"title":"Contents","description":"Reference inputs: prompt, images, videos, Elements."},"duration":{"type":"integer","maximum":15.0,"minimum":3.0,"title":"Duration","description":"Video length in seconds.","default":5},"resolution":{"type":"string","enum":["720p","1080p","4k"],"title":"Resolution","description":"Output resolution.","default":"720p"},"aspect_ratio":{"type":"string","enum":["16:9","9:16","1:1"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"16:9"},"audio":{"type":"string","enum":["native","original","off"],"title":"Audio","description":"Audio mode for the output.","default":"off","native_audio":true},"multi_shot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Multi Shot","description":"Allow multi-shot output from a shot-scripted prompt."},"watermark":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Watermark","description":"Also return a watermarked result."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["contents"],"title":"Kling3OmniVideoRequest"},"Kling3TextToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":3072,"minLength":1,"title":"Prompt","description":"Text prompt describing the video."},"duration":{"type":"integer","maximum":15.0,"minimum":3.0,"title":"Duration","description":"Video length in seconds.","default":5},"resolution":{"type":"string","enum":["720p","1080p","4k"],"title":"Resolution","description":"Output resolution.","default":"720p"},"aspect_ratio":{"type":"string","enum":["16:9","9:16","1:1"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"16:9"},"audio":{"type":"string","enum":["native","off"],"title":"Audio","description":"Whether to generate native audio.","default":"off","native_audio":true},"multi_shot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Multi Shot","description":"Allow multi-shot output from a shot-scripted prompt."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"Kling3TextToVideoRequest"},"Kling3TurboImageToVideoRequest":{"properties":{"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"URL of the first-frame image to animate.","media_kinds":["image"]},"prompt":{"anyOf":[{"type":"string","maxLength":3072},{"type":"null"}],"title":"Prompt","description":"Text prompt guiding the result."},"duration":{"type":"integer","maximum":15.0,"minimum":3.0,"title":"Duration","description":"Video length in seconds.","default":5},"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"720p"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["image_url"],"title":"Kling3TurboImageToVideoRequest","native_audio":true},"Kling3TurboTextToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":3072,"minLength":1,"title":"Prompt","description":"Text prompt describing the video."},"duration":{"type":"integer","maximum":15.0,"minimum":3.0,"title":"Duration","description":"Video length in seconds.","default":5},"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"720p"},"aspect_ratio":{"type":"string","enum":["16:9","9:16","1:1"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"16:9"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"Kling3TurboTextToVideoRequest","native_audio":true},"KlingAvatarRequest":{"properties":{"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"URL of the portrait image to animate.","media_kinds":["image"]},"sound_file":{"type":"string","pattern":"^https?://","title":"Sound File","description":"URL of the driving audio (2-300s).","media_kinds":["audio"]},"prompt":{"anyOf":[{"type":"string","maxLength":3072},{"type":"null"}],"title":"Prompt","description":"Text prompt guiding the result."},"mode":{"type":"string","enum":["std","pro"],"title":"Mode","description":"Generation quality tier: standard or pro.","default":"pro"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["image_url","sound_file"],"title":"KlingAvatarRequest"},"KlingLipsyncRequest":{"properties":{"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","description":"URL of the video to lip-sync.","media_kinds":["video"]},"audio_url":{"type":"string","pattern":"^https?://","title":"Audio Url","description":"URL of the audio to sync the lips to.","media_kinds":["audio"]},"sound_insert_time":{"type":"integer","minimum":0.0,"title":"Sound Insert Time","description":"Where in the video to insert the audio, in milliseconds.","default":0},"sound_start_time":{"type":"integer","minimum":0.0,"title":"Sound Start Time","description":"Where in the audio to start playback, in milliseconds.","default":0},"sound_end_time":{"type":"integer","minimum":0.0,"title":"Sound End Time","description":"Where in the audio to stop playback, in milliseconds."},"sound_volume":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Sound Volume","description":"Volume of the inserted audio, from 0 to 1."},"original_audio_volume":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Original Audio Volume","description":"Volume of the video's original audio, from 0 to 1."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["video_url","audio_url","sound_end_time"],"title":"KlingLipsyncRequest"},"KlingTextToAudioRequest":{"properties":{"prompt":{"type":"string","maxLength":200,"minLength":1,"title":"Prompt","description":"Text describing the audio to generate."},"duration":{"type":"number","maximum":10.0,"minimum":3.0,"title":"Duration","description":"Length of the audio in seconds."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration"],"title":"KlingTextToAudioRequest"},"KlingVideoToAudioRequest":{"properties":{"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","description":"URL of the video to generate audio for.","media_kinds":["video"]},"sound_effect_prompt":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Sound Effect Prompt","description":"Text describing the sound effects to add."},"bgm_prompt":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Bgm Prompt","description":"Text describing the background music to add."},"asmr_mode":{"type":"boolean","title":"Asmr Mode","description":"Whether to generate ASMR-style audio.","default":false},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["video_url"],"title":"KlingVideoToAudioRequest"},"MediaAsset":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"width":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Height"}},"type":"object","title":"MediaAsset"},"MediaJobError":{"properties":{"code":{"$ref":"#/components/schemas/ModelErrorCode"},"message":{"type":"string","title":"Message"}},"type":"object","required":["code","message"],"title":"MediaJobError","description":"Structured failure on a media job. ``code`` is the stable machine-readable\nfield for client branching; ``message`` is diagnostic and provider-influenced."},"MediaJobStatusResponse":{"properties":{"id":{"type":"string","title":"Id"},"status":{"type":"string","enum":["queued","running","completed","failed"],"title":"Status","description":"Lifecycle state, monotonic: `queued` (accepted, awaiting dispatch) -> `running` -> `completed` or `failed`. Dispatch is usually inline, so `queued` is rarely observed."},"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id"},"runtime_s":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Runtime S","description":"Seconds the generation took, measured from dispatch to terminal. Excludes billing settlement and result shaping. Populated on the job status route and in webhook payloads once the job is terminal; null everywhere else, including submit responses and list entries. Best-effort: may be null when the measurement is unavailable."},"output":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/ImageOutput"},{"$ref":"#/components/schemas/VideoOutput"},{"$ref":"#/components/schemas/VideosOutput"},{"$ref":"#/components/schemas/AudioOutput"},{"$ref":"#/components/schemas/TranscriptOutput"}],"discriminator":{"propertyName":"media_type","mapping":{"audio":"#/components/schemas/AudioOutput","image":"#/components/schemas/ImageOutput","transcription":"#/components/schemas/TranscriptOutput","video":"#/components/schemas/VideoOutput","videos":"#/components/schemas/VideosOutput"}}},{"type":"null"}],"title":"Output"},"error":{"anyOf":[{"$ref":"#/components/schemas/MediaJobError"},{"type":"null"}]}},"type":"object","required":["id","status"],"title":"MediaJobStatusResponse","description":"The public job envelope: submit and status responses, and the callback replies.\n``model_id`` echoes the catalog model the job runs on, so callers can confirm\nwhat they asked for actually ran."},"MediaPlainError":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"MediaPlainError","description":"The pre-creation error body ({\"message\": ...}) — before a durable job exists."},"MiniMaxMusicAudioSetting":{"properties":{"sample_rate":{"anyOf":[{"type":"integer","enum":[16000,24000,32000,44100]},{"type":"null"}],"title":"Sample Rate"},"bitrate":{"anyOf":[{"type":"integer","enum":[32000,64000,128000,256000]},{"type":"null"}],"title":"Bitrate"},"format":{"anyOf":[{"type":"string","enum":["mp3","wav","pcm"]},{"type":"null"}],"title":"Format"}},"additionalProperties":false,"type":"object","title":"MiniMaxMusicAudioSetting"},"MinimaxMusicRequest":{"properties":{"prompt":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Prompt"},"lyrics":{"anyOf":[{"type":"string","maxLength":3500},{"type":"null"}],"title":"Lyrics"},"lyrics_optimizer":{"type":"boolean","title":"Lyrics Optimizer","default":false},"is_instrumental":{"type":"boolean","title":"Is Instrumental","default":false},"audio_setting":{"anyOf":[{"$ref":"#/components/schemas/MiniMaxMusicAudioSetting"},{"type":"null"}]},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","title":"MinimaxMusicRequest"},"MinimaxTTSRequest":{"properties":{"text":{"type":"string","maxLength":50000,"minLength":1,"title":"Text"},"voice_id":{"type":"string","minLength":1,"title":"Voice Id"},"speed":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.5},{"type":"null"}],"title":"Speed"},"vol":{"anyOf":[{"type":"number","maximum":10.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Vol"},"pitch":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":-12.0},{"type":"null"}],"title":"Pitch"},"emotion":{"anyOf":[{"type":"string","enum":["happy","sad","angry","fearful","disgusted","surprised","calm","fluent","whisper"]},{"type":"null"}],"title":"Emotion"},"sample_rate":{"anyOf":[{"type":"integer","enum":[8000,16000,22050,24000,32000,44100]},{"type":"null"}],"title":"Sample Rate"},"bitrate":{"anyOf":[{"type":"integer","enum":[32000,64000,128000,256000]},{"type":"null"}],"title":"Bitrate"},"format":{"anyOf":[{"type":"string","enum":["mp3","wav","flac","pcm"]},{"type":"null"}],"title":"Format"},"channel":{"anyOf":[{"type":"integer","enum":[1,2]},{"type":"null"}],"title":"Channel"},"language_boost":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language Boost"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["text","voice_id"],"title":"MinimaxTTSRequest"},"ModelErrorCode":{"type":"string","enum":["invalid_input","content_moderation","provider_error","provider_timeout","provider_unavailable","rate_limited","insufficient_balance","membership_required","cycle_limit_exceeded","admission_suspended","timed_out","internal"],"title":"ModelErrorCode"},"Omni11ImageToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"aspect_ratio":{"type":"string","enum":["16:9","9:16"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"16:9"},"resolution":{"type":"string","enum":["360p","720p","1080p"],"title":"Resolution","description":"Output resolution. 360p is a fast draft mode.","default":"720p"},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":2,"minItems":1,"title":"Image Urls","description":"1-2 source images: the start frame, and optionally the end frame to interpolate to."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"Omni11ImageToVideoRequest"},"Omni11ReferenceToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"aspect_ratio":{"type":"string","enum":["16:9","9:16"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"16:9"},"resolution":{"type":"string","enum":["360p","720p","1080p"],"title":"Resolution","description":"Output resolution. 360p is a fast draft mode.","default":"720p"},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":6,"minItems":1,"title":"Image Urls","description":"1-6 reference images to incorporate into the video."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"Omni11ReferenceToVideoRequest"},"Omni11TextToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"aspect_ratio":{"type":"string","enum":["16:9","9:16"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"16:9"},"resolution":{"type":"string","enum":["360p","720p","1080p"],"title":"Resolution","description":"Output resolution. 360p is a fast draft mode.","default":"720p"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"Omni11TextToVideoRequest"},"Omni11VideoEditRequest":{"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Text prompt describing the edit to apply."},"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","description":"Source video to edit. At most 100 MiB and 10 seconds long.","media_kinds":["video"]},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","video_url"],"title":"Omni11VideoEditRequest","description":"Edit an existing video. No aspect_ratio or resolution: the output inherits the\nsource video's. The source is bounded at 100 MiB and 10 seconds; the model rejects\na longer one."},"OmniFlashImageToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"aspect_ratio":{"type":"string","enum":["16:9","9:16"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"16:9"},"duration":{"anyOf":[{"type":"integer","const":0},{"type":"integer","maximum":10.0,"minimum":3.0}],"title":"Duration","description":"Output length in seconds (3-10, default 10). The model cannot exceed 10 seconds; prompts that describe longer content are clamped to this length. Pass 0 to let the model choose a length from the prompt instead; prompts that ask for more than 10 seconds may fail.","default":10},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":2,"minItems":1,"title":"Image Urls","description":"1-2 source images: the start frame, and optionally the end frame."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"OmniFlashImageToVideoRequest"},"OmniFlashReferenceToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"aspect_ratio":{"type":"string","enum":["16:9","9:16"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"16:9"},"duration":{"anyOf":[{"type":"integer","const":0},{"type":"integer","maximum":10.0,"minimum":3.0}],"title":"Duration","description":"Output length in seconds (3-10, default 10). The model cannot exceed 10 seconds; prompts that describe longer content are clamped to this length. Pass 0 to let the model choose a length from the prompt instead; prompts that ask for more than 10 seconds may fail.","default":10},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":6,"minItems":1,"title":"Image Urls","description":"1-6 reference images to incorporate into the video."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"OmniFlashReferenceToVideoRequest"},"OmniFlashTextToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"aspect_ratio":{"type":"string","enum":["16:9","9:16"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"16:9"},"duration":{"anyOf":[{"type":"integer","const":0},{"type":"integer","maximum":10.0,"minimum":3.0}],"title":"Duration","description":"Output length in seconds (3-10, default 10). The model cannot exceed 10 seconds; prompts that describe longer content are clamped to this length. Pass 0 to let the model choose a length from the prompt instead; prompts that ask for more than 10 seconds may fail.","default":10},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"OmniFlashTextToVideoRequest"},"OmniFlashVideoEditRequest":{"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Text prompt describing the edit to apply."},"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","description":"Source video to edit.","media_kinds":["video"]},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","video_url"],"title":"OmniFlashVideoEditRequest","description":"Edit an existing video. No aspect_ratio: the API rejects it and the output\ninherits the source video's aspect ratio."},"OpenAIEditImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"aspect_ratio":{"type":"string","enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"title":"Aspect Ratio","description":"Output aspect ratio. Ignored when 'size' is set.","default":"1:1"},"output_format":{"type":"string","enum":["png","jpeg","webp"],"title":"Output Format","description":"Image file format of the output.","default":"png"},"resolution":{"type":"string","enum":["1K","2K","4K"],"title":"Resolution","description":"Output resolution.","default":"1K"},"quality":{"type":"string","enum":["auto","low","medium","high"],"title":"Quality","description":"Rendering quality of the output; 'auto' lets the provider choose.","default":"medium"},"background":{"anyOf":[{"type":"string","enum":["auto","opaque","transparent"]},{"type":"null"}],"title":"Background","description":"Background of the output. 'transparent' needs a png or webp output_format."},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size","description":"Explicit output size as 'WxH' (e.g. '1024x1024'), or 'auto' to let the provider choose. Overrides aspect_ratio and resolution."},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":16,"minItems":1,"title":"Image Urls","description":"URLs of the source images to edit."},"mask_image_url":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Mask Image Url","description":"Mask URL marking the region to edit (transparent areas are edited). Must be a PNG with an alpha channel; the provider rejects masks without one."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"OpenAIEditImageRequest"},"OpenAITextToImageRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"aspect_ratio":{"type":"string","enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"title":"Aspect Ratio","description":"Output aspect ratio. Ignored when 'size' is set.","default":"1:1"},"output_format":{"type":"string","enum":["png","jpeg","webp"],"title":"Output Format","description":"Image file format of the output.","default":"png"},"resolution":{"type":"string","enum":["1K","2K","4K"],"title":"Resolution","description":"Output resolution.","default":"1K"},"quality":{"type":"string","enum":["auto","low","medium","high"],"title":"Quality","description":"Rendering quality of the output; 'auto' lets the provider choose.","default":"medium"},"background":{"anyOf":[{"type":"string","enum":["auto","opaque","transparent"]},{"type":"null"}],"title":"Background","description":"Background of the output. 'transparent' needs a png or webp output_format."},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size","description":"Explicit output size as 'WxH' (e.g. '1024x1024'), or 'auto' to let the provider choose. Overrides aspect_ratio and resolution."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"OpenAITextToImageRequest"},"OpenAIWhisperRequest":{"properties":{"audio_url":{"type":"string","pattern":"^https?://","title":"Audio Url","media_kinds":["audio"]},"duration_seconds":{"type":"number","maximum":3600.0,"minimum":0.1,"title":"Duration Seconds"},"language":{"anyOf":[{"type":"string","maxLength":16,"minLength":2},{"type":"null"}],"title":"Language"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"response_format":{"anyOf":[{"type":"string","enum":["json","text","srt","verbose_json","vtt"]},{"type":"null"}],"title":"Response Format"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["audio_url","duration_seconds"],"title":"OpenAIWhisperRequest"},"PikaImageToVideoRequest":{"properties":{"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"1080p"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible generation. Defaults to a random seed."},"duration_s":{"type":"integer","enum":[5,10],"title":"Duration S","description":"Video length in seconds.","default":5},"image":{"type":"string","pattern":"^https?://","title":"Image","description":"URL of the source image to animate.","media_kinds":["image"]},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Text prompt guiding the motion. The source image carries the subject."},"negative_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Negative Prompt","description":"Text describing what to avoid in the video."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["image"],"title":"PikaImageToVideoRequest"},"PikaKeyframesRequest":{"properties":{"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"1080p"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible generation. Defaults to a random seed."},"images":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":5,"minItems":2,"title":"Images","description":"2-5 ordered keyframe image URLs. Consecutive pairs become transitions."},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Text prompt guiding the motion. Applied to every transition."},"transition_duration_s":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Transition Duration S","description":"Seconds per transition. Over 5 seconds needs exactly 2 keyframes.","default":5},"negative_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Negative Prompt","description":"Text describing what to avoid in the video."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["images"],"title":"PikaKeyframesRequest"},"PikaMusicRequest":{"properties":{"mode":{"type":"string","enum":["text_to_music","voice_conditioned_text_to_music","music_cover"],"title":"Mode","default":"text_to_music"},"prompt":{"type":"string","maxLength":4000,"minLength":1,"title":"Prompt"},"lyrics":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}],"title":"Lyrics"},"reference_audio":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["audio"]},{"type":"null"}],"title":"Reference Audio"},"source_audio":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["audio"]},{"type":"null"}],"title":"Source Audio"},"clean_reference_audio":{"type":"boolean","title":"Clean Reference Audio","default":false},"voice_consent_attested":{"type":"boolean","title":"Voice Consent Attested","description":"Set true to attest that you have the rights and permissions needed to clone the voice in reference_audio. Required when reference_audio is supplied.","default":false},"rewrite_prompt":{"type":"boolean","title":"Rewrite Prompt","description":"Expand the prompt with a model before generating. Leave off when the prompt already specifies the arrangement; turn it on for a short or vague one.","default":false},"duration":{"type":"number","maximum":360.0,"minimum":10.0,"title":"Duration","default":30.0},"seed":{"type":"integer","title":"Seed","default":-1},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"PikaMusicRequest"},"PikaTextToVideoRequest":{"properties":{"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"1080p"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible generation. Defaults to a random seed."},"duration_s":{"type":"integer","const":5,"title":"Duration S","description":"Video length in seconds (5s only for text-to-video).","default":5},"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"negative_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Negative Prompt","description":"Text describing what to avoid in the video."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"PikaTextToVideoRequest"},"PikaTtsFlowRequest":{"properties":{"script":{"type":"string","maxLength":15000,"minLength":1,"title":"Script"},"reference_audio":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["audio"]},{"type":"null"}],"title":"Reference Audio"},"voice_preset":{"anyOf":[{"type":"string","enum":["deep_trailer_bass","warm_honey_drawl","fast_talking_wiseguy","graceful_elder_storyteller","chill_surfer_dude","bubbly_it_girl","roaring_locker_room_coach","calm_documentary_narrator","velvet_radio_alto","gruff_slow_drawl","brassy_sharp_wit","vintage_radio_showman","gentle_hushed_librarian","rapid_sports_caller","warm_playful_spark","folksy_porch_storyteller","crisp_founder_pitch","smoky_noir_monotone","sunny_morning_host","cozy_grandpa_storyteller","plummy_posh_gentleman","cheeky_bright_charmer","rapid_market_banter","stern_clipped_headmistress","hearty_fireside_rumble","soft_thoughtful_lilt","musical_poetic_lilt","melodic_quick_storyteller","gravelly_deadpan","imperious_grande_dame","dry_cheerful_joker","polished_news_anchor","warm_grounded_friend","commanding_safari_guide","rhythmic_radio_charmer","mellow_wise_elder","lilting_warm_hostess","articulate_tech_lead","booming_epic_showman","cool_minimal_designer","precise_stern_engineer","breathy_chic_charm","slow_heavy_brooder","fiery_passionate_cook","loving_loud_grandma","gentle_careful_sweetness","velvet_worldly_narrator","deep_night_storyteller","bright_peppy_vlogger","poised_documentary_calm","grumpy_soft_heart","zany_kid_inventor","hammy_pirate_captain","theatrical_scheming_villain","slow_goofy_giant","wheezy_batty_wizard","raspy_scrappy_kid","chatty_beauty_bestie","hyped_gym_motivator","soft_cozy_aesthetic","smooth_hype_unboxer","bored_chic_trendsetter","joyful_food_fanatic","deadpan_ironic_fry","mellow_road_tripper","breathy_luxe_diva","fast_nerdy_reviewer","unhinged_arena_hype","abyssal_doom_growl","airhorn_club_mc","barking_drill_fury","smoky_mystic_drama","booming_ring_announcer","feather_whisper_asmr","seismic_boss_god","thunderous_revival_preacher"]},{"type":"null"}],"title":"Voice Preset"},"seed":{"type":"integer","maximum":2147483647.0,"minimum":-1.0,"title":"Seed","default":-1},"voice_consent_attested":{"type":"boolean","title":"Voice Consent Attested","description":"Set true to attest that you have the rights and permissions needed to clone the voice in reference_audio. Required when reference_audio is supplied.","default":false},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["script"],"title":"PikaTtsFlowRequest","description":"Pika Speech (flow) — 8-step DMD generator."},"PikadditionsRequest":{"properties":{"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"1080p"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible generation. Defaults to a random seed."},"duration_s":{"type":"integer","enum":[5,10],"title":"Duration S","description":"Video length in seconds.","default":5},"video":{"type":"string","pattern":"^https?://","title":"Video","description":"URL of the source video to edit.","media_kinds":["video"]},"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the edit to apply."},"negative_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Negative Prompt","description":"Text describing what to avoid in the video."},"image":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Image","description":"URL of a reference image of the subject to add."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["video","prompt"],"title":"PikadditionsRequest"},"PikaffectImageRequest":{"properties":{"pikaffect":{"type":"string","enum":["90s Me","Action Me","Arcade Winner","Baby Me","Bald Me","Balloonify it","CCTV Me","Cake-ify","Captain Me","Choco Me","Classy Me","Clown Fit","Crazy in Love","Crumble","Crush","Cupid Strike","Decapitate","Deflate","Dissolve","Doom Stroll","Eat a Rat","Epic Me","Everythings Bonsai","Explode","Eye-pop","Eyes Zoom in","Fairytale Me","Goth Dream","Hazmat Fit","Hearts Bouquet","Hero Me","Human Pet","Inflate","Jungle Me","Labubu Style","Leprechaun Me","Levitate","Lo-Fi Me","Looong Hair","Love Bomb","Magic Polaroid","Make it Real","Melt","Mona Me","Mrs Me","Museum Me","Peel","Pick Me","Poke","Princess Me","Proposal","Puppy Me","Rose","Royal Me","Squish","Ta-da","Tarot Transform","Tear","VIP Me","Warrior Me","Yarn Charm","Zen Me"],"title":"Pikaffect","description":"Name of the effect to apply to the image."},"image":{"type":"string","pattern":"^https?://","title":"Image","description":"URL of the source image to apply the effect to.","media_kinds":["image"]},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible output. Defaults to a random seed."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["pikaffect","image"],"title":"PikaffectImageRequest"},"PikaffectVideoRequest":{"properties":{"pikaffect":{"type":"string","enum":["Anime Cat","Cute Shroom","Duplicate it","Happy Asteroid","Its Alive","Its Computer","Pink Hair","Swan Head","Wizard Cat"],"title":"Pikaffect","description":"Name of the effect to apply to the video."},"video":{"type":"string","pattern":"^https?://","title":"Video","description":"URL of the source video to apply the effect to.","media_kinds":["video"]},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible output. Defaults to a random seed."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["pikaffect","video"],"title":"PikaffectVideoRequest"},"PikaswapsRequest":{"properties":{"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"1080p"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible generation. Defaults to a random seed."},"duration_s":{"type":"integer","enum":[5,10],"title":"Duration S","description":"Video length in seconds.","default":5},"video":{"type":"string","pattern":"^https?://","title":"Video","description":"URL of the source video to edit.","media_kinds":["video"]},"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the edit to apply."},"negative_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Negative Prompt","description":"Text describing what to avoid in the video."},"modify_region_roi":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Modify Region Roi","description":"Free-text description of the region to replace. Provide this or a mask."},"modify_region_mask":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Modify Region Mask","description":"URL of a mask image marking the region to replace. Provide this or an ROI."},"image":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Image","description":"URL of a reference image for the replacement subject."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["video","prompt"],"title":"PikaswapsRequest"},"PostpaidCycleView":{"properties":{"window_start":{"type":"string","format":"date-time","title":"Window Start","description":"Inclusive start of the current limit window."},"window_end":{"type":"string","format":"date-time","title":"Window End","description":"Exclusive end of the current limit window."},"limit_micro_usd":{"type":"integer","title":"Limit Micro Usd","description":"The window's spend ceiling."},"used_micro_usd":{"type":"integer","title":"Used Micro Usd","description":"Usage plus live holds so far."},"remaining_micro_usd":{"type":"integer","title":"Remaining Micro Usd","description":"What the org can still spend. Negative once the window is over its limit."}},"type":"object","required":["window_start","window_end","limit_micro_usd","used_micro_usd","remaining_micro_usd"],"title":"PostpaidCycleView","description":"The limit window an active postpaid org spends against."},"PostpaidView":{"properties":{"effective_at":{"type":"string","format":"date-time","title":"Effective At","description":"When invoice billing takes (or took) effect."},"active":{"type":"boolean","title":"Active","description":"True once effective_at has passed — the org bills by invoice now."},"cycle":{"anyOf":[{"$ref":"#/components/schemas/PostpaidCycleView"},{"type":"null"}],"description":"The current limit window, present only while active. Read remaining_micro_usd here instead of balance_micro_usd."}},"type":"object","required":["effective_at","active"],"title":"PostpaidView","description":"The org's invoice-billing schedule. Present iff the org has one at all —\nits mere presence is the \"bills by invoice\" gate (auto-top-up exclusion,\nmembership exclusion, billing readiness), while ``active`` distinguishes a\nschedule that has taken effect from one still in the future."},"RecraftColor":{"properties":{"rgb":{"prefixItems":[{"type":"integer","maximum":255.0,"minimum":0.0},{"type":"integer","maximum":255.0,"minimum":0.0},{"type":"integer","maximum":255.0,"minimum":0.0}],"type":"array","maxItems":3,"minItems":3,"title":"Rgb","description":"RGB components: exactly three integers, each 0-255."}},"additionalProperties":false,"type":"object","required":["rgb"],"title":"RecraftColor","description":"An RGB color, used for palette entries and the background color."},"RecraftTextToImageRequest":{"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Text prompt describing the image to generate. At most 10,000 characters."},"num_images":{"type":"integer","maximum":6.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"size":{"anyOf":[{"type":"string","enum":["1024x1024","1536x768","768x1536","1280x832","832x1280","1216x896","896x1216","1152x896","896x1152","832x1344","1280x896","896x1280","1344x768","768x1344","1:1","2:1","1:2","3:2","2:3","4:3","3:4","5:4","4:5","6:10","14:10","10:14","16:9","9:16"]},{"type":"null"}],"title":"Size","description":"Output size as exact dimensions (e.g. `1344x768`) or aspect ratio (e.g. `16:9`). Omitted lets Recraft pick a suitable size from the prompt."},"colors":{"anyOf":[{"items":{"$ref":"#/components/schemas/RecraftColor"},"type":"array","maxItems":10,"minItems":1},{"type":"null"}],"title":"Colors","description":"Preferred palette colors to steer generation towards (at most 10)."},"background_color":{"anyOf":[{"$ref":"#/components/schemas/RecraftColor"},{"type":"null"}],"description":"Preferred background color."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"RecraftTextToImageRequest","description":"Recraft 4.1 text-to-image request."},"SeedAudioRequest":{"properties":{"model":{"anyOf":[{"type":"string","enum":["seed-audio-1.0-multilingual","seed-audio-1.0"]},{"type":"null"}],"title":"Model","description":"Model variant. Leave unset to infer: `seed-audio-1.0` when a preset `voice` is given, else `seed-audio-1.0-multilingual`. Set explicitly to override. `seed-audio-1.0-multilingual`: 20 languages auto-detected, voice via cloning references only. `seed-audio-1.0`: English/Chinese with the preset voice library (the `voice` field)."},"prompt":{"type":"string","maxLength":3000,"minLength":1,"title":"Prompt","description":"What to generate — dialogue, music, ambience, and sound effects in one pass (multilingual variant: any of 20 languages, auto-detected). Reference supplied clips as @Audio1...@Audio3. Output up to ~120 seconds."},"voice":{"anyOf":[{"$ref":"#/components/schemas/SeedAudioVoice"},{"type":"null"}],"description":"Preset speaker (base variant only — requires model=seed-audio-1.0; the multilingual variant's speaker map differs). Counts toward the 3 voice/audio reference cap."},"audio_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["audio"]},"type":"array","maxItems":3},{"type":"null"}],"title":"Audio Urls","description":"Up to 3 voice-cloning reference clips, EACH UNDER 30 SECONDS; refer to them in the prompt as @Audio1...@Audio3. Cannot be combined with image_url."},"image_url":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Image Url","description":"A single image reference (the generated voice/scene matches it). Cannot be combined with voice or audio_urls."},"output_format":{"type":"string","enum":["mp3","wav","pcm","ogg_opus"],"title":"Output Format","default":"mp3"},"sample_rate":{"anyOf":[{"type":"integer","enum":[8000,16000,24000,32000,44100,48000]},{"type":"null"}],"title":"Sample Rate"},"speed":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.5},{"type":"null"}],"title":"Speed"},"volume":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.5},{"type":"null"}],"title":"Volume"},"pitch":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":-12.0},{"type":"null"}],"title":"Pitch"},"enable_subtitles":{"type":"boolean","title":"Enable Subtitles","description":"Return per-sentence and per-word timestamps for the generated speech. When true, the completed job's audio output carries a `subtitle` asset — a JSON URL with {text, sentences[], words[]} (start_time/end_time in ms).","default":false},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"SeedAudioRequest"},"SeedAudioVoice":{"type":"string","enum":["ar_female_dina_uranus_bigtts","ar_female_fatma_uranus_bigtts","ar_male_youssef_uranus_bigtts","de_female_bv081_uranus_bigtts","de_male_seven_uranus_bigtts","de_male_sven_uranus_bigtts","en_female_allison_uranus_bigtts","en_female_authoritative-british_uranus_bigtts","en_female_authoritative-informative_uranus_bigtts","en_female_brittney_uranus_bigtts","en_female_dacey_uranus_bigtts","en_female_hayley_uranus_bigtts","en_female_jane_uranus_bigtts","en_female_jenny_uranus_bigtts","en_female_joanne_uranus_bigtts","en_female_mel_uranus_bigtts","en_female_myra_uranus_bigtts","en_female_nadia_uranus_bigtts","en_female_natasha_uranus_bigtts","en_female_pleasant-female_uranus_bigtts","en_female_sharron_uranus_bigtts","en_female_skye_uranus_bigtts","en_female_stokie_uranus_bigtts","en_female_wenrouzhishijieshuonv_uranus_bigtts","en_female_xinwenjieshuonv_uranus_bigtts","en_male_adam-imitation_uranus_bigtts","en_male_alberto_uranus_bigtts","en_male_alex_uranus_bigtts","en_male_bill-jones_uranus_bigtts","en_male_bruce_uranus_bigtts","en_male_cowboy-bob_uranus_bigtts","en_male_david_uranus_bigtts","en_male_deep-voice_uranus_bigtts","en_male_diyuwenrounan_uranus_bigtts","en_male_evil-guy-oxley_uranus_bigtts","en_male_excited-male-voice_uranus_bigtts","en_male_father-christmas_uranus_bigtts","en_male_fernando-martinez_uranus_bigtts","en_male_godfather_uranus_bigtts","en_male_gollum_uranus_bigtts","en_male_hades_uranus_bigtts","en_male_jamie_uranus_bigtts","en_male_jidongchuanjiaoshi_uranus_bigtts","en_male_jimmy_uranus_bigtts","en_male_joker_uranus_bigtts","en_male_josh_uranus_bigtts","en_male_kevin_uranus_bigtts","en_male_knightley_uranus_bigtts","en_male_marcus_uranus_bigtts","en_male_michael-mouse_uranus_bigtts","en_male_michael_uranus_bigtts","en_male_motivational-coach_uranus_bigtts","en_male_ronald_uranus_bigtts","en_male_russell_uranus_bigtts","en_male_tim_uranus_bigtts","en_male_valentino_uranus_bigtts","en_male_yangguangjieshuonan_uranus_bigtts","es_female_bv084_uranus_bigtts","es_male_dani_uranus_bigtts","es_male_felipe_uranus_bigtts","es_male_guillem_uranus_bigtts","fr_male_usseau_uranus_bigtts","id_female_bv161_uranus_bigtts","id_female_bv161dialogue_uranus_bigtts","id_female_bv161narration_uranus_bigtts","id_female_bv164_uranus_bigtts","id_female_f20_uranus_bigtts","id_female_phulia_uranus_bigtts","id_male_bv160_uranus_bigtts","id_male_bv160dialogue_uranus_bigtts","id_male_bv160narration_uranus_bigtts","id_male_bv164dialogue_uranus_bigtts","id_male_bv164narration_uranus_bigtts","id_male_han_uranus_bigtts","id_male_m08_uranus_bigtts","it_male_enzo_uranus_bigtts","ja_female_bv024_uranus_bigtts","ja_female_bv520_uranus_bigtts","ja_female_bv521_uranus_bigtts","ja_female_bv522_uranus_bigtts","ja_female_bv523_uranus_bigtts","ja_female_minimi_uranus_bigtts","ja_female_shirou_uranus_bigtts","ja_male_bv524_uranus_bigtts","jp_female_minimi_uranus_bigtts","ko_female_bv546_uranus_bigtts","ko_male_bv545_uranus_bigtts","ko_male_m03_uranus_bigtts","ko_male_shane_uranus_bigtts","kr_male_shane_uranus_bigtts","ms_male_ham_uranus_bigtts","ms_male_naim_uranus_bigtts","mx_female_bv065_uranus_bigtts","mx_female_bv166dialogue_uranus_bigtts","mx_female_bv166emotion_uranus_bigtts","mx_female_bv166narrator_uranus_bigtts","mx_female_leslie_uranus_bigtts","mx_male_bv165dialogue_uranus_bigtts","mx_male_bv165narrator_uranus_bigtts","mx_male_felipe_uranus_bigtts","mx_male_marcelo_uranus_bigtts","pt_female_bv173_uranus_bigtts","pt_female_bv173dialogue_uranus_bigtts","pt_female_bv173emotion_uranus_bigtts","pt_female_bv173narrator_uranus_bigtts","pt_female_bv530_uranus_bigtts","pt_female_mari_uranus_bigtts","pt_male_bv172_uranus_bigtts","pt_male_bv172dialogue_uranus_bigtts","pt_male_bv172emotion_uranus_bigtts","pt_male_bv172narrator_uranus_bigtts","pt_male_bv531_uranus_bigtts","pt_male_martins_uranus_bigtts","pt_male_rael_uranus_bigtts","ru_female_af07_uranus_bigtts","ru_female_irinae_uranus_bigtts","ru_female_sophie_uranus_bigtts","ru_male_pavel_uranus_bigtts","ru_male_vlad_uranus_bigtts","tl_female_annika_uranus_bigtts","tl_female_hervie_uranus_bigtts","tl_male_ed_uranus_bigtts","vi_female_hong_uranus_bigtts","vi_female_ling_uranus_bigtts","vi_female_linh_uranus_bigtts","vi_female_partner_uranus_bigtts","vi_female_ruan_uranus_bigtts","vi_female_wu_uranus_bigtts","vi_male_wumg_uranus_bigtts","zh_female_cancan_uranus_bigtts","zh_female_jitangnv_uranus_bigtts","zh_female_kefunvsheng_uranus_bigtts","zh_female_kiwi_uranus_bigtts","zh_female_linjianvhai_uranus_bigtts","zh_female_liuchangnv_uranus_bigtts","zh_female_meilinvyou_uranus_bigtts","zh_female_mizai_uranus_bigtts","zh_female_peiqi_uranus_bigtts","zh_female_qingxinnvsheng_uranus_bigtts","zh_female_sajiaoxuemei_uranus_bigtts","zh_female_shuangkuaisisi_uranus_bigtts","zh_female_tianmeitaozi_uranus_bigtts","zh_female_tianmeixiaoyuan_uranus_bigtts","zh_female_vv_uranus_bigtts","zh_female_xiaohe_uranus_bigtts","zh_female_xiaoxue_uranus_bigtts","zh_female_yingyujiaoxue_uranus_bigtts","zh_female_yuanqi_uranus_bigtts","zh_male_dayi_uranus_bigtts","zh_male_liufei_uranus_bigtts","zh_male_m191_uranus_bigtts","zh_male_ruyayichen_uranus_bigtts","zh_male_shaonianzixin_uranus_bigtts","zh_male_sophie_uranus_bigtts","zh_male_sunwukong_uranus_bigtts","zh_male_taocheng_uranus_bigtts"],"title":"SeedAudioVoice"},"Seedance25ImageToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":15000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":30.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-30), or 'auto' to let the model choose."},"resolution":{"type":"string","enum":["480p","720p","1080p"],"title":"Resolution","description":"Output resolution (480p/720p/1080p for 2.5).","default":"720p"},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"output_format":{"anyOf":[{"type":"string","enum":["mp4","mov"]},{"type":"null"}],"title":"Output Format","description":"Output container format."},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"URL of the starting-frame image to animate.","media_kinds":["image"]},"end_image_url":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"End Image Url","description":"Optional URL of the image to use as the last frame."},"ratio":{"anyOf":[{"type":"string","const":"adaptive"},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration","image_url"],"title":"Seedance25ImageToVideoRequest"},"Seedance25ReferenceToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":15000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":30.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-30), or 'auto' to let the model choose."},"resolution":{"type":"string","enum":["480p","720p","1080p"],"title":"Resolution","description":"Output resolution (480p/720p/1080p for 2.5).","default":"720p"},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"output_format":{"anyOf":[{"type":"string","enum":["mp4","mov"]},{"type":"null"}],"title":"Output Format","description":"Output container format."},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","21:9","adaptive"]},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"image_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":30},{"type":"null"}],"title":"Image Urls","description":"Up to 30 reference images (referenced in the prompt as @Image1...)."},"video_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["video"]},"type":"array","maxItems":10},{"type":"null"}],"title":"Video Urls","description":"Up to 10 reference videos (referenced in the prompt as @Video1...). Each must be mp4 or mov, 2-30 seconds long, at most 200 MB, 24-60 fps; the reference videos total at most 30 seconds. Editing or extending a video is requested through the prompt (e.g. 'edit @Video1: ...', 'extend @Video1 ...'); editing requires duration 'auto' and keeps the source ratio and length."},"audio_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["audio"]},"type":"array","maxItems":10},{"type":"null"}],"title":"Audio Urls","description":"Up to 10 reference audio clips (referenced in the prompt as @Audio1...). Each must be wav or mp3, 2-30 seconds long, at most 15 MB; the clips total at most 30 seconds."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration"],"title":"Seedance25ReferenceToVideoRequest"},"Seedance25TextToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":15000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":30.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-30), or 'auto' to let the model choose."},"resolution":{"type":"string","enum":["480p","720p","1080p"],"title":"Resolution","description":"Output resolution (480p/720p/1080p for 2.5).","default":"720p"},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"output_format":{"anyOf":[{"type":"string","enum":["mp4","mov"]},{"type":"null"}],"title":"Output Format","description":"Output container format."},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","21:9","adaptive"]},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration"],"title":"Seedance25TextToVideoRequest"},"SeedanceFastImageToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":4000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-15), or 'auto' to let the model choose."},"ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","21:9","adaptive"]},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"URL of the starting-frame image to animate.","media_kinds":["image"]},"end_image_url":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"End Image Url","description":"Optional URL of the image to use as the last frame."},"resolution":{"type":"string","enum":["480p","720p"],"title":"Resolution","description":"Output resolution (480p/720p for Fast).","default":"720p"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration","image_url"],"title":"SeedanceFastImageToVideoRequest"},"SeedanceFastReferenceToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":4000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-15), or 'auto' to let the model choose."},"ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","21:9","adaptive"]},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"image_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":9},{"type":"null"}],"title":"Image Urls","description":"Up to 9 reference images (referenced in the prompt as @Image1...)."},"video_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["video"]},"type":"array","maxItems":3},{"type":"null"}],"title":"Video Urls","description":"Up to 3 reference videos (referenced in the prompt as @Video1...). Each must be mp4 or mov, 2-15 seconds long, at most 200 MB, 24-60 fps; the reference videos total at most 15 seconds."},"audio_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["audio"]},"type":"array","maxItems":3},{"type":"null"}],"title":"Audio Urls","description":"Up to 3 reference audio clips (referenced in the prompt as @Audio1...). Each must be wav or mp3, 2-15 seconds long, at most 15 MB; the clips total at most 15 seconds."},"resolution":{"type":"string","enum":["480p","720p"],"title":"Resolution","description":"Output resolution (480p/720p for Fast).","default":"720p"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration"],"title":"SeedanceFastReferenceToVideoRequest"},"SeedanceFastTextToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":4000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-15), or 'auto' to let the model choose."},"ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","21:9","adaptive"]},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"resolution":{"type":"string","enum":["480p","720p"],"title":"Resolution","description":"Output resolution (480p/720p for Fast).","default":"720p"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration"],"title":"SeedanceFastTextToVideoRequest"},"SeedanceImageToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":4000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-15), or 'auto' to let the model choose."},"ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","21:9","adaptive"]},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"URL of the starting-frame image to animate.","media_kinds":["image"]},"end_image_url":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"End Image Url","description":"Optional URL of the image to use as the last frame."},"resolution":{"type":"string","enum":["480p","720p","1080p","4k"],"title":"Resolution","description":"Output resolution."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration","image_url","resolution"],"title":"SeedanceImageToVideoRequest"},"SeedanceMiniImageToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":4000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-15), or 'auto' to let the model choose."},"ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","21:9","adaptive"]},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"URL of the starting-frame image to animate.","media_kinds":["image"]},"end_image_url":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"End Image Url","description":"Optional URL of the image to use as the last frame."},"resolution":{"type":"string","enum":["480p","720p"],"title":"Resolution","description":"Output resolution (480p/720p for Mini).","default":"720p"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration","image_url"],"title":"SeedanceMiniImageToVideoRequest"},"SeedanceMiniReferenceToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":4000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-15), or 'auto' to let the model choose."},"ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","21:9","adaptive"]},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"image_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":9},{"type":"null"}],"title":"Image Urls","description":"Up to 9 reference images (referenced in the prompt as @Image1...)."},"video_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["video"]},"type":"array","maxItems":3},{"type":"null"}],"title":"Video Urls","description":"Up to 3 reference videos (referenced in the prompt as @Video1...). Each must be mp4 or mov, 2-15 seconds long, at most 200 MB, 24-60 fps; the reference videos total at most 15 seconds."},"audio_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["audio"]},"type":"array","maxItems":3},{"type":"null"}],"title":"Audio Urls","description":"Up to 3 reference audio clips (referenced in the prompt as @Audio1...). Each must be wav or mp3, 2-15 seconds long, at most 15 MB; the clips total at most 15 seconds."},"resolution":{"type":"string","enum":["480p","720p"],"title":"Resolution","description":"Output resolution (480p/720p for Mini).","default":"720p"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration"],"title":"SeedanceMiniReferenceToVideoRequest"},"SeedanceMiniTextToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":4000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-15), or 'auto' to let the model choose."},"ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","21:9","adaptive"]},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"resolution":{"type":"string","enum":["480p","720p"],"title":"Resolution","description":"Output resolution (480p/720p for Mini).","default":"720p"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration"],"title":"SeedanceMiniTextToVideoRequest"},"SeedanceReferenceToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":4000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-15), or 'auto' to let the model choose."},"ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","21:9","adaptive"]},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"image_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":9},{"type":"null"}],"title":"Image Urls","description":"Up to 9 reference images (referenced in the prompt as @Image1...)."},"video_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["video"]},"type":"array","maxItems":3},{"type":"null"}],"title":"Video Urls","description":"Up to 3 reference videos (referenced in the prompt as @Video1...). Each must be mp4 or mov, 2-15 seconds long, at most 200 MB, 24-60 fps; the reference videos total at most 15 seconds."},"audio_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["audio"]},"type":"array","maxItems":3},{"type":"null"}],"title":"Audio Urls","description":"Up to 3 reference audio clips (referenced in the prompt as @Audio1...). Each must be wav or mp3, 2-15 seconds long, at most 15 MB; the clips total at most 15 seconds."},"resolution":{"type":"string","enum":["480p","720p","1080p","4k"],"title":"Resolution","description":"Output resolution."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration","resolution"],"title":"SeedanceReferenceToVideoRequest"},"SeedanceTextToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":4000,"title":"Prompt","description":"Text prompt describing the video to generate."},"duration":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":4.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Video length in seconds (4-15), or 'auto' to let the model choose."},"ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","21:9","adaptive"]},{"type":"null"}],"title":"Ratio","description":"Output aspect ratio."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","default":false},"bitrate_mode":{"anyOf":[{"type":"string","enum":["standard","high"]},{"type":"null"}],"title":"Bitrate Mode","description":"Output encode bitrate. 'high' produces a larger, higher-bitrate file; defaults to 'standard'."},"resolution":{"type":"string","enum":["480p","720p","1080p","4k"],"title":"Resolution","description":"Output resolution."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration","resolution"],"title":"SeedanceTextToVideoRequest"},"Seedream40ImageToImageRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":6.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Seed for a reproducible generation."},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size","description":"Output resolution: a 1K/2K/4K keyword or 'WxH'."},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":10,"minItems":1,"title":"Image Urls","description":"URLs of the reference images to edit or combine (up to 10)."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"Seedream40ImageToImageRequest"},"Seedream40TextToImageRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":6.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Seed for a reproducible generation."},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size","description":"Output resolution: a 1K/2K/4K keyword or 'WxH'."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"Seedream40TextToImageRequest"},"Seedream45TextToImageRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":6.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Seed for a reproducible generation."},"size":{"anyOf":[{"type":"string","enum":["2K","4K"]},{"type":"null"}],"title":"Size","description":"Output resolution."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"Seedream45TextToImageRequest"},"Seedream50LiteImageToImageRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":6.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Seed for a reproducible generation."},"size":{"anyOf":[{"type":"string","enum":["2K","3K","4K"]},{"type":"null"}],"title":"Size","description":"Output resolution."},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":14,"minItems":1,"title":"Image Urls","description":"URLs of the reference images to edit or combine (up to 14)."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"Seedream50LiteImageToImageRequest"},"Seedream50LiteTextToImageRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":6.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Seed for a reproducible generation."},"size":{"anyOf":[{"type":"string","enum":["2K","3K","4K"]},{"type":"null"}],"title":"Size","description":"Output resolution."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"Seedream50LiteTextToImageRequest"},"Seedream50ProImageToImageRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":6.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Seed for a reproducible generation."},"size":{"anyOf":[{"type":"string","enum":["1K","2K"]},{"type":"null"}],"title":"Size","description":"Output resolution (defaults to 2K)."},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":10,"minItems":1,"title":"Image Urls","description":"URLs of the reference images to edit or combine (up to 10)."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_urls"],"title":"Seedream50ProImageToImageRequest"},"Seedream50ProTextToImageRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the image to generate."},"num_images":{"type":"integer","maximum":6.0,"minimum":1.0,"title":"Num Images","description":"Number of images to generate.","default":1},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Seed for a reproducible generation."},"size":{"anyOf":[{"type":"string","enum":["1K","2K"]},{"type":"null"}],"title":"Size","description":"Output resolution (defaults to 2K)."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"Seedream50ProTextToImageRequest"},"SoniloSFXSegment":{"properties":{"start":{"type":"number","minimum":0.0,"title":"Start","description":"Where the span begins, in seconds."},"end":{"type":"number","exclusiveMinimum":0.0,"title":"End","description":"Where the span ends, in seconds."},"prompt":{"type":"string","maxLength":200,"minLength":1,"title":"Prompt","description":"What this span should sound like."}},"additionalProperties":false,"type":"object","required":["start","end","prompt"],"title":"SoniloSFXSegment","description":"One span of a video to score. Sonilo requires contiguity: the first starts at 0\nand each end meets the next start."},"SoniloSegment":{"properties":{"start":{"type":"number","minimum":0.0,"title":"Start","description":"Where the section begins, in seconds."},"prompt":{"type":"string","maxLength":200,"minLength":1,"title":"Prompt","description":"What this section should sound like."},"label":{"anyOf":[{"type":"string","enum":["intro","verse","pre-chorus","chorus","bridge","break","silence","outro","none"]},{"type":"null"}],"title":"Label","description":"Structural role of the section."}},"additionalProperties":false,"type":"object","required":["start","prompt"],"title":"SoniloSegment","description":"One timed section of the score."},"SoniloTextToMusicRequest":{"properties":{"prompt":{"type":"string","maxLength":2000,"minLength":1,"title":"Prompt","description":"Describe the music to generate."},"duration":{"type":"integer","maximum":360.0,"minimum":5.0,"title":"Duration","description":"Length of the track in seconds."},"output_format":{"anyOf":[{"type":"string","enum":["m4a","wav"]},{"type":"null"}],"title":"Output Format","description":"Audio container for the result."},"segments":{"anyOf":[{"items":{"$ref":"#/components/schemas/SoniloSegment"},"type":"array","maxItems":30},{"type":"null"}],"title":"Segments","description":"Up to 30 timed sections to shape the arrangement."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration"],"title":"SoniloTextToMusicRequest"},"SoniloTextToSFXRequest":{"properties":{"prompt":{"type":"string","maxLength":2000,"minLength":1,"title":"Prompt","description":"Describe the sound effect."},"duration":{"type":"integer","maximum":180.0,"minimum":1.0,"title":"Duration","description":"Length of the effect in seconds."},"audio_format":{"anyOf":[{"type":"string","enum":["wav","mp3","aac","flac"]},{"type":"null"}],"title":"Audio Format","description":"Audio container for the result."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","duration"],"title":"SoniloTextToSFXRequest","description":"Generate a sound effect from a prompt. Note `audio_format`, not the music\n`output_format`, and a 1-180s window rather than the music 5-360s."},"SoniloVideoToMusicRequest":{"properties":{"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","description":"URL of the video to score (max 300MB, max 6 minutes).","media_kinds":["video"]},"prompt":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Prompt","description":"Guide the music."},"output_format":{"anyOf":[{"type":"string","enum":["m4a","wav"]},{"type":"null"}],"title":"Output Format","description":"Audio container for the result."},"segments":{"anyOf":[{"items":{"$ref":"#/components/schemas/SoniloSegment"},"type":"array","maxItems":30},{"type":"null"}],"title":"Segments","description":"Up to 30 timed sections to shape the arrangement."},"preserve_speech":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Preserve Speech","description":"Isolate the original speech and keep it alongside the score."},"ducking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ducking","description":"Duck the music under dialogue; the returned audio is the ducked mix."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["video_url"],"title":"SoniloVideoToMusicRequest","description":"Score a video; the result is audio (optionally a ducked mix)."},"SoniloVideoToSFXRequest":{"properties":{"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","description":"URL of the video to score (max 300MB, max 180s).","media_kinds":["video"]},"prompt":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Prompt","description":"Guide the effects; omit to let Sonilo infer them."},"segments":{"anyOf":[{"items":{"$ref":"#/components/schemas/SoniloSFXSegment"},"type":"array","maxItems":30},{"type":"null"}],"title":"Segments","description":"Up to 30 contiguous spans to score individually."},"audio_format":{"anyOf":[{"type":"string","enum":["wav","mp3","aac","flac"]},{"type":"null"}],"title":"Audio Format","description":"Audio container for the result."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["video_url"],"title":"SoniloVideoToSFXRequest","description":"Score a video with sound effects; the result is audio."},"SoniloVideoToVideoMusicRequest":{"properties":{"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","description":"URL of the video to score (max 300MB, max 6 minutes).","media_kinds":["video"]},"prompt":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Prompt","description":"Guide the music."},"preserve_speech":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Preserve Speech","description":"Isolate and keep the original speech under the score."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["video_url"],"title":"SoniloVideoToVideoMusicRequest","description":"Score a video and return the picture remuxed with the new soundtrack."},"TextToAudioRequest":{"properties":{"prompt":{"type":"string","maxLength":4000,"minLength":1,"title":"Prompt"},"duration":{"type":"number","maximum":20.0,"minimum":1.0,"title":"Duration","default":10.0},"seed":{"type":"integer","title":"Seed","default":-1},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"TextToAudioRequest"},"TopazImageUpscaleRequest":{"properties":{"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"URL of the image to upscale.","media_kinds":["image"]},"upscale_factor":{"type":"string","enum":["x2","x3","x4"],"title":"Upscale Factor","description":"How much to enlarge the image: 2x, 3x, or 4x the original dimensions.","default":"x2"},"model":{"type":"string","enum":["standard-v2","low-resolution-v2","cgi","high-fidelity-v2","text-refine","redefine","standard-max","wonder","wonder-3","wonder-3.5"],"title":"Model","description":"Topaz enhancement model. Standard family (true-to-input upscaling): `standard-v2` (default, general purpose), `low-resolution-v2` (small/degraded sources), `cgi` (art and CGI), `high-fidelity-v2` (detail preservation), `text-refine` (text and shapes). Generative family (adds synthesized detail, priced higher): `redefine` (prompt-driven), `standard-max`, `wonder`, `wonder-3`, `wonder-3.5`.","default":"standard-v2"},"output_format":{"anyOf":[{"type":"string","enum":["jpeg","png"]},{"type":"null"}],"title":"Output Format","description":"Output image format; omitted keeps the provider default (jpeg)."},"crop_to_fill":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Crop To Fill","description":"When the output aspect ratio differs, crop to fill the output dimensions instead of the default letterboxing."},"subject_detection":{"anyOf":[{"type":"string","enum":["all","foreground","background"]},{"type":"null"}],"title":"Subject Detection","description":"Where enhancements are applied; omitted lets Topaz auto-configure."},"face_enhancement":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Face Enhancement","description":"Apply Topaz's face recovery model. When true, `face_enhancement_strength` and `face_enhancement_creativity` are required. Omitted lets Topaz auto-configure."},"face_enhancement_strength":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Face Enhancement Strength","description":"Face recovery strength (requires face_enhancement=true)."},"face_enhancement_creativity":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Face Enhancement Creativity","description":"Realistic (0) to creative (1) face recovery (requires face_enhancement=true)."},"sharpen":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Sharpen","description":"Sharpening strength."},"denoise":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Denoise","description":"Denoise strength."},"fix_compression":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Fix Compression","description":"Compression-artifact removal strength (standard models only)."},"strength":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.01},{"type":"null"}],"title":"Strength","description":"Overall model strength (standard models only); too high can look unrealistic."},"prompt":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Prompt","description":"Describe the desired result for generative models (not wonder-3/wonder-3.5); descriptive statements work better than directives. Cannot be combined with autoprompt=true."},"autoprompt":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Autoprompt","description":"Auto-generate the guidance prompt (generative models except wonder-3/wonder-3.5; replaces `prompt`)."},"creativity":{"anyOf":[{"type":"integer","maximum":9.0,"minimum":1.0},{"type":"null"}],"title":"Creativity","description":"Generative creativity 1-9 (generative models only); lower stays truest to the input."},"texture":{"anyOf":[{"type":"integer","maximum":5.0,"minimum":1.0},{"type":"null"}],"title":"Texture","description":"Generative texture detail 1-5 (generative models only); 1 at low creativity, 3 at higher."},"detail":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Detail","description":"Add post-render detail (generative models only). When true, `detail_strength` is required."},"detail_strength":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Detail Strength","description":"Post-render detail strength (requires detail=true)."},"enhancement_strength":{"anyOf":[{"type":"string","enum":["low","medium","high"]},{"type":"null"}],"title":"Enhancement Strength","description":"Enhancement level (wonder-3 and wonder-3.5 only); omitted lets Topaz auto-configure."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["image_url"],"title":"TopazImageUpscaleRequest"},"TopazVideoUpscaleRequest":{"properties":{"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","media_kinds":["video"]},"upscale_factor":{"type":"string","enum":["x2","x4"],"title":"Upscale Factor","default":"x2"},"model":{"type":"string","enum":["proteus","starlight-mini","starlight-hq","starlight-sharp","starlight-fast-2","starlight-precise-2.6"],"title":"Model","description":"Topaz enhancement model. `proteus` (default) is the general-purpose upscaler; the `starlight-*` models are the slower, higher-quality diffusion family (sources up to 30fps, output up to 4K). Except `starlight-precise-2.6`, which scales exactly by upscale_factor, starlight output never drops below 720p — small sources come back larger than upscale_factor alone implies.","default":"proteus"},"compression":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Compression","description":"Compression-artifact recovery strength (proteus only)."},"noise":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Noise","description":"Denoise strength (proteus only)."},"halo":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Halo","description":"De-halo strength (proteus only)."},"grain":{"anyOf":[{"type":"number","maximum":0.1,"minimum":0.0},{"type":"null"}],"title":"Grain","description":"Film grain to add (proteus only)."},"recover_detail":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Recover Detail","description":"How much original detail to preserve (proteus only)."},"h264_output":{"type":"boolean","title":"H264 Output","description":"Encode the output with H.264 instead of the default H.265.","default":false},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["video_url"],"title":"TopazVideoUpscaleRequest"},"TranscriptOutput":{"properties":{"media_type":{"type":"string","const":"transcription","title":"Media Type","default":"transcription"},"transcript":{"$ref":"#/components/schemas/MediaAsset"}},"type":"object","required":["transcript"],"title":"TranscriptOutput"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VeoImageToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"negative_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Negative Prompt","description":"Text describing what to avoid in the video."},"duration":{"type":"integer","enum":[4,6,8],"title":"Duration","description":"Video length in seconds.","default":8},"aspect_ratio":{"type":"string","enum":["16:9","9:16"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"16:9"},"person_generation":{"anyOf":[{"type":"string","enum":["allow_all","allow_adult","dont_allow"]},{"type":"null"}],"title":"Person Generation","description":"Policy for generating people in the output."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"enhance_prompt":{"type":"boolean","title":"Enhance Prompt","description":"Whether the provider may rewrite the prompt for better results.","default":true},"seed":{"anyOf":[{"type":"integer","maximum":4294967295.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Seed for reproducible generation. Defaults to a random seed."},"compression_quality":{"anyOf":[{"type":"string","enum":["optimized","lossless"]},{"type":"null"}],"title":"Compression Quality","description":"Output encoding quality. Defaults to optimized (smaller files)."},"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"URL of the source image to animate.","media_kinds":["image"]},"resolution":{"type":"string","enum":["720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"720p"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt","image_url"],"title":"VeoImageToVideoRequest"},"VeoTextToVideoRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt","description":"Text prompt describing the video to generate."},"negative_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Negative Prompt","description":"Text describing what to avoid in the video."},"duration":{"type":"integer","enum":[4,6,8],"title":"Duration","description":"Video length in seconds.","default":8},"aspect_ratio":{"type":"string","enum":["16:9","9:16"],"title":"Aspect Ratio","description":"Output aspect ratio.","default":"16:9"},"person_generation":{"anyOf":[{"type":"string","enum":["allow_all","allow_adult","dont_allow"]},{"type":"null"}],"title":"Person Generation","description":"Policy for generating people in the output."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"native_audio":true},"enhance_prompt":{"type":"boolean","title":"Enhance Prompt","description":"Whether the provider may rewrite the prompt for better results.","default":true},"seed":{"anyOf":[{"type":"integer","maximum":4294967295.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Seed for reproducible generation. Defaults to a random seed."},"compression_quality":{"anyOf":[{"type":"string","enum":["optimized","lossless"]},{"type":"null"}],"title":"Compression Quality","description":"Output encoding quality. Defaults to optimized (smaller files)."},"resolution":{"type":"string","enum":["720p","1080p","4k"],"title":"Resolution","description":"Output resolution.","default":"720p"},"reference_image_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":3},{"type":"null"}],"title":"Reference Image Urls","description":"Up to 3 reference image URLs to guide generation. Requires duration=8."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"VeoTextToVideoRequest"},"VeoVideoExtensionRequest":{"properties":{"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Text prompt guiding the extension."},"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","description":"URL of the video to extend.","media_kinds":["video"]},"duration":{"type":"integer","maximum":148.0,"minimum":1.0,"title":"Duration","description":"Output length in seconds (input length plus the added segment)."},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Whether to generate audio for the output.","default":true,"native_audio":true},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["video_url","duration"],"title":"VeoVideoExtensionRequest"},"VideoOutput":{"properties":{"media_type":{"type":"string","const":"video","title":"Media Type","default":"video"},"video":{"$ref":"#/components/schemas/MediaAsset"}},"type":"object","required":["video"],"title":"VideoOutput"},"VideoToAudioRequest":{"properties":{"video":{"type":"string","pattern":"^https?://","title":"Video","description":"URL of the source video. H.264 or HEVC, at most 1200 seconds (20 minutes) and 2GB. The container does not matter and the URL needs no file extension — the codec is read from the file itself. Its visuals and duration are preserved — only the soundtrack is replaced. A source below the model's working resolution for its aspect ratio (about 576x320 for 16:9) is upscaled to it, so a very small video still produces audio, just with less for the model to work from.","media_kinds":["video"]},"instruction":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Instruction","description":"What the audio should be — sound effects, ambience, dialogue, music, or overall style — and how it should follow the visible action. Reaches the model verbatim. Omit it, or leave it blank, for natural sound design derived from the video alone."},"seed":{"type":"integer","maximum":2147483647.0,"minimum":-1.0,"title":"Seed","description":"Deterministic seed. -1 picks a random one.","default":-1},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["video"],"title":"VideoToAudioRequest"},"VideosOutput":{"properties":{"media_type":{"type":"string","const":"videos","title":"Media Type","default":"videos"},"videos":{"items":{"$ref":"#/components/schemas/MediaAsset"},"type":"array","title":"Videos"}},"type":"object","required":["videos"],"title":"VideosOutput","description":"A multi-video delivery (the `videos` modality): several delivered videos\nin one job, in order."},"WanImageToVideoRequest":{"properties":{"prompt":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}],"title":"Prompt","description":"Text prompt (max 20000 chars)."},"resolution":{"type":"string","enum":["480p","720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"1080p"},"ratio":{"type":"string","enum":["adaptive","16:9","4:3","1:1","3:4","9:16"],"title":"Ratio","description":"Output aspect ratio; 'adaptive' lets the model choose.","default":"adaptive"},"duration":{"anyOf":[{"type":"integer","maximum":30.0,"minimum":2.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Output length in seconds (2-30), or 'auto' for smart duration.","default":5},"audio":{"type":"boolean","title":"Audio","description":"Whether to generate audio.","default":true,"native_audio":true},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Deterministic seed."},"watermark":{"type":"boolean","title":"Watermark","description":"Also return a watermarked result.","default":false},"first_frame_url":{"type":"string","pattern":"^https?://","title":"First Frame Url","description":"URL of the first frame.","media_kinds":["image"]},"last_frame_url":{"anyOf":[{"type":"string","pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Last Frame Url","description":"URL of the last frame."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["first_frame_url"],"title":"WanImageToVideoRequest"},"WanOmniVideoRequest":{"properties":{"prompt":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}],"title":"Prompt","description":"Text prompt (max 20000 chars)."},"resolution":{"type":"string","enum":["480p","720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"1080p"},"ratio":{"type":"string","enum":["adaptive","16:9","4:3","1:1","3:4","9:16"],"title":"Ratio","description":"Output aspect ratio; 'adaptive' lets the model choose.","default":"adaptive"},"duration":{"anyOf":[{"type":"integer","maximum":30.0,"minimum":2.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Output length in seconds (2-30), or 'auto' for smart duration.","default":5},"audio":{"type":"boolean","title":"Audio","description":"Whether to generate audio.","default":true,"native_audio":true},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Deterministic seed."},"watermark":{"type":"boolean","title":"Watermark","description":"Also return a watermarked result.","default":false},"reference_image_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":10},{"type":"null"}],"title":"Reference Image Urls","description":"Reference images (max 10)."},"reference_video_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["video"]},"type":"array","maxItems":5},{"type":"null"}],"title":"Reference Video Urls","description":"Reference videos (max 5)."},"reference_audio_urls":{"anyOf":[{"items":{"type":"string","pattern":"^https?://","media_kinds":["audio"]},"type":"array","maxItems":5},{"type":"null"}],"title":"Reference Audio Urls","description":"Reference audio clips (max 5)."},"file_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Url","description":"Document (https) to reference — PDF, DOC/DOCX, or XLS/XLSX."},"web_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Web Url","description":"Public web page to reference."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","title":"WanOmniVideoRequest","description":"All-in-one references. First/last frames belong to image-to-video, so they are absent here:\nthe two input modes are separate request types and cannot be mixed. In prompt references,\nimages and videos are numbered separately (``Image 1``, ``Video 1``) in their per-type input\norder."},"WanTextToVideoRequest":{"properties":{"prompt":{"type":"string","maxLength":20000,"minLength":1,"title":"Prompt","description":"Text prompt (max 20000 chars)."},"resolution":{"type":"string","enum":["480p","720p","1080p"],"title":"Resolution","description":"Output resolution.","default":"1080p"},"ratio":{"type":"string","enum":["adaptive","16:9","4:3","1:1","3:4","9:16"],"title":"Ratio","description":"Output aspect ratio; 'adaptive' lets the model choose.","default":"adaptive"},"duration":{"anyOf":[{"type":"integer","maximum":30.0,"minimum":2.0},{"type":"string","const":"auto"}],"title":"Duration","description":"Output length in seconds (2-30), or 'auto' for smart duration.","default":5},"audio":{"type":"boolean","title":"Audio","description":"Whether to generate audio.","default":true,"native_audio":true},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed","description":"Deterministic seed."},"watermark":{"type":"boolean","title":"Watermark","description":"Also return a watermarked result.","default":false},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"HTTPS callback for this job's terminal event, signed with the org's webhook secret (Standard Webhooks). Part of the request identity for Idempotency-Key purposes."}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"WanTextToVideoRequest"}},"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key","description":"An API key from the Pika API console."},"BearerApiKey":{"type":"http","scheme":"bearer","description":"Bearer credential: the API key itself on /v1/media, a console session JWT on the /billing and /v1/webhooks reads."}}},"security":[{"ApiKeyHeader":[]},{"BearerApiKey":[]}]}