動画生成を作成
POST /video-generationsの認証、フィールド、応答、エラー、安全な運用をソースから生成した参考資料です。
このページの目次
操作
POST /video-generations
operationId: create_video_generation_v1_video_generations_post
有料の非同期タスクを開始します。先に見積もりと利用者の承認を得て、返されたIDを保存します。HTTP 202は受理を示し、完了ではありません。応答が不明な場合は同じIdempotency-Key、認証主体、不変の本文を再利用します。作成時には価格を再計算し、公開APIの見積もりは価格を固定しません。max_creditsとquote_idはAPI本文のフィールドではありません。Retry-Afterに従って状態確認し、失敗を含むすべての終状態で成果物を調べます。
認証と副作用
サーバー側のBearer APIキーを使います。必要な権限:animations:write
有料処理を作成します。送信前に承認を得てください。API見積もりは価格固定でもサーバー強制の上限でもありません。
パラメータ
| パラメータ | 位置 | 型 | 必須 | 制約/既定値 | 説明 |
|---|---|---|---|---|---|
Idempotency-Key |
header |
string |
はい | minLength: 8; maxLength: 200 |
Persist once per logical operation; reuse with the same credential and unchanged body. Changing credentials changes the deduplication scope. |
リクエスト本文 (application/json)
本文必須:true
| フィールド | 型 | 必須 | 既定値 | 制約 | 説明 |
|---|---|---|---|---|---|
input |
GenerationInput | はい | — | — | Images owned by the caller or supplied for this generation. |
metadata |
object |
いいえ | {} |
— | Caller metadata: simple string/number/boolean/null values, at most 4 KiB JSON. Do not store secrets. |
negative_prompt |
string |
いいえ | "" |
maxLength: 4000 |
Optional exclusions, only when the model supports negative prompts. |
prompt |
string |
いいえ | "" |
maxLength: 8000 |
Motion instruction; nonempty when the model requires a prompt. Keep private prompts out of logs. |
video |
VideoOptions | いいえ | {"duration_seconds":null,"input_canvas":null,"model":null,"ratio":null,"resolution":null,"seed":null,"style_preset":null,"transparency":{"key_color":null,"key_selection":"auto","mode":"standard"},"watermark":null} |
— | Model-compatible generation settings. |
入れ子の全スキーマ:VideoGenerationCreateRequest
リクエスト例
{
"input": {
"first_frame": {
"file_id": "00000000-0000-4000-8000-000000000001",
"type": "file"
}
},
"prompt": "A character runs in place, side view, fixed camera."
}
応答
| HTTP | 本文 | 説明 |
|---|---|---|
202 |
TaskResponse | Accepted asynchronously; poll the task ID. |
400 |
APIErrorEnvelope | Invalid input; correct the request before retrying. |
401 |
APIErrorEnvelope | Missing, expired, or revoked API key. |
402 |
APIErrorEnvelope | Insufficient credits; do not automatically purchase. |
403 |
APIErrorEnvelope | Account eligibility, account status, or key scope does not allow this operation. |
404 |
APIErrorEnvelope | Resource is unavailable, not owned, or its signature is invalid/expired. |
409 |
APIErrorEnvelope | Idempotency conflict; only IDEMPOTENCY_IN_PROGRESS is retryable with the original request. |
413 |
APIErrorEnvelope | Request or decoded image exceeds the configured limit. |
415 |
APIErrorEnvelope | Use supported image media types. |
422 |
APIErrorEnvelope | Decoded image dimensions exceed the allowed size. |
429 |
APIErrorEnvelope | Account-wide rate or queue limit; wait for Retry-After. |
500 |
APIErrorEnvelope | Internal failure; preserve the task/key and retry only when marked retryable. |
503 |
APIErrorEnvelope | Service/provider unavailable; retry only when error.retryable is true. |
応答ヘッダー
| HTTP | ヘッダー | 型 | 説明 |
|---|---|---|---|
202 |
Retry-After |
integer |
Suggested wait in seconds; respect the server value and an overall deadline. |
429 |
Retry-After |
integer |
Suggested wait in seconds; respect the server value and an overall deadline. |
503 |
Retry-After |
integer |
Suggested wait in seconds; respect the server value and an overall deadline. |
応答例
{
"created_at": "2026-08-30T00:00:00Z",
"credits": {
"charged": 0,
"held": 1,
"quoted": 1
},
"error": null,
"finished_at": null,
"id": "00000000-0000-4000-8000-000000000002",
"metadata": {},
"normalized_input": {},
"object": "video_generation",
"outputs": [],
"progress": 0,
"stage": "queued",
"started_at": null,
"status": "queued"
}
関連ガイド
この記事は役に立ちましたか?
検索語句、コード、自由記述は収集しません。この設定はドキュメントの操作イベントのみを制御します。 プライバシーポリシー