SD Video
SD Video で、セリフと音が映像に合った 5〜15 秒のクリップを生成。テキストから動画・画像から動画・参照から動画に対応し、480p または 768p でタスクとして受け取れます。
SD Video は SeedRouter の動画生成モデルで、MiniMax H3 をベースにしています。1 回のリクエストで、映像と音をあわせたシーン全体を生成します。生成されるのは、セリフ・環境音・効果音付きの 5〜15 秒のクリップです。リクエストを送信し、返されたタスク ID を保持して、完成した動画をタスクから読み取ってください。最初のフレームと参照は URL で渡します。
モデル ID
| モデル ID | モード | 解像度 | 長さ |
|---|---|---|---|
sd-video | text_to_video、image_to_video、reference_to_video | 480p、768p | 5〜15 秒 |
現在の料金はモデルページをご覧ください。
クイックサンプル
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd-video",
"mode": "text_to_video",
"prompt": "A lighthouse keeper in a wool coat stands on a wet stone pier at dawn and says, \"The fog lifts at seven.\" Locked-off shot, waves slapping the stones, no music.",
"duration": 5,
"resolution": "768p",
"aspect_ratio": "16:9"
}'エンドポイント
POST https://api.seedrouter.ai/v1/videos/generations| ヘッダー | 値 |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
レスポンスはタスク({"id": "task_...", "status": "processing"})であり、完成した動画ではありません。結果は GET /v1/tasks/{task_id} をポーリングして取得してください。API キーはサーバー側のコードに保管してください。
パラメータ
| フィールド | 型 | 既定値 | 説明 |
|---|---|---|---|
model | string | 必須 | sd-video |
mode | enum | reference_to_video | text_to_video、image_to_video、reference_to_video。短縮形 t2v、i2v、ref2va も受け付けます。 |
prompt | string | 必須 | 1〜32,000 文字。映像と音を記述します。 |
duration | integer | 5 | 5〜15 秒の任意の整数。 |
resolution | enum | 768p | 480p または 768p。 |
aspect_ratio | enum | モードによる | 21:9、16:9、4:3、1:1、3:4、9:16。reference_to_video ではさらに adaptive。image_to_video は最初のフレームに従います。 |
prompt_enhancement | enum | turbo | turbo、quality、disabled のいずれか。 |
seed | integer | ランダム | 符号なし 32 ビット。ショットを再現したいときに指定します。 |
image | reference | image_to_video のみ。このモードでは必須。最初のフレームです。 | |
reference_images | array | [] | reference_to_video のみ。最大 9 個。 |
reference_videos | array | [] | reference_to_video のみ。最大 3 個。 |
reference_audio | array | [] | reference_to_video のみ。最大 3 個。 |
スキーマは厳格です。未知のフィールドは無視されず、拒否されます。callback_url と callback_id は利用できません。代わりにタスクをポーリングしてください。
モード
mode は、モデルが何を条件に生成するかを選びます。各モードには専用のフィールドがあり、別のモードのフィールドに値が入っていると 400 を返します(空のリストや null は通ります)。
| モード | 必須 | 受け付けるもの |
|---|---|---|
text_to_video | prompt | 共通フィールド |
image_to_video | prompt と image | 最初のフレームとしての image |
reference_to_video(デフォルト) | prompt と、参照画像または参照動画を 1 つ以上 | reference_images、reference_videos、reference_audio |
image_to_video は画像を文字どおりの最初のフレームとして扱うため、クリップはその静止画とまったく同じ見た目で始まります。製品や人物を自分で考えたシーンに配置したい場合は、reference_to_video を使い、その周りのシーンを記述してください。
参照とプロンプトのラベル
reference_to_video では、リストの順番がプロンプト内で使うラベルになります。reference_images の 1 つ目は <Picture 1>、2 つ目は <Picture 2>、reference_videos の 1 つ目は <Video 1> というように続きます。画像・動画・音声はそれぞれ独立して番号が振られます。プロンプト強化はプロンプトの他の部分を言い換えることがありますが、これらのラベルは変えません。書いたとおりのテキストを保ちたい場合は、prompt_enhancement を disabled にしてください。
{
"model": "sd-video",
"mode": "reference_to_video",
"prompt": "A supervisor wearing the harness in <Picture 1> stands still and speaks to camera.",
"reference_images": [{ "type": "url", "url": "https://example.com/harness.jpg" }],
"duration": 10
}メディア入力
すべての参照と、image_to_video の最初のフレームは、公開 HTTP(S) URL を持つオブジェクトです:
{ "type": "url", "url": "https://example.com/photo.jpg" }| 入力 | 最大サイズ |
|---|---|
| 画像 | 16 MB |
| 動画または音声 | 32 MB |
画像は最大 9 枚、動画 3 本、音声 3 本、参照は合計 12 個までです。base64 データとアセット ID は受け付けません。ファイルを自分のストレージにアップロードし、その URL を渡してください。URL はリダイレクトなしでアクセスできる必要があります。
課金に影響する要素
現在のレートはモデルの料金セクションで確認してください。SD Video は動画 1 秒単位で課金され、レートはモードと出力解像度で決まります:
billed seconds = duration (text_to_video, image_to_video)
billed seconds = duration + ceil(Σ min(each reference video's seconds, 5)) (reference_to_video)
cost = billed seconds × rate per second参照動画は 1 本ごとに、その長さを最大 5 秒まで加算します。それより長いクリップでも加算は 5 秒です。参照画像と参照音声は課金されません。参照動画はリクエストの受理時に計測されるため、確保される金額がそのまま課金額になります。最終的な課金額はアカウントの利用履歴で確認できます。失敗したタスクは課金されません。
出力スキーマ
送信するとタスクが返ります:
{"id": "task_...", "model": "sd-video", "status": "processing", "created_at": 1789689600}タスクを取得する
GET https://api.seedrouter.ai/v1/tasks/{task_id}status が completed または failed になるまで、10〜20 秒ごとにポーリングしてください。ポーリング中のネットワークタイムアウトは生成の失敗を意味しません。タスク ID を保持して確認を再開してください。進捗確認のために別のタスクを作成しないでください。
完了したタスク
{
"id": "task_...",
"model": "sd-video",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689720,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4",
"duration": 5,
"width": 1344,
"height": 768,
"aspect_ratio": "16:9",
"seed": 42
}
}動画は MP4(H.264)、24 fps、32 kHz ステレオ AAC 音声です。aspect_ratio を明示した場合、サイズは固定です:
aspect_ratio | 768p | 480p |
|---|---|---|
21:9 | 1536 × 672 | 960 × 416 |
16:9 | 1344 × 768 | 832 × 480 |
4:3 | 1024 × 768 | 640 × 480 |
1:1 | 768 × 768 | 480 × 480 |
3:4 | 768 × 1024 | 480 × 640 |
9:16 | 768 × 1344 | 480 × 832 |
text_to_video のデフォルトは 16:9 です。reference_to_video のデフォルトは adaptive で、最初の参照画像の形、画像がない場合は最初の参照動画の形になります。image_to_video は常に最初のフレームに従い、EXIF の向きも反映されます。形を変えたい場合は画像をトリミングしてください。adaptive のクリップは元素材の形を保ち、解像度の短辺に合わせて拡大縮小し、各辺を 32 の倍数に丸めます。aspect_ratio は約分したピクセル比(例:23:15)として報告されます。
完了したタスクは、使用した seed を報告します。同じプロンプトとシードなら同じクリップが返ります。seed を省略すると、リクエストごとに新しい値が選ばれます。
エラー
タスク作成前に拒否されたリクエストは、HTTP エラーと error オブジェクトを返し、課金されません。受理後に失敗したタスクは、照会時に HTTP 200 と status: "failed"、そして error オブジェクトを返します。
コード・HTTP ステータス・リトライの指針は共通エラーカタログを参照してください。
{
"id": "task_...",
"model": "sd-video",
"status": "failed",
"error": {
"code": 60001,
"message": "The request was rejected by the content policy. Please revise the prompt or input images."
}
}送信自体がタイムアウトした場合は、再送信の前にタスクを確認してください。最初のリクエストが受理されている可能性があります。
ヒント
- プロンプトは長く書いてください。数百文字以上あると出力が良くなります。詳しく書いて不利になることはありません。
- 雰囲気ではなくカメラを指定してください。ボディ、レンズ、絞りは映像を変えますが、「シネマティック」はほとんど効果がありません。
- 音を記述してください。空間の環境音、効果音、その距離感です。BGM が不要なら
no musicと書いてください。セリフは 1 秒あたり約 2.5 語が目安です。 - 勝手なマークが入らないよう、
no logos, brand names, printed words or badges anywhere in frameを加えてください。 - 画面内の文字は短くし、正確に書き、それが画面内で唯一の文字だと明記してください。
- 動きは控えめに。被写体 1 つ、場所 1 つ、固定カメラが基本です。手元の細かい作業や、髪や紙のような柔らかい動きは最も苦手な部分です。
- ショットを詰めていくときは、
seedを固定して一度に 1 つの節だけを変えてください。
