Skip to main content
POST /v1/videos を使用して、非同期の Seedance 動画生成タスクを作成します。タスクが完了するまでポーリングし、返された Flatkey URL から動画をダウンロードします。 対応モデルは seedance-2.0、seedance-2.0-fast、seedance-2.0-mini、seedance-2.5 です。利用可否はアカウントによって異なります。現在のモデル一覧を取得するには GET /v1/models を使用してください。

エンドポイント

Flatkey は POST /v1/video/generations および GET /v1/video/generations/{task_id} も受け付けます。標準的なレスポンス構造とネイティブの usage データを使用するには /v1/videos を使用してください。

リクエスト

ヘッダー

ボディパラメーター

string
必須
Seedance モデル ID: "seedance-2.0"、"seedance-2.0-fast"、"seedance-2.0-mini"、または "seedance-2.5"。
array
必須
マルチモーダル入力アイテム。空でないテキスト、画像、動画、または音声のアイテムを少なくとも 1 つ含めてください。content アイテムを参照してください。
string
出力解像度。デフォルト: "720p"。
string
出力アスペクト比: "16:9"、"4:3"、"1:1"、"3:4"、"9:16"、"21:9"、または "adaptive"。デフォルト: "adaptive"。"adaptive" の場合、モデルは入力した画像または動画に基づいてアスペクト比を選択します。seedance-2.5 では、最初のフレームを指定するタスクと、最初と最後のフレームを指定するタスクは "adaptive" のみに対応しています。
integer
動画の長さ(秒)。デフォルト: 5。Seedance 2.0 系モデルは 4〜15、seedance-2.5 は 4〜30 を受け付けます。
duration には必ず正の値を指定してください。Flatkey は Seedance を秒単位で課金するため、-1(長さをモデルに任せる)は video_price_not_configured で拒否されます。唯一の例外は seedance-2.5 の動画編集で、この場合は -1 が必須です。
boolean
右下隅に「AI generated」のウォーターマークを追加します。デフォルト: false。
boolean
同期されたモノラル音声トラックを生成します。デフォルト: true。動画だけが必要な場合は false に設定してください。生成された音声は、まれに著作権チェックに通らないことがあります。
boolean
生成された動画の最後のフレームを画像として返します。デフォルト: false。true の場合、完了したタスクに metadata.last_frame_url が含まれます。この URL からは、動画と同じサイズでウォーターマークのない JPEG をダウンロードできます。次のタスクの first_frame として使用すると、クリップをつなげられます。metadata.url と同様に認証ヘッダーは不要なため、非公開として扱ってください。
string
seedance-2.5 のみ。生成される動画のコンテナ形式: "mp4" または "mov"。デフォルト: "mp4"。MOV はカラーグレーディングや合成に向けてより高い色精度を保持します(H.264、YUV 4:4:4、PCM 音声)が、一部のプレーヤーでは開けません。MOV の結果に対しては、コンテンツエンドポイントが video/quicktime を返します。
string
seedance-2.5 の参照モードのタスクのみ。意図するタスクの種類をモデルに伝えます: "auto"(デフォルト)、"reference"、"edit"、または "extend"。明示的に指定すると、タスク種類のチェックが送信時に行われるため、無効な組み合わせはタスクの開始後ではなく即座にエラーになります。"reference"、"edit"、"extend" はいずれも content に参照アイテムが必要で、テキストのみのリクエストで "reference" を指定すると拒否されます。動画の編集と延長を参照してください。
integer
キューの優先度(0〜9)。デフォルト: 0。値が大きいほど、同じモデルで待機している優先度の低いタスクより先に処理されます。すべての Seedance 2.0 系モデルと seedance-2.5 で対応しています。0〜9 の範囲外の値は 400 で拒否されます。
integer
タスクが期限切れになるまでに待機および実行できる秒数。デフォルト: 172800(48 時間)。遅れて届いた結果が役に立たない場合は、より短い値を指定してください。
string
タスクのステータスが変わるたびに POST を受け取る公開 HTTPS URL。タスクコールバックを参照してください。https を使用し、ユーザー認証情報を含まず、2,048 文字以内で、公開アドレスに解決される必要があります。条件を満たさない場合、リクエストは 400 で拒否されます。

