{"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.pikalabs.app"}],"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`, the sum of its comp credits\nand its prepaid balance. An org that bills by invoice spends against\n`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"}}}}}}},"/billing/monthly/{month}":{"get":{"summary":"Get Billing Monthly","description":"Return the calling org's usage for one calendar month (`YYYY-MM`, UTC, by\nsettlement date).\n\nCredits granted, top-ups and balances are portal owner/admin only; an API key\nsees usage, charges, credits applied and invoices.","operationId":"get_billing_monthly_billing_monthly__month__get","parameters":[{"name":"month","in":"path","required":true,"schema":{"type":"string","title":"Month"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonthlyReport"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/billing/monthly/{month}/csv":{"get":{"summary":"Get Billing Monthly Csv","description":"The same month as CSV: one row per model plus a totals row.","operationId":"get_billing_monthly_csv_billing_monthly__month__csv_get","parameters":[{"name":"month","in":"path","required":true,"schema":{"type":"string","title":"Month"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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/openai/gpt-image-2.5-flare/text-to-image":{"post":{"summary":"Media Submit Openai Gpt Image 2 5 Flare 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_5_flare_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPTImage25TextToImageRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Openai Gpt Image 2 5 Flare 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.5-flare/image-to-image":{"post":{"summary":"Media Submit Openai Gpt Image 2 5 Flare 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_5_flare_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPTImage25EditImageRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Openai Gpt Image 2 5 Flare 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/openai/gpt-image-2.5-sunburst/text-to-image":{"post":{"summary":"Media Submit Openai Gpt Image 2 5 Sunburst 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_5_sunburst_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPTImage25TextToImageRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Openai Gpt Image 2 5 Sunburst 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.5-sunburst/image-to-image":{"post":{"summary":"Media Submit Openai Gpt Image 2 5 Sunburst 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_5_sunburst_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPTImage25EditImageRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Openai Gpt Image 2 5 Sunburst 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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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/ideogram/ideogram-4.0/text-to-image":{"post":{"summary":"Media Submit Ideogram Ideogram 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_ideogram_ideogram_4_0_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdeogramV4TextToImageRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Ideogram Ideogram 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/ideogram/ideogram-4.0-transparent/text-to-image":{"post":{"summary":"Media Submit Ideogram Ideogram 4 0 Transparent 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_ideogram_ideogram_4_0_transparent_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdeogramV4TransparentTextToImageRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Ideogram Ideogram 4 0 Transparent 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/ideogram/p-image/text-to-image":{"post":{"summary":"Media Submit Ideogram P 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_ideogram_p_image_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdeogramPImageTextToImageRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Ideogram P 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/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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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/bytedance/seedance-2.5/draft-to-video":{"post":{"summary":"Media Submit Bytedance Seedance 2 5 Draft 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_draft_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedance25DraftToVideoRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Bytedance Seedance 2 5 Draft 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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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/google/lyria-3.5/text-to-audio":{"post":{"summary":"Media Submit Google Lyria 3 5 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_5_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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Google Lyria 3 5 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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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/video-extension":{"post":{"summary":"Media Submit X Ai Grok Imagine Video 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_x_ai_grok_imagine_video_video_extension","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokVideoExtendRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Video 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/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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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/x-ai/grok-imagine-image-2.0/text-to-image":{"post":{"summary":"Media Submit X Ai Grok Imagine Image 2 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_x_ai_grok_imagine_image_2_0_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokImage2TextToImageRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Image 2 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/x-ai/grok-imagine-image-2.0/image-to-image":{"post":{"summary":"Media Submit X Ai Grok Imagine Image 2 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_x_ai_grok_imagine_image_2_0_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrokImage2EditImageRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit X Ai Grok Imagine Image 2 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/meta/muse-image-1.0/text-to-image":{"post":{"summary":"Media Submit Meta Muse Image 1 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_meta_muse_image_1_0_text_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaMuseImageRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Meta Muse Image 1 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/meta/muse-image-1.0/image-to-image":{"post":{"summary":"Media Submit Meta Muse Image 1 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_meta_muse_image_1_0_image_to_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaMuseImageEditRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Meta Muse Image 1 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/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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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/black-forest-labs/flux-3-video/video-upscale":{"post":{"summary":"Media Submit Black Forest Labs Flux 3 Video 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_black_forest_labs_flux_3_video_video_upscale","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flux3VideoUpscaleRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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 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/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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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/pika-3.0/text-to-video":{"post":{"summary":"Media Submit Pika Pika 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_pika_pika_3_0_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pika3StandardPublicTextToVideoRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika 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/pika/pika-3.0/image-to-video":{"post":{"summary":"Media Submit Pika Pika 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_pika_pika_3_0_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pika3StandardPublicImageToVideoRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika 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/pika/pika-3.0/reference-to-video":{"post":{"summary":"Media Submit Pika Pika 3 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_pika_pika_3_0_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pika3StandardPublicReferenceToVideoRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika 3 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/pika/pika-3.0-fast/text-to-video":{"post":{"summary":"Media Submit Pika Pika 3 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_pika_pika_3_0_fast_text_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pika3FastPublicTextToVideoRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika 3 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/pika/pika-3.0-fast/image-to-video":{"post":{"summary":"Media Submit Pika Pika 3 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_pika_pika_3_0_fast_image_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pika3FastPublicImageToVideoRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika 3 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/pika/pika-3.0-fast/reference-to-video":{"post":{"summary":"Media Submit Pika Pika 3 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_pika_pika_3_0_fast_reference_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pika3FastPublicReferenceToVideoRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika 3 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/pika/pika-3.0/audio-to-video":{"post":{"summary":"Media Submit Pika Pika 3 0 Audio 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_3_0_audio_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pika3PublicAudioToVideoRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika 3 0 Audio 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-3.0-fast/audio-to-video":{"post":{"summary":"Media Submit Pika Pika 3 0 Fast Audio 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_3_0_fast_audio_to_video","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pika3PublicAudioToVideoRequest"}}},"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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaJobStatusResponse"},{"$ref":"#/components/schemas/MediaPlainError"}],"title":"Response 403 Media Submit Pika Pika 3 0 Fast Audio 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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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, admission suspended, or a member/API-key usage limit (`Retry-After` on the daily window).","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","responses":{"200":{"description":"Presigned upload (application/json request) or legacy CDN URL (raw request)","content":{"application/json":{"schema":{"anyOf":[{"properties":{"upload_url":{"title":"Upload Url","type":"string"},"url":{"title":"Url","type":"string"},"method":{"default":"PUT","title":"Method","type":"string"},"headers":{"additionalProperties":{"type":"string"},"title":"Headers","type":"object"},"expires_in":{"title":"Expires In","type":"integer"},"max_bytes":{"title":"Max Bytes","type":"integer"}},"required":["upload_url","url","headers","expires_in","max_bytes"],"title":"MediaUploadResponse","type":"object"},{"properties":{"url":{"title":"Url","type":"string"}},"required":["url"],"title":"LegacyMediaUploadResponse","type":"object"}]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"content_type":{"minLength":1,"title":"Content Type","type":"string"},"size_bytes":{"exclusiveMinimum":0,"title":"Size Bytes","type":"integer"}},"required":["content_type","size_bytes"],"title":"MediaUploadRequest","type":"object"}},"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"}}}}},"delete":{"summary":"Media Upload Delete","description":"Delete one reference-media upload this org created with `POST /v1/media/uploads` and purge it from the CDN. Any URL that is not one of this org's uploads is `404`. An upload URL stays valid for five minutes after minting and cannot be revoked, so a PUT you make or have in flight with it will recreate the object; delete once your upload is done. `503` means the origin object or the edge could not be purged; retry the DELETE. Repeats are safe.","operationId":"media_upload_delete","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","title":"Url"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/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"}}}}}},"delete":{"summary":"Media Job Delete","description":"Delete this job's stored media — its outputs, the inputs we staged for it, and the request captured at submit (the prompt and parameters shown in History) — from Pika storage and purge the media from the CDN. From then on `GET /v1/media/jobs/{job_id}` reports `deleted_at` and no output, and `/content` is `410`. A running job is `409`, and so is a failed one until the provider's upload window for it closes (the body carries `retry_after` seconds). `503` means the purge could not complete: the deletion is already accepted and finishes automatically. Repeats are safe.","operationId":"media_job_delete","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"204":{"description":"Successful Response"},"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"},"Balances":{"properties":{"prepaid_micros":{"type":"integer","title":"Prepaid Micros"},"credit_micros":{"type":"integer","title":"Credit Micros"},"as_of":{"type":"string","format":"date-time","title":"As Of"}},"type":"object","required":["prepaid_micros","credit_micros","as_of"],"title":"Balances"},"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":"Spendable balance in micro-USD (the exact ledger unit): prepaid plus comp credits."},"prepaid_micro_usd":{"type":"integer","title":"Prepaid Micro Usd","description":"The prepaid share of the spendable balance."},"credit_micro_usd":{"type":"integer","title":"Credit Micro Usd","description":"The comp-credit share, which a charge draws before prepaid."},"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","prepaid_micro_usd","credit_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.\n\n``recorded_at`` is the most recent survey date across every rival; a competitor that was\nre-surveyed later carries its own finer ``recorded_at``."},"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"},"recorded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Recorded At"}},"type":"object","required":["id","name","kind"],"title":"CompetitorView","description":"``recorded_at``, when present, is when this rival's quotes were last surveyed (ISO 8601\nwith a UTC offset) and supersedes the list-level ``recorded_at`` for its column. Omitted\nwhen the rival claims nothing finer than the list-level date."},"CreditBasis":{"type":"string","enum":["recorded","reconstructed"],"title":"CreditBasis"},"DayUsage":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"charges_micros":{"type":"integer","title":"Charges Micros"},"credit_micros":{"type":"integer","title":"Credit Micros"},"billed_requests":{"type":"integer","title":"Billed Requests"}},"type":"object","required":["date","charges_micros","credit_micros","billed_requests"],"title":"DayUsage"},"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"},"Flux3VideoUpscaleRequest":{"properties":{"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","description":"URL of the video to upscale. At most 20 seconds, 50MB, and 2560x1440 — a larger source is rejected rather than trimmed or downscaled.","media_kinds":["video"]},"upscale_factor":{"type":"number","maximum":3.0,"minimum":1.5,"title":"Upscale Factor","description":"How much to enlarge each dimension. The output keeps the source aspect ratio and is capped at a 13.75 megapixel frame, so a large source enlarges by less than asked.","default":2.0},"mode":{"type":"string","enum":["precise","creative"],"title":"Mode","description":"`creative` (default) restores and invents fine detail — best for generated footage, textures, and scenery, but faces and products can drift. `precise` sharpens without departing from the source; use it when identity matters. `precise` is the cheaper rate.","default":"creative"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Optional description of the clip, steering the detail creative mode adds."},"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":"Flux3VideoUpscaleRequest"},"GPTImage25EditImageRequest":{"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"},"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."},"quality":{"type":"string","enum":["low","medium","high","xhigh","max"],"title":"Quality","description":"Rendering quality of the output.","default":"medium"},"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":"GPTImage25EditImageRequest"},"GPTImage25TextToImageRequest":{"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"},"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."},"quality":{"type":"string","enum":["low","medium","high","xhigh","max"],"title":"Quality","description":"Rendering quality of the output.","default":"medium"},"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":"GPTImage25TextToImageRequest"},"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"},"thinking_level":{"type":"string","enum":["minimal","high"],"title":"Thinking Level","description":"How much the model reasons before rendering. `high` helps complex compositions at the cost of latency and thinking tokens.","default":"minimal"},"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"},"thinking_level":{"type":"string","enum":["minimal","high"],"title":"Thinking Level","description":"How much the model reasons before rendering. `high` helps complex compositions at the cost of latency and thinking tokens.","default":"minimal"},"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"},"thinking_level":{"type":"string","enum":["minimal","high"],"title":"Thinking Level","description":"How much the model reasons before rendering. `high` helps complex compositions at the cost of latency and thinking tokens.","default":"minimal"},"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"},"thinking_level":{"type":"string","enum":["minimal","high"],"title":"Thinking Level","description":"How much the model reasons before rendering. `high` helps complex compositions at the cost of latency and thinking tokens.","default":"minimal"},"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"},"GrokImage2EditImageRequest":{"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","21:9","5:2","auto"],"title":"Aspect Ratio","default":"auto"},"num_images":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Num Images","default":1},"quality":{"anyOf":[{"type":"string","enum":["low","medium","auto"]},{"type":"null"}],"title":"Quality"},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":5,"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":"GrokImage2EditImageRequest"},"GrokImage2TextToImageRequest":{"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","21:9","5:2","auto"],"title":"Aspect Ratio","default":"1:1"},"num_images":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Num Images","default":1},"quality":{"anyOf":[{"type":"string","enum":["low","medium","auto"]},{"type":"null"}],"title":"Quality"},"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":"GrokImage2TextToImageRequest"},"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"},"GrokVideoExtendRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","media_kinds":["video"]},"duration":{"type":"integer","maximum":10.0,"minimum":2.0,"title":"Duration","default":6},"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":"GrokVideoExtendRequest"},"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. Audio may be the only reference type."},"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"},"IdeogramCompositionalDeconstruction":{"properties":{"background":{"type":"string","minLength":1,"title":"Background"},"elements":{"items":{"oneOf":[{"$ref":"#/components/schemas/IdeogramObjElement"},{"$ref":"#/components/schemas/IdeogramTextElement"}],"discriminator":{"propertyName":"type","mapping":{"obj":"#/components/schemas/IdeogramObjElement","text":"#/components/schemas/IdeogramTextElement"}}},"type":"array","title":"Elements"}},"additionalProperties":false,"type":"object","required":["background","elements"],"title":"IdeogramCompositionalDeconstruction"},"IdeogramJsonPrompt":{"properties":{"high_level_description":{"type":"string","minLength":1,"title":"High Level Description"},"style_description":{"anyOf":[{"$ref":"#/components/schemas/IdeogramStyleDescription"},{"type":"null"}]},"compositional_deconstruction":{"$ref":"#/components/schemas/IdeogramCompositionalDeconstruction"}},"additionalProperties":false,"type":"object","required":["high_level_description","compositional_deconstruction"],"title":"IdeogramJsonPrompt","description":"The Ideogram 4.0 structured prompt; supplying it disables magic-prompt."},"IdeogramObjElement":{"properties":{"type":{"type":"string","const":"obj","title":"Type"},"desc":{"type":"string","minLength":1,"title":"Desc"},"bbox":{"anyOf":[{"items":{"type":"integer","maximum":1000.0,"minimum":0.0},"type":"array","maxItems":4,"minItems":4},{"type":"null"}],"title":"Bbox"},"color_palette":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Color Palette"}},"additionalProperties":false,"type":"object","required":["type","desc"],"title":"IdeogramObjElement"},"IdeogramPImageTextToImageRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"prompt_upsampling":{"type":"string","enum":["AUTO","ON","OFF"],"title":"Prompt Upsampling","default":"AUTO"},"seed":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Seed"},"quality":{"type":"string","enum":["VERY_LOW","LOW","MEDIUM","HIGH"],"title":"Quality","default":"MEDIUM"},"resolution":{"anyOf":[{"type":"string","enum":["1K","2K"]},{"type":"null"}],"title":"Resolution"},"aspect_ratio":{"anyOf":[{"type":"string","enum":["1x3","3x1","1x2","2x1","9x16","16x9","10x16","16x10","2x3","3x2","3x4","4x3","4x5","5x4","1x1"]},{"type":"null"}],"title":"Aspect Ratio"},"custom_width":{"anyOf":[{"type":"integer","multipleOf":16.0,"maximum":4096.0,"minimum":16.0},{"type":"null"}],"title":"Custom Width"},"custom_height":{"anyOf":[{"type":"integer","multipleOf":16.0,"maximum":4096.0,"minimum":16.0},{"type":"null"}],"title":"Custom Height"},"enable_copyright_detection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Copyright Detection"},"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":"IdeogramPImageTextToImageRequest"},"IdeogramStyleDescription":{"properties":{"aesthetics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aesthetics"},"art_style":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Art Style"},"lighting":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lighting"},"medium":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Medium"},"photo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Photo"},"color_palette":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Color Palette"}},"additionalProperties":false,"type":"object","title":"IdeogramStyleDescription"},"IdeogramTextElement":{"properties":{"type":{"type":"string","const":"text","title":"Type"},"text":{"type":"string","minLength":1,"title":"Text"},"desc":{"type":"string","minLength":1,"title":"Desc"},"bbox":{"anyOf":[{"items":{"type":"integer","maximum":1000.0,"minimum":0.0},"type":"array","maxItems":4,"minItems":4},{"type":"null"}],"title":"Bbox"},"color_palette":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Color Palette"}},"additionalProperties":false,"type":"object","required":["type","text","desc"],"title":"IdeogramTextElement"},"IdeogramV4TextToImageRequest":{"oneOf":[{"properties":{"json_prompt":{"type":"null"}},"required":["text_prompt"]},{"properties":{"text_prompt":{"type":"null"}},"required":["json_prompt"]}],"properties":{"text_prompt":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Text Prompt"},"json_prompt":{"anyOf":[{"$ref":"#/components/schemas/IdeogramJsonPrompt"},{"type":"null"}]},"rendering_speed":{"type":"string","enum":["TURBO","DEFAULT","QUALITY"],"title":"Rendering Speed","default":"DEFAULT"},"enable_copyright_detection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Copyright Detection"},"resolution":{"anyOf":[{"type":"string","enum":["2048x2048","1440x2880","2880x1440","1664x2496","2496x1664","1792x2240","2240x1792","1440x2560","2560x1440","1600x2560","2560x1600","1728x2304","2304x1728","1296x3168","3168x1296","1152x2944","2944x1152","1248x3328","3328x1248","1280x3072","3072x1280","1024x3072","3072x1024","1024x1024","896x1120","1120x896","864x1152","1152x864","832x1248","1248x832","800x1280","1280x800","720x1280","1280x720","720x1440","1440x720","512x1536","1536x512"]},{"type":"null"}],"title":"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","title":"IdeogramV4TextToImageRequest"},"IdeogramV4TransparentTextToImageRequest":{"oneOf":[{"properties":{"json_prompt":{"type":"null"}},"required":["text_prompt"]},{"properties":{"text_prompt":{"type":"null"}},"required":["json_prompt"]}],"properties":{"text_prompt":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Text Prompt"},"json_prompt":{"anyOf":[{"$ref":"#/components/schemas/IdeogramJsonPrompt"},{"type":"null"}]},"rendering_speed":{"type":"string","enum":["TURBO","DEFAULT","QUALITY"],"title":"Rendering Speed","default":"DEFAULT"},"enable_copyright_detection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Copyright Detection"},"aspect_ratio":{"type":"string","enum":["AUTO","1x4","1x3","1x2","9x16","10x16","2x3","3x4","4x5","1x1","5x4","4x3","3x2","16x10","16x9","2x1","3x1","4x1"],"title":"Aspect Ratio","default":"AUTO"},"output_resolution":{"type":"string","enum":["1K","2K","4K","8K"],"title":"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","title":"IdeogramV4TransparentTextToImageRequest"},"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"},"InvoiceLine":{"properties":{"id":{"type":"string","title":"Id"},"state":{"$ref":"#/components/schemas/InvoiceState"},"period_start":{"type":"string","format":"date","title":"Period Start"},"period_end":{"type":"string","format":"date","title":"Period End"},"amount_due_micros":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amount Due Micros"}},"type":"object","required":["id","state","period_start","period_end","amount_due_micros"],"title":"InvoiceLine"},"InvoiceState":{"type":"string","enum":["preparing","open","marking_paid","paid","waived","voiding","voided"],"title":"InvoiceState"},"Kling3ImageElement":{"properties":{"type":{"type":"string","const":"element","title":"Type","description":"element: a multi-image element registered from `frontal_image_url` and `reference_image_urls`; the prompt references it as @id."},"id":{"type":"string","minLength":1,"title":"Id","description":"Handle the prompt references as @id."},"frontal_image_url":{"type":"string","pattern":"^https?://","title":"Frontal Image Url","description":"Frontal image of the subject (type element): jpg/png, <=10MB, >=300px, aspect between 1:2.5 and 2.5:1.","media_kinds":["image"]},"reference_image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":3,"minItems":1,"title":"Reference Image Urls","description":"1-3 additional views of the same subject (type element): jpg/png, <=10MB, >=300px, aspect between 1:2.5 and 2.5:1."}},"additionalProperties":false,"type":"object","required":["type","id","frontal_image_url","reference_image_urls"],"title":"Kling3ImageElement"},"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":{"oneOf":[{"$ref":"#/components/schemas/Kling3ImageElement"},{"$ref":"#/components/schemas/Kling3VideoElement"},{"$ref":"#/components/schemas/Kling3PresetElement"}],"discriminator":{"propertyName":"type","mapping":{"element":"#/components/schemas/Kling3ImageElement","preset_element":"#/components/schemas/Kling3PresetElement","video_element":"#/components/schemas/Kling3VideoElement"}}},"type":"array","maxItems":3},{"type":"null"}],"title":"Elements","description":"Up to 3 inline or preset 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"},"Kling3MaterialContent":{"properties":{"type":{"type":"string","enum":["first_frame","last_frame","refer_image","feature_video","base_video"],"title":"Type","description":"first_frame, last_frame, refer_image, feature_video or base_video: an image or video material; carries `url` and an optional `id` handle."},"url":{"type":"string","pattern":"^https?://","title":"Url","description":"Image or video URL (material types).","media_kinds":["image","video"]},"id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Id","description":"Optional handle the prompt references as @id (material types)."}},"additionalProperties":false,"type":"object","required":["type","url"],"title":"Kling3MaterialContent"},"Kling3MotionControlRequest":{"properties":{"image_url":{"type":"string","pattern":"^https?://","title":"Image Url","description":"URL of the character image to animate: jpg/png, at least 300px on each side, aspect between 1:2.5 and 2.5:1.","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":{"oneOf":[{"$ref":"#/components/schemas/Kling3PromptContent"},{"$ref":"#/components/schemas/Kling3MaterialContent"},{"$ref":"#/components/schemas/Kling3ImageElement"},{"$ref":"#/components/schemas/Kling3VideoElement"},{"$ref":"#/components/schemas/Kling3PresetElement"}],"discriminator":{"propertyName":"type","mapping":{"base_video":"#/components/schemas/Kling3MaterialContent","element":"#/components/schemas/Kling3ImageElement","feature_video":"#/components/schemas/Kling3MaterialContent","first_frame":"#/components/schemas/Kling3MaterialContent","last_frame":"#/components/schemas/Kling3MaterialContent","preset_element":"#/components/schemas/Kling3PresetElement","prompt":"#/components/schemas/Kling3PromptContent","refer_image":"#/components/schemas/Kling3MaterialContent","video_element":"#/components/schemas/Kling3VideoElement"}}},"type":"array","minItems":1,"title":"Contents","description":"Reference inputs: prompt, images, videos, inline or preset 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"},"Kling3PresetElement":{"properties":{"type":{"type":"string","const":"preset_element","title":"Type","description":"preset_element: an element from Kling's preset library named by `element_id`; the prompt references it as @id."},"id":{"type":"string","minLength":1,"title":"Id","description":"Handle the prompt references as @id."},"element_id":{"type":"string","minLength":1,"title":"Element Id","description":"Id of an element in Kling's preset library (type preset_element)."}},"additionalProperties":false,"type":"object","required":["type","id","element_id"],"title":"Kling3PresetElement"},"Kling3PromptContent":{"properties":{"type":{"type":"string","const":"prompt","title":"Type","description":"prompt: the text prompt item; carries `text`."},"text":{"type":"string","maxLength":3072,"minLength":1,"title":"Text","description":"Prompt text (type prompt)."}},"additionalProperties":false,"type":"object","required":["type","text"],"title":"Kling3PromptContent"},"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},"Kling3VideoElement":{"properties":{"type":{"type":"string","const":"video_element","title":"Type","description":"video_element: a video-character element registered from `video_url`; the prompt references it as @id."},"id":{"type":"string","minLength":1,"title":"Id","description":"Handle the prompt references as @id."},"video_url":{"type":"string","pattern":"^https?://","title":"Video Url","description":"One mp4/mov of a realistic person (type video_element), 3-8s, 1080p, 16:9 or 9:16, <=200MB. Speech in the clip becomes the element's voice.","media_kinds":["video"]}},"additionalProperties":false,"type":"object","required":["type","id","video_url"],"title":"Kling3VideoElement"},"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"},"MediaJobBillingPending":{"properties":{"state":{"type":"string","const":"pending","title":"State","default":"pending"}},"type":"object","title":"MediaJobBillingPending","description":"The job is terminal but its charge is not durable yet."},"MediaJobBillingSettled":{"properties":{"state":{"type":"string","const":"settled","title":"State","default":"settled"},"charge_micro_usd":{"type":"integer","title":"Charge Micro Usd","description":"What the job was charged, in micro-USD (1,000,000 = $1), the same unit as `/billing/balance`. This is the retail amount collected, not a provider cost, which is why it is named charge and not cost. `0` is a real value: a failed job collects nothing, and a completed job reads `0` when billing was disabled for it or its quote was $0. Refunds and adjustments post as negative statement entries and never rewrite the job, so sums of this field match the statement's original settlement entries rather than net-of-refund daily totals."}},"type":"object","required":["charge_micro_usd"],"title":"MediaJobBillingSettled","description":"The charge is durable and final."},"MediaJobBillingUnavailable":{"properties":{"state":{"type":"string","const":"unavailable","title":"State","default":"unavailable"}},"type":"object","title":"MediaJobBillingUnavailable","description":"The billing read failed. This says nothing about the charge itself."},"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"},"routing":{"anyOf":[{"$ref":"#/components/schemas/PublicRoute"},{"type":"null"}],"description":"Recorded automatic R2V decision; omitted before resolution or for explicit workflows."},"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"}]},"usage":{"anyOf":[{"$ref":"#/components/schemas/MediaJobUsage"},{"type":"null"}],"description":"Units the provider reported for this job, populated once the job is terminal on the job status route and in webhook payloads; null everywhere else, including submit responses and list entries. Only the units this job reports are present, so the keys are sparse. Usage does not always reproduce the charge: pricing can include components fixed by the request (per image, per episode, per request) that no provider unit reports, so treat `billing.charge_micro_usd` as authoritative. Best-effort: null when no units were reported or the lookup failed."},"deleted_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Deleted At","description":"When deletion of this job's stored media was accepted; the output is no longer served. Null for every job whose media is still stored."},"billing":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/MediaJobBillingSettled"},{"$ref":"#/components/schemas/MediaJobBillingPending"},{"$ref":"#/components/schemas/MediaJobBillingUnavailable"}],"discriminator":{"propertyName":"state","mapping":{"pending":"#/components/schemas/MediaJobBillingPending","settled":"#/components/schemas/MediaJobBillingSettled","unavailable":"#/components/schemas/MediaJobBillingUnavailable"}}},{"type":"null"}],"title":"Billing","description":"What this job cost you, populated only on the terminal job status route and MCP `check_job`. Record spend only from GET/`check_job` when `billing.state == \"settled\"`, keyed by job id. A `billing` of `null` is not a charge: webhooks, submit responses and list entries always render null, as do jobs from before the current billing plane. `pending` means the charge is not durable yet, usually for well under a second; retry whenever you see it (1s, then 2s, then 5s) and contact us if it persists past ~10 minutes. `unavailable` means our billing read failed, which says nothing about the charge; retry no sooner than 30s. We are already paged for it."}},"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 requested catalog entry. Automatic R2V may select a\ndifferent execution capability, reported separately in ``routing``."},"MediaJobUsage":{"properties":{"input_tokens":{"type":"integer","title":"Input Tokens"},"image_input_tokens":{"type":"integer","title":"Image Input Tokens"},"cached_input_tokens":{"type":"integer","title":"Cached Input Tokens"},"output_tokens":{"type":"integer","title":"Output Tokens"},"image_output_tokens":{"type":"integer","title":"Image Output Tokens"},"video_output_tokens":{"type":"integer","title":"Video Output Tokens"},"output_seconds":{"type":"number","title":"Output Seconds"},"video_input_seconds":{"type":"number","title":"Video Input Seconds"},"megapixel_seconds":{"type":"number","title":"Megapixel Seconds"}},"type":"object","title":"MediaJobUsage","description":"Provider-reported units for one job. Every key is optional: a job carries only the units it\nactually reports, so a unit it does not meter is absent rather than null."},"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."},"MetaMuseImageEditRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"num_images":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Num Images","description":"Images to generate. Each one is billed.","default":1},"size":{"type":"string","title":"Size","description":"Shape of the output as \"WxH\". Only the ratio is read, never the magnitude: 16x9, 1920x1080 and 3840x2160 all render the same image, sized by the model. \"auto\" lets it pick the shape too.","default":"auto","examples":["auto","1x1","16x9","9x16","4x3","3x2","21x9"]},"output_format":{"type":"string","enum":["png","jpeg","webp"],"title":"Output Format","description":"Encoding of the returned image.","default":"webp"},"reasoning_strength":{"type":"string","enum":["low","high"],"title":"Reasoning Strength","description":"\"high\" refines over several passes; \"low\" returns after one, trading polish for speed. Same price either way.","default":"high"},"tool_enablement":{"anyOf":[{"$ref":"#/components/schemas/MetaToolEnablement"},{"type":"null"}],"description":"Turn off the grounding tools the model runs while it works. All on by default."},"image_urls":{"items":{"type":"string","pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":10,"minItems":1,"title":"Image Urls","description":"Source images to edit or combine. Not billed; only generated images are."},"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":"MetaMuseImageEditRequest"},"MetaMuseImageRequest":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"num_images":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Num Images","description":"Images to generate. Each one is billed.","default":1},"size":{"type":"string","title":"Size","description":"Shape of the output as \"WxH\". Only the ratio is read, never the magnitude: 16x9, 1920x1080 and 3840x2160 all render the same image, sized by the model. \"auto\" lets it pick the shape too.","default":"auto","examples":["auto","1x1","16x9","9x16","4x3","3x2","21x9"]},"output_format":{"type":"string","enum":["png","jpeg","webp"],"title":"Output Format","description":"Encoding of the returned image.","default":"webp"},"reasoning_strength":{"type":"string","enum":["low","high"],"title":"Reasoning Strength","description":"\"high\" refines over several passes; \"low\" returns after one, trading polish for speed. Same price either way.","default":"high"},"tool_enablement":{"anyOf":[{"$ref":"#/components/schemas/MetaToolEnablement"},{"type":"null"}],"description":"Turn off the grounding tools the model runs while it works. All on by default."},"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":"MetaMuseImageRequest"},"MetaToolEnablement":{"properties":{"enable_image_search":{"type":"boolean","title":"Enable Image Search","default":true},"enable_web_search":{"type":"boolean","title":"Enable Web Search","default":true},"enable_shell":{"type":"boolean","title":"Enable Shell","default":true}},"additionalProperties":false,"type":"object","title":"MetaToolEnablement","description":"Muse Image's built-in grounding tools, all on by default. Turning them off trades\naccuracy on real places, products, and current facts for speed."},"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","usage_limit_exceeded","timed_out","internal"],"title":"ModelErrorCode"},"ModelLine":{"properties":{"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"billed_requests":{"type":"integer","title":"Billed Requests"},"charges_micros":{"type":"integer","title":"Charges Micros"},"credit_micros":{"type":"integer","title":"Credit Micros"}},"type":"object","required":["model","billed_requests","charges_micros","credit_micros"],"title":"ModelLine"},"MoneyInEntry":{"properties":{"date":{"type":"string","format":"date-time","title":"Date"},"kind":{"$ref":"#/components/schemas/MoneyInKind"},"amount_micros":{"type":"integer","title":"Amount Micros"},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"},"stripe_invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Invoice Id"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"actor_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor User Id"}},"type":"object","required":["date","kind","amount_micros","reference"],"title":"MoneyInEntry"},"MoneyInKind":{"type":"string","enum":["grant","topup","reclass"],"title":"MoneyInKind"},"MonthlyReport":{"properties":{"org_id":{"type":"string","title":"Org Id"},"month":{"type":"string","title":"Month"},"usage_updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Usage Updated At"},"days":{"items":{"$ref":"#/components/schemas/DayUsage"},"type":"array","title":"Days"},"payer_mode":{"$ref":"#/components/schemas/ReportPayerMode"},"lines":{"items":{"$ref":"#/components/schemas/ModelLine"},"type":"array","title":"Lines"},"totals":{"$ref":"#/components/schemas/ReportTotals"},"money_in":{"anyOf":[{"items":{"$ref":"#/components/schemas/MoneyInEntry"},"type":"array"},{"type":"null"}],"title":"Money In"},"balances":{"anyOf":[{"$ref":"#/components/schemas/Balances"},{"type":"null"}]},"invoices":{"items":{"$ref":"#/components/schemas/InvoiceLine"},"type":"array","title":"Invoices"},"credit_basis":{"$ref":"#/components/schemas/CreditBasis"}},"type":"object","required":["org_id","month","usage_updated_at","days","payer_mode","lines","totals","money_in","balances","invoices","credit_basis"],"title":"MonthlyReport"},"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","4k"],"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","4k"],"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","4k"],"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"},"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."},"quality":{"type":"string","enum":["auto","low","medium","high"],"title":"Quality","description":"Rendering quality of the output; 'auto' lets the provider choose.","default":"medium"},"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"},"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."},"quality":{"type":"string","enum":["auto","low","medium","high"],"title":"Quality","description":"Rendering quality of the output; 'auto' lets the provider choose.","default":"medium"},"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"},"Pika3AutoAudio":{"properties":{"kind":{"type":"string","const":"audio","title":"Kind"},"audio":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Audio","media_kinds":["audio"]},"first_frame":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"First Frame"}},"additionalProperties":false,"type":"object","required":["kind","audio"],"title":"Pika3AutoAudio"},"Pika3AutoFirstFrameAnchor":{"properties":{"type":{"type":"string","const":"auto","title":"Type"}},"additionalProperties":false,"type":"object","required":["type"],"title":"Pika3AutoFirstFrameAnchor"},"Pika3AutoSubjects":{"properties":{"kind":{"type":"string","const":"subjects","title":"Kind"},"subjects":{"items":{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":8,"minItems":1,"title":"Subjects"},"background":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Background"},"first_frame":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"First Frame"},"audio":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["audio"]},{"type":"null"}],"title":"Audio"}},"additionalProperties":false,"type":"object","required":["kind","subjects"],"title":"Pika3AutoSubjects"},"Pika3AutoVideo":{"properties":{"kind":{"type":"string","const":"video","title":"Kind"},"source_video":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Source Video","media_kinds":["video"]},"reference_images":{"items":{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":1,"title":"Reference Images","description":"Optional appearance, replacement, or style reference; one supported downstream slot."},"audio_mode":{"anyOf":[{"type":"string","enum":["sync_source","overlay_source","generated"]},{"type":"null"}],"title":"Audio Mode","description":"Omit to use the selected capability's audio policy; pose control is silent. Explicit audio is rejected for pose."}},"additionalProperties":false,"type":"object","required":["kind","source_video"],"title":"Pika3AutoVideo"},"Pika3AutoWorkflow":{"properties":{"type":{"type":"string","const":"auto","title":"Type"},"media":{"oneOf":[{"$ref":"#/components/schemas/Pika3AutoAudio"},{"$ref":"#/components/schemas/Pika3AutoSubjects"},{"$ref":"#/components/schemas/Pika3AutoVideo"}],"title":"Media","discriminator":{"propertyName":"kind","mapping":{"audio":"#/components/schemas/Pika3AutoAudio","subjects":"#/components/schemas/Pika3AutoSubjects","video":"#/components/schemas/Pika3AutoVideo"}}}},"additionalProperties":false,"type":"object","required":["type","media"],"title":"Pika3AutoWorkflow"},"Pika3CharacterSwapWorkflow":{"properties":{"type":{"type":"string","const":"character_swap","title":"Type"},"source_video":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Source Video","description":"Video whose character is replaced.","media_kinds":["video"]},"reference":{"oneOf":[{"$ref":"#/components/schemas/Pika3SwapImageReference"},{"$ref":"#/components/schemas/Pika3SwapSheetReference"},{"$ref":"#/components/schemas/Pika3SwapDescriptionReference"}],"title":"Reference","description":"Replacement character input.","discriminator":{"propertyName":"type","mapping":{"description":"#/components/schemas/Pika3SwapDescriptionReference","image":"#/components/schemas/Pika3SwapImageReference","sheet":"#/components/schemas/Pika3SwapSheetReference"}}},"first_frame_anchor":{"oneOf":[{"$ref":"#/components/schemas/Pika3AutoFirstFrameAnchor"},{"$ref":"#/components/schemas/Pika3ImageFirstFrameAnchor"},{"$ref":"#/components/schemas/Pika3DisabledFirstFrameAnchor"}],"title":"First Frame Anchor","description":"Generate an anchor automatically, provide one, or disable first-frame conditioning.","discriminator":{"propertyName":"type","mapping":{"auto":"#/components/schemas/Pika3AutoFirstFrameAnchor","disabled":"#/components/schemas/Pika3DisabledFirstFrameAnchor","image":"#/components/schemas/Pika3ImageFirstFrameAnchor"}}},"audio_mode":{"type":"string","enum":["sync_source","overlay_source"],"title":"Audio Mode","default":"sync_source"}},"additionalProperties":false,"type":"object","required":["type","source_video","reference"],"title":"Pika3CharacterSwapWorkflow"},"Pika3DisabledFirstFrameAnchor":{"properties":{"type":{"type":"string","const":"disabled","title":"Type"}},"additionalProperties":false,"type":"object","required":["type"],"title":"Pika3DisabledFirstFrameAnchor"},"Pika3FastPublicImageToVideoRequest":{"allOf":[{"if":{"properties":{"geometry_mode":{"const":"exact"}},"required":["geometry_mode"]},"then":{"oneOf":[{"properties":{"width":{"const":576},"height":{"const":1440}},"required":["width","height"]},{"properties":{"width":{"const":704},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1152}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":896},"height":{"const":896}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1216}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1472}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1664}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":2880}},"required":["width","height"]},{"properties":{"width":{"const":1216},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":704}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1408},"height":{"const":2560}},"required":["width","height"]},{"properties":{"width":{"const":1440},"height":{"const":576}},"required":["width","height"]},{"properties":{"width":{"const":1472},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2048}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2304}},"required":["width","height"]},{"properties":{"width":{"const":1664},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1792},"height":{"const":1792}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2048},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2304},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2560},"height":{"const":1408}},"required":["width","height"]},{"properties":{"width":{"const":2880},"height":{"const":1152}},"required":["width","height"]}]}}],"oneOf":[{"allOf":[{"if":{"properties":{"resolution":{"const":"720p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"auto"}}}},{"if":{"properties":{"resolution":{"const":"960p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"auto"}}}},{"if":{"properties":{"resolution":{"const":"1440p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"auto"}}}}],"properties":{"geometry_mode":{"const":"preset"},"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]},"width":{"type":"null"},"height":{"type":"null"}},"title":"Preset geometry"},{"properties":{"geometry_mode":{"const":"exact"},"width":{"type":"integer"},"height":{"type":"integer"},"resolution":{"type":"null"},"aspect_ratio":{"type":"null"}},"required":["geometry_mode","width","height"],"title":"Exact worker bucket"}],"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Prompt for the video."},"geometry_mode":{"type":"string","enum":["preset","exact"],"title":"Geometry Mode","description":"Use friendly presets, or exact worker-native dimensions. Video length is always in seconds.","default":"preset"},"resolution":{"anyOf":[{"type":"string","enum":["720p","960p","1440p"]},{"type":"null"}],"title":"Resolution","description":"Output resolution tier.","default":"960p"},"aspect_ratio":{"anyOf":[{"type":"string","enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21"]},{"type":"null"}],"title":"Aspect Ratio","description":"Output aspect ratio preset. \"auto\" preserves the source composition within the selected resolution tier."},"duration_s":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":2.0},{"type":"null"}],"title":"Duration S","description":"Video length in whole seconds (2-20), rendered and billed as 24 x duration_s + 1 frames at 24 fps (duration_s=5 is 121 frames, 5.042s); used by preset and exact geometry.","default":5},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width","description":"Exact output width; exact mode only."},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height","description":"Exact output height; exact mode only."},"seed":{"type":"integer","maximum":2147483647.0,"minimum":-1.0,"title":"Seed","description":"Seed; -1 picks a random one.","default":-1},"rewrite_prompt":{"type":"boolean","title":"Rewrite Prompt","description":"Improve the prompt using the workflow's text, image, audio, or video context before generation. Turn off to skip creative prompt rewriting.","default":true},"image":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Image","description":"Source image used as the first frame.","media_kinds":["image"]},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Generate the native synchronized soundtrack.","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","image"],"title":"Pika3FastPublicImageToVideoRequest","description":"First-frame-conditioned Pika 3.0 Fast generation."},"Pika3FastPublicReferenceToVideoRequest":{"allOf":[{"if":{"properties":{"geometry_mode":{"const":"exact"}},"required":["geometry_mode"]},"then":{"oneOf":[{"properties":{"width":{"const":576},"height":{"const":1440}},"required":["width","height"]},{"properties":{"width":{"const":704},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1152}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":896},"height":{"const":896}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1216}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1472}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1664}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":2880}},"required":["width","height"]},{"properties":{"width":{"const":1216},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":704}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1408},"height":{"const":2560}},"required":["width","height"]},{"properties":{"width":{"const":1440},"height":{"const":576}},"required":["width","height"]},{"properties":{"width":{"const":1472},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2048}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2304}},"required":["width","height"]},{"properties":{"width":{"const":1664},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1792},"height":{"const":1792}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2048},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2304},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2560},"height":{"const":1408}},"required":["width","height"]},{"properties":{"width":{"const":2880},"height":{"const":1152}},"required":["width","height"]}]}},{"if":{"properties":{"geometry_mode":{"const":"preset"},"resolution":{"const":"1440p"},"workflow":{"properties":{"type":{"enum":["vfx","video_editing","video_style_transfer","pose_control"]}},"required":["type"]}},"required":["resolution","workflow"]},"then":{"properties":{"duration_s":{"maximum":10.0}}}},{"if":{"allOf":[{"oneOf":[{"properties":{"width":{"const":1152},"height":{"const":2880}},"required":["width","height"]},{"properties":{"width":{"const":1408},"height":{"const":2560}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2048}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2304}},"required":["width","height"]},{"properties":{"width":{"const":1792},"height":{"const":1792}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2048},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2304},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2560},"height":{"const":1408}},"required":["width","height"]},{"properties":{"width":{"const":2880},"height":{"const":1152}},"required":["width","height"]}]}],"properties":{"geometry_mode":{"const":"exact"},"workflow":{"properties":{"type":{"enum":["vfx","video_editing","video_style_transfer","pose_control"]}},"required":["type"]}},"required":["geometry_mode","workflow"]},"then":{"properties":{"duration_s":{"maximum":10.0}}}},{"if":{"properties":{"geometry_mode":{"const":"preset"},"resolution":{"const":"1440p"},"workflow":{"properties":{"type":{"enum":["multiple_subject_reference","character_swap","outfit_swap","auto"]}},"required":["type"]}},"required":["resolution","workflow"]},"then":{"properties":{"duration_s":{"maximum":15.0}}}},{"if":{"allOf":[{"oneOf":[{"properties":{"width":{"const":1152},"height":{"const":2880}},"required":["width","height"]},{"properties":{"width":{"const":1408},"height":{"const":2560}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2048}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2304}},"required":["width","height"]},{"properties":{"width":{"const":1792},"height":{"const":1792}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2048},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2304},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2560},"height":{"const":1408}},"required":["width","height"]},{"properties":{"width":{"const":2880},"height":{"const":1152}},"required":["width","height"]}]}],"properties":{"geometry_mode":{"const":"exact"},"workflow":{"properties":{"type":{"enum":["multiple_subject_reference","character_swap","outfit_swap","auto"]}},"required":["type"]}},"required":["geometry_mode","workflow"]},"then":{"properties":{"duration_s":{"maximum":15.0}}}},{"if":{"properties":{"workflow":{"properties":{"type":{"enum":["multiple_subject_reference"]}},"required":["type"]}},"required":["workflow"]},"then":{"properties":{"aspect_ratio":{"not":{"const":"auto"}}}}},{"if":{"properties":{"workflow":{"properties":{"type":{"const":"auto"},"media":{"properties":{"kind":{"const":"audio"}},"required":["kind"]}},"required":["type","media"]}},"required":["workflow"]},"then":{"properties":{"duration_s":{"type":"null"},"width":{"type":"null"},"height":{"type":"null"},"resolution":{"enum":["720p","960p","1440p",null]},"geometry_mode":{"const":"preset"},"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]}}},"else":{"properties":{"prompt":{"minLength":1}},"required":["prompt"]}},{"if":{"properties":{"workflow":{"properties":{"type":{"const":"auto"},"media":{"properties":{"kind":{"const":"video"}},"required":["kind"]}},"required":["type","media"]}},"required":["workflow"]},"then":{"properties":{"prompt":{"maxLength":8192}}}},{"if":{"properties":{"workflow":{"properties":{"type":{"const":"auto"},"media":{"properties":{"kind":{"const":"video"}},"required":["kind"]}},"required":["type","media"]}},"required":["workflow"]},"then":{"properties":{"workflow":{"properties":{"media":{"properties":{"audio_mode":{"enum":["sync_source","overlay_source",null]}}}}}}}}],"oneOf":[{"allOf":[{"if":{"properties":{"resolution":{"const":"720p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]}}}},{"if":{"properties":{"resolution":{"const":"960p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]}}}},{"if":{"properties":{"resolution":{"const":"1440p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]}}}}],"properties":{"geometry_mode":{"const":"preset"},"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]},"width":{"type":"null"},"height":{"type":"null"}},"title":"Preset geometry"},{"properties":{"geometry_mode":{"const":"exact"},"width":{"type":"integer"},"height":{"type":"integer"},"resolution":{"type":"null"},"aspect_ratio":{"type":"null"}},"required":["geometry_mode","width","height"],"title":"Exact worker bucket"}],"properties":{"prompt":{"type":"string","maxLength":10000,"title":"Prompt","description":"Prompt for the video.","default":""},"geometry_mode":{"type":"string","enum":["preset","exact"],"title":"Geometry Mode","description":"Use friendly presets, or exact worker-native dimensions. Video length is always in seconds.","default":"preset"},"resolution":{"anyOf":[{"type":"string","enum":["720p","960p","1440p"]},{"type":"null"}],"title":"Resolution","description":"Output resolution tier.","default":"960p"},"aspect_ratio":{"anyOf":[{"type":"string","enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21"]},{"type":"null"}],"title":"Aspect Ratio","description":"Output aspect ratio preset. \"auto\" is available to video-conditioned workflows and preserves the source composition within the selected resolution tier. Omit it to follow the source video on video-conditioned workflows and the tier default otherwise."},"duration_s":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":2.0},{"type":"null"}],"title":"Duration S","description":"Maximum video length in whole seconds (2-20), requested as 24 x duration_s + 1 frames at 24 fps. Reference limits: 1440p up to 15s for multiple subjects, character and outfit swap; 10s for other manual workflows. Auto is validated again after route selection. Video-conditioned workflows follow a shorter source's causal length and bill the delivered output.","default":5},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width","description":"Exact output width; exact mode only."},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height","description":"Exact output height; exact mode only."},"seed":{"type":"integer","maximum":2147483647.0,"minimum":-1.0,"title":"Seed","description":"Seed; -1 picks a random one.","default":-1},"rewrite_prompt":{"type":"boolean","title":"Rewrite Prompt","description":"Improve the prompt using the workflow's text, image, audio, or video context before generation. Turn off to skip creative prompt rewriting.","default":true},"workflow":{"oneOf":[{"$ref":"#/components/schemas/Pika3VideoStyleTransferWorkflow"},{"$ref":"#/components/schemas/Pika3VideoTransformWorkflow"},{"$ref":"#/components/schemas/Pika3MultipleSubjectReferenceWorkflow"},{"$ref":"#/components/schemas/Pika3PoseControlWorkflow"},{"$ref":"#/components/schemas/Pika3CharacterSwapWorkflow"},{"$ref":"#/components/schemas/Pika3OutfitSwapWorkflow"},{"$ref":"#/components/schemas/Pika3AutoWorkflow"}],"title":"Workflow","description":"Reference workflow and the inputs specific to it.","discriminator":{"propertyName":"type","mapping":{"auto":"#/components/schemas/Pika3AutoWorkflow","character_swap":"#/components/schemas/Pika3CharacterSwapWorkflow","multiple_subject_reference":"#/components/schemas/Pika3MultipleSubjectReferenceWorkflow","outfit_swap":"#/components/schemas/Pika3OutfitSwapWorkflow","pose_control":"#/components/schemas/Pika3PoseControlWorkflow","vfx":"#/components/schemas/Pika3VideoTransformWorkflow","video_editing":"#/components/schemas/Pika3VideoTransformWorkflow","video_style_transfer":"#/components/schemas/Pika3VideoStyleTransferWorkflow"}}},"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":["workflow"],"title":"Pika3FastPublicReferenceToVideoRequest","description":"Pika 3.0 Fast reference workflows.","native_audio":true},"Pika3FastPublicTextToVideoRequest":{"allOf":[{"if":{"properties":{"geometry_mode":{"const":"exact"}},"required":["geometry_mode"]},"then":{"oneOf":[{"properties":{"width":{"const":576},"height":{"const":1440}},"required":["width","height"]},{"properties":{"width":{"const":704},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1152}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":896},"height":{"const":896}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1216}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1472}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1664}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":2880}},"required":["width","height"]},{"properties":{"width":{"const":1216},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":704}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1408},"height":{"const":2560}},"required":["width","height"]},{"properties":{"width":{"const":1440},"height":{"const":576}},"required":["width","height"]},{"properties":{"width":{"const":1472},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2048}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2304}},"required":["width","height"]},{"properties":{"width":{"const":1664},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1792},"height":{"const":1792}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2048},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2304},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2560},"height":{"const":1408}},"required":["width","height"]},{"properties":{"width":{"const":2880},"height":{"const":1152}},"required":["width","height"]}]}}],"oneOf":[{"allOf":[{"if":{"properties":{"resolution":{"const":"720p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"16:9"}}}},{"if":{"properties":{"resolution":{"const":"960p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"16:9"}}}},{"if":{"properties":{"resolution":{"const":"1440p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"16:9"}}}}],"properties":{"geometry_mode":{"const":"preset"},"aspect_ratio":{"enum":["21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]},"width":{"type":"null"},"height":{"type":"null"}},"title":"Preset geometry"},{"properties":{"geometry_mode":{"const":"exact"},"width":{"type":"integer"},"height":{"type":"integer"},"resolution":{"type":"null"},"aspect_ratio":{"type":"null"}},"required":["geometry_mode","width","height"],"title":"Exact worker bucket"}],"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Prompt for the video."},"geometry_mode":{"type":"string","enum":["preset","exact"],"title":"Geometry Mode","description":"Use friendly presets, or exact worker-native dimensions. Video length is always in seconds.","default":"preset"},"resolution":{"anyOf":[{"type":"string","enum":["720p","960p","1440p"]},{"type":"null"}],"title":"Resolution","description":"Output resolution tier.","default":"960p"},"aspect_ratio":{"anyOf":[{"type":"string","enum":["21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21"]},{"type":"null"}],"title":"Aspect Ratio","description":"Output aspect ratio preset. Omit it to use the selected resolution tier's default."},"duration_s":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":2.0},{"type":"null"}],"title":"Duration S","description":"Video length in whole seconds (2-20), rendered and billed as 24 x duration_s + 1 frames at 24 fps (duration_s=5 is 121 frames, 5.042s); used by preset and exact geometry.","default":5},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width","description":"Exact output width; exact mode only."},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height","description":"Exact output height; exact mode only."},"seed":{"type":"integer","maximum":2147483647.0,"minimum":-1.0,"title":"Seed","description":"Seed; -1 picks a random one.","default":-1},"rewrite_prompt":{"type":"boolean","title":"Rewrite Prompt","description":"Improve the prompt using the workflow's text, image, audio, or video context before generation. Turn off to skip creative prompt rewriting.","default":true},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Generate the native synchronized soundtrack.","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":"Pika3FastPublicTextToVideoRequest","description":"Prompt-only Pika 3.0 Fast generation."},"Pika3ImageFirstFrameAnchor":{"properties":{"type":{"type":"string","const":"image","title":"Type"},"url":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Url","description":"Edited first frame used to anchor the output.","media_kinds":["image"]}},"additionalProperties":false,"type":"object","required":["type","url"],"title":"Pika3ImageFirstFrameAnchor"},"Pika3MultipleSubjectReferenceWorkflow":{"anyOf":[{"properties":{"subject_references":{"type":"array"}},"required":["subject_references"]},{"properties":{"first_frame_image":{"type":"string"}},"required":["first_frame_image"]}],"properties":{"type":{"type":"string","const":"multiple_subject_reference","title":"Type"},"subject_references":{"anyOf":[{"items":{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},"type":"array","maxItems":8,"minItems":1},{"type":"null"}],"title":"Subject References","description":"One to eight ordered images defining the subjects; when omitted, first_frame_image also supplies the subject identity."},"first_frame_image":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"First Frame Image","description":"Optional first-frame composition anchor."},"audio":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["audio"]},{"type":"null"}],"title":"Audio","description":"Optional source soundtrack conditioning; output is capped by its duration and the requested duration."},"background_reference":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Background Reference","description":"Optional image defining the background."}},"additionalProperties":false,"type":"object","required":["type"],"title":"Pika3MultipleSubjectReferenceWorkflow"},"Pika3OutfitSwapWorkflow":{"properties":{"type":{"type":"string","const":"outfit_swap","title":"Type"},"source_video":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Source Video","description":"Video whose outfit is replaced.","media_kinds":["video"]},"reference":{"oneOf":[{"$ref":"#/components/schemas/Pika3SwapImageReference"},{"$ref":"#/components/schemas/Pika3SwapSheetReference"},{"$ref":"#/components/schemas/Pika3SwapDescriptionReference"}],"title":"Reference","description":"Replacement outfit input.","discriminator":{"propertyName":"type","mapping":{"description":"#/components/schemas/Pika3SwapDescriptionReference","image":"#/components/schemas/Pika3SwapImageReference","sheet":"#/components/schemas/Pika3SwapSheetReference"}}},"first_frame_anchor":{"oneOf":[{"$ref":"#/components/schemas/Pika3AutoFirstFrameAnchor"},{"$ref":"#/components/schemas/Pika3ImageFirstFrameAnchor"},{"$ref":"#/components/schemas/Pika3DisabledFirstFrameAnchor"}],"title":"First Frame Anchor","description":"Generate an anchor automatically, provide one, or disable first-frame conditioning.","discriminator":{"propertyName":"type","mapping":{"auto":"#/components/schemas/Pika3AutoFirstFrameAnchor","disabled":"#/components/schemas/Pika3DisabledFirstFrameAnchor","image":"#/components/schemas/Pika3ImageFirstFrameAnchor"}}},"audio_mode":{"type":"string","enum":["sync_source","overlay_source"],"title":"Audio Mode","default":"sync_source"}},"additionalProperties":false,"type":"object","required":["type","source_video","reference"],"title":"Pika3OutfitSwapWorkflow"},"Pika3PoseControlWorkflow":{"properties":{"type":{"type":"string","const":"pose_control","title":"Type"},"pose_video":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Pose Video","description":"Video defining the target pose and motion. It must show a clearly visible person; a source with no detectable person fails as invalid_input.","media_kinds":["video"]},"appearance_reference":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Appearance Reference","description":"Optional image defining the subject's appearance."}},"additionalProperties":false,"type":"object","required":["type","pose_video"],"title":"Pika3PoseControlWorkflow"},"Pika3PublicAudioToVideoRequest":{"properties":{"audio":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Audio","description":"Source audio; output follows it up to the 20-second cap.","media_kinds":["audio"]},"resolution":{"type":"string","enum":["720p","960p","1440p"],"title":"Resolution","description":"Output resolution tier.","default":"720p"},"prompt":{"type":"string","maxLength":10000,"title":"Prompt","description":"Optional visual prompt.","default":""},"image":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Image","description":"Optional first-frame anchor."},"aspect_ratio":{"anyOf":[{"type":"string","enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21"]},{"type":"null"}],"title":"Aspect Ratio","description":"Output aspect. \"auto\" follows the first-frame image when present and otherwise uses 16:9.","default":"auto"},"seed":{"type":"integer","maximum":2147483647.0,"minimum":-1.0,"title":"Seed","description":"Seed; -1 picks a random one.","default":-1},"rewrite_prompt":{"type":"boolean","title":"Rewrite Prompt","description":"Improve the prompt using the workflow's text, image, audio, or video context before generation. Turn off to skip creative prompt rewriting.","default":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":["audio"],"title":"Pika3PublicAudioToVideoRequest","description":"Audio-driven Pika 3.0 generation shared by Standard and Fast tiers.","native_audio":true},"Pika3StandardCharacterSwapWorkflow":{"properties":{"type":{"type":"string","const":"character_swap","title":"Type"},"source_video":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Source Video","description":"Video whose character is replaced.","media_kinds":["video"]},"reference":{"oneOf":[{"$ref":"#/components/schemas/Pika3SwapImageReference"},{"$ref":"#/components/schemas/Pika3SwapSheetReference"},{"$ref":"#/components/schemas/Pika3SwapDescriptionReference"}],"title":"Reference","description":"Replacement character input.","discriminator":{"propertyName":"type","mapping":{"description":"#/components/schemas/Pika3SwapDescriptionReference","image":"#/components/schemas/Pika3SwapImageReference","sheet":"#/components/schemas/Pika3SwapSheetReference"}}},"first_frame_anchor":{"oneOf":[{"$ref":"#/components/schemas/Pika3AutoFirstFrameAnchor"},{"$ref":"#/components/schemas/Pika3ImageFirstFrameAnchor"},{"$ref":"#/components/schemas/Pika3DisabledFirstFrameAnchor"}],"title":"First Frame Anchor","description":"Generate an anchor automatically, provide one, or disable first-frame conditioning.","discriminator":{"propertyName":"type","mapping":{"auto":"#/components/schemas/Pika3AutoFirstFrameAnchor","disabled":"#/components/schemas/Pika3DisabledFirstFrameAnchor","image":"#/components/schemas/Pika3ImageFirstFrameAnchor"}}},"audio_mode":{"type":"string","enum":["sync_source","overlay_source","generated"],"title":"Audio Mode","default":"sync_source"}},"additionalProperties":false,"type":"object","required":["type","source_video","reference"],"title":"Pika3StandardCharacterSwapWorkflow"},"Pika3StandardOutfitSwapWorkflow":{"properties":{"type":{"type":"string","const":"outfit_swap","title":"Type"},"source_video":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Source Video","description":"Video whose outfit is replaced.","media_kinds":["video"]},"reference":{"oneOf":[{"$ref":"#/components/schemas/Pika3SwapImageReference"},{"$ref":"#/components/schemas/Pika3SwapSheetReference"},{"$ref":"#/components/schemas/Pika3SwapDescriptionReference"}],"title":"Reference","description":"Replacement outfit input.","discriminator":{"propertyName":"type","mapping":{"description":"#/components/schemas/Pika3SwapDescriptionReference","image":"#/components/schemas/Pika3SwapImageReference","sheet":"#/components/schemas/Pika3SwapSheetReference"}}},"first_frame_anchor":{"oneOf":[{"$ref":"#/components/schemas/Pika3AutoFirstFrameAnchor"},{"$ref":"#/components/schemas/Pika3ImageFirstFrameAnchor"},{"$ref":"#/components/schemas/Pika3DisabledFirstFrameAnchor"}],"title":"First Frame Anchor","description":"Generate an anchor automatically, provide one, or disable first-frame conditioning.","discriminator":{"propertyName":"type","mapping":{"auto":"#/components/schemas/Pika3AutoFirstFrameAnchor","disabled":"#/components/schemas/Pika3DisabledFirstFrameAnchor","image":"#/components/schemas/Pika3ImageFirstFrameAnchor"}}},"audio_mode":{"type":"string","enum":["sync_source","overlay_source","generated"],"title":"Audio Mode","default":"sync_source"}},"additionalProperties":false,"type":"object","required":["type","source_video","reference"],"title":"Pika3StandardOutfitSwapWorkflow"},"Pika3StandardPublicImageToVideoRequest":{"allOf":[{"if":{"properties":{"geometry_mode":{"const":"exact"}},"required":["geometry_mode"]},"then":{"oneOf":[{"properties":{"width":{"const":576},"height":{"const":1440}},"required":["width","height"]},{"properties":{"width":{"const":704},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1152}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":896},"height":{"const":896}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1216}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1472}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1664}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":2880}},"required":["width","height"]},{"properties":{"width":{"const":1216},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":704}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1408},"height":{"const":2560}},"required":["width","height"]},{"properties":{"width":{"const":1440},"height":{"const":576}},"required":["width","height"]},{"properties":{"width":{"const":1472},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2048}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2304}},"required":["width","height"]},{"properties":{"width":{"const":1664},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1792},"height":{"const":1792}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2048},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2304},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2560},"height":{"const":1408}},"required":["width","height"]},{"properties":{"width":{"const":2880},"height":{"const":1152}},"required":["width","height"]}]}}],"oneOf":[{"allOf":[{"if":{"properties":{"resolution":{"const":"720p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"auto"}}}},{"if":{"properties":{"resolution":{"const":"960p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"auto"}}}},{"if":{"properties":{"resolution":{"const":"1440p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"auto"}}}}],"properties":{"geometry_mode":{"const":"preset"},"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]},"width":{"type":"null"},"height":{"type":"null"}},"title":"Preset geometry"},{"properties":{"geometry_mode":{"const":"exact"},"width":{"type":"integer"},"height":{"type":"integer"},"resolution":{"type":"null"},"aspect_ratio":{"type":"null"}},"required":["geometry_mode","width","height"],"title":"Exact worker bucket"}],"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Prompt for the video."},"geometry_mode":{"type":"string","enum":["preset","exact"],"title":"Geometry Mode","description":"Use friendly presets, or exact worker-native dimensions. Video length is always in seconds.","default":"preset"},"resolution":{"anyOf":[{"type":"string","enum":["720p","960p","1440p"]},{"type":"null"}],"title":"Resolution","description":"Output resolution tier.","default":"960p"},"aspect_ratio":{"anyOf":[{"type":"string","enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21"]},{"type":"null"}],"title":"Aspect Ratio","description":"Output aspect ratio preset. \"auto\" preserves the source composition within the selected resolution tier."},"duration_s":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":2.0},{"type":"null"}],"title":"Duration S","description":"Video length in whole seconds (2-20), rendered and billed as 24 x duration_s + 1 frames at 24 fps (duration_s=5 is 121 frames, 5.042s); used by preset and exact geometry.","default":5},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width","description":"Exact output width; exact mode only."},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height","description":"Exact output height; exact mode only."},"seed":{"type":"integer","maximum":2147483647.0,"minimum":-1.0,"title":"Seed","description":"Seed; -1 picks a random one.","default":-1},"rewrite_prompt":{"type":"boolean","title":"Rewrite Prompt","description":"Improve the prompt using the workflow's text, image, audio, or video context before generation. Turn off to skip creative prompt rewriting.","default":true},"image":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Image","description":"Source image used as the first frame.","media_kinds":["image"]},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Generate the native synchronized soundtrack.","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","image"],"title":"Pika3StandardPublicImageToVideoRequest","description":"First-frame-conditioned Pika 3.0 Standard generation."},"Pika3StandardPublicReferenceToVideoRequest":{"allOf":[{"if":{"properties":{"geometry_mode":{"const":"exact"}},"required":["geometry_mode"]},"then":{"oneOf":[{"properties":{"width":{"const":576},"height":{"const":1440}},"required":["width","height"]},{"properties":{"width":{"const":704},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1152}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":896},"height":{"const":896}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1216}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1472}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1664}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":2880}},"required":["width","height"]},{"properties":{"width":{"const":1216},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":704}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1408},"height":{"const":2560}},"required":["width","height"]},{"properties":{"width":{"const":1440},"height":{"const":576}},"required":["width","height"]},{"properties":{"width":{"const":1472},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2048}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2304}},"required":["width","height"]},{"properties":{"width":{"const":1664},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1792},"height":{"const":1792}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2048},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2304},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2560},"height":{"const":1408}},"required":["width","height"]},{"properties":{"width":{"const":2880},"height":{"const":1152}},"required":["width","height"]}]}},{"if":{"properties":{"geometry_mode":{"const":"preset"},"resolution":{"const":"1440p"},"workflow":{"properties":{"type":{"enum":["vfx","video_editing","video_style_transfer","pose_control"]}},"required":["type"]}},"required":["resolution","workflow"]},"then":{"properties":{"duration_s":{"maximum":10.0}}}},{"if":{"allOf":[{"oneOf":[{"properties":{"width":{"const":1152},"height":{"const":2880}},"required":["width","height"]},{"properties":{"width":{"const":1408},"height":{"const":2560}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2048}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2304}},"required":["width","height"]},{"properties":{"width":{"const":1792},"height":{"const":1792}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2048},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2304},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2560},"height":{"const":1408}},"required":["width","height"]},{"properties":{"width":{"const":2880},"height":{"const":1152}},"required":["width","height"]}]}],"properties":{"geometry_mode":{"const":"exact"},"workflow":{"properties":{"type":{"enum":["vfx","video_editing","video_style_transfer","pose_control"]}},"required":["type"]}},"required":["geometry_mode","workflow"]},"then":{"properties":{"duration_s":{"maximum":10.0}}}},{"if":{"properties":{"geometry_mode":{"const":"preset"},"resolution":{"const":"1440p"},"workflow":{"properties":{"type":{"enum":["multiple_subject_reference","character_swap","outfit_swap","auto"]}},"required":["type"]}},"required":["resolution","workflow"]},"then":{"properties":{"duration_s":{"maximum":15.0}}}},{"if":{"allOf":[{"oneOf":[{"properties":{"width":{"const":1152},"height":{"const":2880}},"required":["width","height"]},{"properties":{"width":{"const":1408},"height":{"const":2560}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2048}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2304}},"required":["width","height"]},{"properties":{"width":{"const":1792},"height":{"const":1792}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2048},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2304},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2560},"height":{"const":1408}},"required":["width","height"]},{"properties":{"width":{"const":2880},"height":{"const":1152}},"required":["width","height"]}]}],"properties":{"geometry_mode":{"const":"exact"},"workflow":{"properties":{"type":{"enum":["multiple_subject_reference","character_swap","outfit_swap","auto"]}},"required":["type"]}},"required":["geometry_mode","workflow"]},"then":{"properties":{"duration_s":{"maximum":15.0}}}},{"if":{"properties":{"workflow":{"properties":{"type":{"enum":["multiple_subject_reference"]}},"required":["type"]}},"required":["workflow"]},"then":{"properties":{"aspect_ratio":{"not":{"const":"auto"}}}}},{"if":{"properties":{"workflow":{"properties":{"type":{"const":"auto"},"media":{"properties":{"kind":{"const":"audio"}},"required":["kind"]}},"required":["type","media"]}},"required":["workflow"]},"then":{"properties":{"duration_s":{"type":"null"},"width":{"type":"null"},"height":{"type":"null"},"resolution":{"enum":["720p","960p","1440p",null]},"geometry_mode":{"const":"preset"},"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]}}},"else":{"properties":{"prompt":{"minLength":1}},"required":["prompt"]}},{"if":{"properties":{"workflow":{"properties":{"type":{"const":"auto"},"media":{"properties":{"kind":{"const":"video"}},"required":["kind"]}},"required":["type","media"]}},"required":["workflow"]},"then":{"properties":{"prompt":{"maxLength":8192}}}}],"oneOf":[{"allOf":[{"if":{"properties":{"resolution":{"const":"720p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]}}}},{"if":{"properties":{"resolution":{"const":"960p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]}}}},{"if":{"properties":{"resolution":{"const":"1440p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]}}}}],"properties":{"geometry_mode":{"const":"preset"},"aspect_ratio":{"enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]},"width":{"type":"null"},"height":{"type":"null"}},"title":"Preset geometry"},{"properties":{"geometry_mode":{"const":"exact"},"width":{"type":"integer"},"height":{"type":"integer"},"resolution":{"type":"null"},"aspect_ratio":{"type":"null"}},"required":["geometry_mode","width","height"],"title":"Exact worker bucket"}],"properties":{"prompt":{"type":"string","maxLength":10000,"title":"Prompt","description":"Prompt for the video.","default":""},"geometry_mode":{"type":"string","enum":["preset","exact"],"title":"Geometry Mode","description":"Use friendly presets, or exact worker-native dimensions. Video length is always in seconds.","default":"preset"},"resolution":{"anyOf":[{"type":"string","enum":["720p","960p","1440p"]},{"type":"null"}],"title":"Resolution","description":"Output resolution tier.","default":"960p"},"aspect_ratio":{"anyOf":[{"type":"string","enum":["auto","21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21"]},{"type":"null"}],"title":"Aspect Ratio","description":"Output aspect ratio preset. \"auto\" is available to video-conditioned workflows and preserves the source composition within the selected resolution tier. Omit it to follow the source video on video-conditioned workflows and the tier default otherwise."},"duration_s":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":2.0},{"type":"null"}],"title":"Duration S","description":"Maximum video length in whole seconds (2-20), requested as 24 x duration_s + 1 frames at 24 fps. Reference limits: 1440p up to 15s for multiple subjects, character and outfit swap; 10s for other manual workflows. Auto is validated again after route selection. Video-conditioned workflows follow a shorter source's causal length and bill the delivered output.","default":5},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width","description":"Exact output width; exact mode only."},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height","description":"Exact output height; exact mode only."},"seed":{"type":"integer","maximum":2147483647.0,"minimum":-1.0,"title":"Seed","description":"Seed; -1 picks a random one.","default":-1},"rewrite_prompt":{"type":"boolean","title":"Rewrite Prompt","description":"Improve the prompt using the workflow's text, image, audio, or video context before generation. Turn off to skip creative prompt rewriting.","default":true},"workflow":{"oneOf":[{"$ref":"#/components/schemas/Pika3StandardVideoStyleTransferWorkflow"},{"$ref":"#/components/schemas/Pika3StandardVideoTransformWorkflow"},{"$ref":"#/components/schemas/Pika3MultipleSubjectReferenceWorkflow"},{"$ref":"#/components/schemas/Pika3PoseControlWorkflow"},{"$ref":"#/components/schemas/Pika3StandardCharacterSwapWorkflow"},{"$ref":"#/components/schemas/Pika3StandardOutfitSwapWorkflow"},{"$ref":"#/components/schemas/Pika3AutoWorkflow"}],"title":"Workflow","description":"Reference workflow and the inputs specific to it.","discriminator":{"propertyName":"type","mapping":{"auto":"#/components/schemas/Pika3AutoWorkflow","character_swap":"#/components/schemas/Pika3StandardCharacterSwapWorkflow","multiple_subject_reference":"#/components/schemas/Pika3MultipleSubjectReferenceWorkflow","outfit_swap":"#/components/schemas/Pika3StandardOutfitSwapWorkflow","pose_control":"#/components/schemas/Pika3PoseControlWorkflow","vfx":"#/components/schemas/Pika3StandardVideoTransformWorkflow","video_editing":"#/components/schemas/Pika3StandardVideoTransformWorkflow","video_style_transfer":"#/components/schemas/Pika3StandardVideoStyleTransferWorkflow"}}},"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":["workflow"],"title":"Pika3StandardPublicReferenceToVideoRequest","description":"Pika 3.0 Standard reference workflows.","native_audio":true},"Pika3StandardPublicTextToVideoRequest":{"allOf":[{"if":{"properties":{"geometry_mode":{"const":"exact"}},"required":["geometry_mode"]},"then":{"oneOf":[{"properties":{"width":{"const":576},"height":{"const":1440}},"required":["width","height"]},{"properties":{"width":{"const":704},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1152}},"required":["width","height"]},{"properties":{"width":{"const":768},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":896},"height":{"const":896}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1216}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1280}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1472}},"required":["width","height"]},{"properties":{"width":{"const":960},"height":{"const":1664}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1024},"height":{"const":1024}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1152},"height":{"const":2880}},"required":["width","height"]},{"properties":{"width":{"const":1216},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":704}},"required":["width","height"]},{"properties":{"width":{"const":1280},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1408},"height":{"const":2560}},"required":["width","height"]},{"properties":{"width":{"const":1440},"height":{"const":576}},"required":["width","height"]},{"properties":{"width":{"const":1472},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":1920}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2048}},"required":["width","height"]},{"properties":{"width":{"const":1536},"height":{"const":2304}},"required":["width","height"]},{"properties":{"width":{"const":1664},"height":{"const":960}},"required":["width","height"]},{"properties":{"width":{"const":1792},"height":{"const":1792}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":768}},"required":["width","height"]},{"properties":{"width":{"const":1920},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2048},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2304},"height":{"const":1536}},"required":["width","height"]},{"properties":{"width":{"const":2560},"height":{"const":1408}},"required":["width","height"]},{"properties":{"width":{"const":2880},"height":{"const":1152}},"required":["width","height"]}]}}],"oneOf":[{"allOf":[{"if":{"properties":{"resolution":{"const":"720p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"16:9"}}}},{"if":{"properties":{"resolution":{"const":"960p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"16:9"}}}},{"if":{"properties":{"resolution":{"const":"1440p"}},"required":["resolution"]},"then":{"properties":{"aspect_ratio":{"enum":["21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null],"default":"16:9"}}}}],"properties":{"geometry_mode":{"const":"preset"},"aspect_ratio":{"enum":["21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21",null]},"width":{"type":"null"},"height":{"type":"null"}},"title":"Preset geometry"},{"properties":{"geometry_mode":{"const":"exact"},"width":{"type":"integer"},"height":{"type":"integer"},"resolution":{"type":"null"},"aspect_ratio":{"type":"null"}},"required":["geometry_mode","width","height"],"title":"Exact worker bucket"}],"properties":{"prompt":{"type":"string","maxLength":10000,"minLength":1,"title":"Prompt","description":"Prompt for the video."},"geometry_mode":{"type":"string","enum":["preset","exact"],"title":"Geometry Mode","description":"Use friendly presets, or exact worker-native dimensions. Video length is always in seconds.","default":"preset"},"resolution":{"anyOf":[{"type":"string","enum":["720p","960p","1440p"]},{"type":"null"}],"title":"Resolution","description":"Output resolution tier.","default":"960p"},"aspect_ratio":{"anyOf":[{"type":"string","enum":["21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16","9:21"]},{"type":"null"}],"title":"Aspect Ratio","description":"Output aspect ratio preset. Omit it to use the selected resolution tier's default."},"duration_s":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":2.0},{"type":"null"}],"title":"Duration S","description":"Video length in whole seconds (2-20), rendered and billed as 24 x duration_s + 1 frames at 24 fps (duration_s=5 is 121 frames, 5.042s); used by preset and exact geometry.","default":5},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width","description":"Exact output width; exact mode only."},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height","description":"Exact output height; exact mode only."},"seed":{"type":"integer","maximum":2147483647.0,"minimum":-1.0,"title":"Seed","description":"Seed; -1 picks a random one.","default":-1},"rewrite_prompt":{"type":"boolean","title":"Rewrite Prompt","description":"Improve the prompt using the workflow's text, image, audio, or video context before generation. Turn off to skip creative prompt rewriting.","default":true},"generate_audio":{"type":"boolean","title":"Generate Audio","description":"Generate the native synchronized soundtrack.","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":"Pika3StandardPublicTextToVideoRequest","description":"Prompt-only Pika 3.0 Standard generation."},"Pika3StandardVideoStyleTransferWorkflow":{"properties":{"type":{"type":"string","const":"video_style_transfer","title":"Type"},"source_video":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Source Video","description":"Video whose motion and composition are restyled.","media_kinds":["video"]},"reference_image":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Reference Image","description":"Optional visual style reference."},"audio_mode":{"type":"string","enum":["sync_source","overlay_source","generated"],"title":"Audio Mode","description":"Use source audio as conditioning, preserve it without conditioning, or generate new audio.","default":"sync_source"}},"additionalProperties":false,"type":"object","required":["type","source_video"],"title":"Pika3StandardVideoStyleTransferWorkflow"},"Pika3StandardVideoTransformWorkflow":{"properties":{"type":{"type":"string","enum":["vfx","video_editing"],"title":"Type"},"source_video":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Source Video","media_kinds":["video"]},"reference_image":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Reference Image"},"audio_mode":{"type":"string","enum":["sync_source","overlay_source","generated"],"title":"Audio Mode","default":"sync_source"}},"additionalProperties":false,"type":"object","required":["type","source_video"],"title":"Pika3StandardVideoTransformWorkflow"},"Pika3SwapDescriptionReference":{"properties":{"type":{"type":"string","const":"description","title":"Type"},"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text","description":"Text description of the replacement."}},"additionalProperties":false,"type":"object","required":["type","text"],"title":"Pika3SwapDescriptionReference"},"Pika3SwapImageReference":{"properties":{"type":{"type":"string","const":"image","title":"Type"},"url":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Url","description":"Single reference image.","media_kinds":["image"]}},"additionalProperties":false,"type":"object","required":["type","url"],"title":"Pika3SwapImageReference"},"Pika3SwapSheetReference":{"properties":{"type":{"type":"string","const":"sheet","title":"Type"},"url":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Url","description":"Prepared character or outfit sheet.","media_kinds":["image"]}},"additionalProperties":false,"type":"object","required":["type","url"],"title":"Pika3SwapSheetReference"},"Pika3VideoStyleTransferWorkflow":{"properties":{"type":{"type":"string","const":"video_style_transfer","title":"Type"},"source_video":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Source Video","description":"Video whose motion and composition are restyled.","media_kinds":["video"]},"reference_image":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Reference Image","description":"Optional visual style reference."},"audio_mode":{"type":"string","enum":["sync_source","overlay_source"],"title":"Audio Mode","description":"Use source audio as conditioning, or preserve it without conditioning.","default":"sync_source"}},"additionalProperties":false,"type":"object","required":["type","source_video"],"title":"Pika3VideoStyleTransferWorkflow"},"Pika3VideoTransformWorkflow":{"properties":{"type":{"type":"string","enum":["vfx","video_editing"],"title":"Type"},"source_video":{"type":"string","maxLength":2083,"pattern":"^https?://","title":"Source Video","media_kinds":["video"]},"reference_image":{"anyOf":[{"type":"string","maxLength":2083,"pattern":"^https?://","media_kinds":["image"]},{"type":"null"}],"title":"Reference Image"},"audio_mode":{"type":"string","enum":["sync_source","overlay_source"],"title":"Audio Mode","default":"sync_source"}},"additionalProperties":false,"type":"object","required":["type","source_video"],"title":"Pika3VideoTransformWorkflow"},"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."},"prompt_override":{"anyOf":[{"type":"string","maxLength":10000,"minLength":1},{"type":"null"}],"title":"Prompt Override","description":"Optional replacement for an editable image recipe prompt; preserves its workflow."},"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."},"PublicRoute":{"properties":{"workflow":{"$ref":"#/components/schemas/ResolvedRoute"},"resolution_kind":{"type":"string","enum":["rules","model"],"title":"Resolution Kind"},"latency_ms":{"type":"integer","minimum":0.0,"title":"Latency Ms"}},"additionalProperties":false,"type":"object","required":["workflow","resolution_kind","latency_ms"],"title":"PublicRoute"},"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."},"ReportPayerMode":{"type":"string","enum":["prepaid","postpaid","mixed"],"title":"ReportPayerMode"},"ReportTotals":{"properties":{"charges_micros":{"type":"integer","title":"Charges Micros"},"charges_prepaid_micros":{"type":"integer","title":"Charges Prepaid Micros"},"charges_postpaid_micros":{"type":"integer","title":"Charges Postpaid Micros"},"credits_applied_micros":{"type":"integer","title":"Credits Applied Micros"},"from_prepaid_micros":{"type":"integer","title":"From Prepaid Micros"}},"type":"object","required":["charges_micros","charges_prepaid_micros","charges_postpaid_micros","credits_applied_micros","from_prepaid_micros"],"title":"ReportTotals"},"ResolvedRoute":{"type":"string","enum":["audio_to_video","multiple_subject_reference","vfx","video_style_transfer","video_editing","character_swap","outfit_swap","pose_control","invalid"],"title":"ResolvedRoute"},"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"},"Seedance25DraftToVideoRequest":{"properties":{"draft_job_id":{"type":"string","title":"Draft Job Id","description":"Id of a completed, undeleted Seedance 2.5 draft job of this organization, created in the last 7 days. The final inherits the draft's prompt, inputs, duration, ratio and audio. One draft can be finalized more than once; each final is its own paid job."},"output_format":{"anyOf":[{"type":"string","enum":["mp4","mov"]},{"type":"null"}],"title":"Output Format","description":"Output container format."},"watermark":{"type":"boolean","title":"Watermark","description":"Whether to add a watermark to the output video.","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":["draft_job_id"],"title":"Seedance25DraftToVideoRequest","description":"Render the 1080p final of a Seedance 2.5 draft."},"Seedance25ImageToVideoRequest":{"properties":{"draft":{"type":"boolean","title":"Draft","description":"Render a 480p draft preview. A draft can be finalized at 1080p through 'bytedance/seedance-2.5/draft-to-video' within 7 days, charged as its own job.","default":false},"prompt":{"type":"string","maxLength":30000,"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":{"draft":{"type":"boolean","title":"Draft","description":"Render a 480p draft preview. A draft can be finalized at 1080p through 'bytedance/seedance-2.5/draft-to-video' within 7 days, charged as its own job.","default":false},"prompt":{"type":"string","maxLength":30000,"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. A video edit or extension keeps the source video's shape and accepts only 'adaptive' (or no 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, with a frame between 407,696 and 8,295,044 pixels (854x480 through roughly 4K); the reference videos total at most 30 seconds. Editing or extending a video is requested through the prompt (e.g. 'edit @Video1: ...', 'extend @Video1 ...'); both keep the source ratio (ratio 'adaptive' or omitted), and editing also keeps its length (duration 'auto')."},"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."},"omni_reference_task_type":{"type":"string","enum":["auto","reference","edit","extend"],"title":"Omni Reference Task Type","description":"How the reference task is treated. 'auto' (default) lets the model classify the task from the prompt after the job is queued. An explicit 'edit' requires at least one reference video, duration 'auto', and an adaptive (or omitted) ratio; an explicit 'extend' requires at least one reference video and an adaptive (or omitted) ratio, with a numeric duration setting the continuation length; 'reference' is unconstrained and forwards ratio and duration as given.","default":"auto"},"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":{"draft":{"type":"boolean","title":"Draft","description":"Render a 480p draft preview. A draft can be finalized at 1080p through 'bytedance/seedance-2.5/draft-to-video' within 7 days, charged as its own job.","default":false},"prompt":{"type":"string","maxLength":30000,"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":30000,"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":30000,"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":30000,"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":30000,"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":30000,"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":30000,"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":30000,"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":30000,"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":30000,"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 (defaults to 2K)."},"aspect_ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9"]},{"type":"null"}],"title":"Aspect Ratio","description":"Output aspect ratio; omitted, the model picks one from the prompt."},"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 (defaults to 2K)."},"aspect_ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9"]},{"type":"null"}],"title":"Aspect Ratio","description":"Output aspect ratio; omitted, the model picks one from the 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":"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","1.5K","2K"]},{"type":"null"}],"title":"Size","description":"Output resolution (defaults to 2K); 1.5K is priced as 1K."},"aspect_ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9"]},{"type":"null"}],"title":"Aspect Ratio","description":"Output aspect ratio; omitted, the model picks one from the prompt."},"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","1.5K","2K"]},{"type":"null"}],"title":"Size","description":"Output resolution (defaults to 2K); 1.5K is priced as 1K."},"aspect_ratio":{"anyOf":[{"type":"string","enum":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9"]},{"type":"null"}],"title":"Aspect Ratio","description":"Output aspect ratio; omitted, the model picks one from the 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":"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"},"seed":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Seed","description":"Actual video seed reported by the worker for a completed video job, including the chosen value when the request used -1. Omitted when unavailable, including older jobs. This seed does not guarantee reproducible audio, prompt or image preprocessing, or composition across resolutions."}},"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":[]}]}