content アイテム

各 URL には、公開 HTTPS URL、data:<mime>;base64, 形式のデータ URI(画像と音声のみ)、またはアセットライブラリの asset:// 参照を指定できます。リクエストボディ全体は 64 MB 未満に収める必要があります。 タスクごとに入力モードを 1 つ選択してください。これらのモードは混在できません:

動画編集

seedance-2.5 は、参照モードで既存の動画を編集または延長できます。プロンプトで変更内容を説明し、動画を @Video1 として参照してください。
参照動画を含むすべての seedance-2.5 リクエストと同様に、編集は入力や出力の長さに関係なく、その解像度の動画入力ありの料金で一律 30 秒分として課金されます。

ドラフトモード

seedance-2.5 では、まず低コストの 480p ドラフトを生成し、最終動画の料金を支払う前にシーン、ショット、動きを確認できます。リクエストは 2 回必要です:
  1. ドラフトを作成する。 "draft": true と "resolution": "480p" を指定して、通常のリクエストを送信します。通常の 480p 動画として課金されます。
  2. 最終動画を生成する。 ドラフトの完了後、ドラフトのタスク ID を指す draft_task だけを content アイテムとして含め、"resolution": "1080p" を指定したリクエストを送信します。
最終動画は、ドラフトのプロンプト、メディア、長さ、アスペクト比、シード、音声設定、タスクの種類を引き継ぎます。draft_task と一緒に duration、ratio、frames、seed、generate_audio、omni_reference_task_type、draft、またはその他の content アイテムを送信しないでください。送信するとリクエストは 400 で拒否されます。return_last_frame、output_format、watermark、priority、execution_expires_after、callback_url は引き続き指定できます。
Seedance は、実在の人物の顔が写った画像や動画を直接受け付けません。実在人物アセットとしてアップロードし、asset:// で参照してください。

リクエスト例

最初と最後のフレームの入力

マルチモーダル参照

レスポンス

レスポンスフィールド

string
タスクのポーリングと完成した動画のダウンロードに使用するパブリックタスク ID。task_id も同じ値を持ちます。
string
タスクのステータス: queued、in_progress、completed、または failed。
integer
生成の進捗(0〜100)。
integer
タスク作成の Unix タイムスタンプ。

タスクステータスのポーリング

生成中は、レスポンスに現在の進捗が含まれます:
タスクが完了すると、レスポンスに動画 URL とトークン使用量が含まれます:
失敗したタスクは、タスクレスポンスにエラーの詳細を返します:
事前に消費された残高は自動的に返金されます。

ステータスの値

タスクコールバック

callback_url を設定すると、ポーリングの代わりに、またはポーリングと併用して、ステータスの変化を受け取れます。タスクが in_progress、completed、または failed に移行すると、Flatkey は Content-Type: application/json で POST を送信します。ボディは、その時点で GET /v1/videos/{task_id} が返す内容とまったく同じで、完了したタスクでは metadata.url と metadata.last_frame_url を含みます。
5 秒以内に任意の 2xx ステータスで応答してください。そうでない場合、Flatkey は 2 秒後と 8 秒後の計 2 回リトライし、その後は送信を停止します。リダイレクトには従いません。コールバックには署名がないため、結果に基づいて処理する前にタスクをポーリングして確認してください。コールバックが失われる場合に備えて、ポーリングを信頼できる情報源として使い続けてください。

動画のダウンロード

コンテンツエンドポイントは video/mp4 データをストリーミングします(タスクで output_format: "mov" を使用した場合は video/quicktime)。Bearer トークンは不要で、<video> ソースとして直接使用できます。
コンテンツエンドポイントはタスクの完了後にのみ機能し、クライアント IP によるレート制限があります。URL を持つ誰もが動画をダウンロードできるため、URL を機密情報として扱ってください。

エラー

リクエスト時のエラーは Flatkey の標準エラーエンベロープを使用します:

エンドツーエンドの例

この例では、タスクを作成し、5 秒ごとにポーリングして、完成した動画をダウンロードします。jq が必要です。