ビデオ生成 API
テキスト、画像、ビデオ参照、オーディオ入力から AI ビデオを生成します。すべて単一の統合エンドポイントで利用できます。生成モードは、指定するパラメータの組み合わせによって自動的に決定されます。
エンドポイント
POST https://api.evolink.ai/v1/videos/generations
リクエストパラメータ
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
model | string | はい | — | モデル ID。seedance-2.0 を使用してください |
prompt | string | はい | — | 希望するビデオのテキスト説明(最大 2000 トークン)。アップロードしたファイルを参照するには @ タグを使用します |
image_urls | array | いいえ | — | 参照画像の URL(最大 9 枚)。入力ファイル要件を参照 |
video_urls | array | いいえ | — | 参照ビデオの URL(最大 3 本)。入力ファイル要件を参照 |
audio_urls | array | いいえ | — | 参照オーディオの URL(最大 3 件)。入力ファイル要件を参照 |
duration | integer | いいえ | 5 | ビデオの長さ(秒)。4 から 15 の任意の整数。長いほどコストが高くなります |
quality | string | いいえ | 720p | ビデオ解像度: 480p、720p、または 1080p。高画質ほどコストが高くなります |
aspect_ratio | string | いいえ | 16:9 | アスペクト比: 16:9、9:16、1:1、4:3、3:4、21:9、または adaptive |
generate_audio | boolean | いいえ | true | 同期オーディオを生成するかどうか。有効にするとコストが増加します |
callback_url | string | いいえ | — | タスク完了時のコールバック用 HTTPS URL。Webhooks を参照 |
生成モード
API は、指定された入力パラメータに基づいて生成モードを自動検出します。
| 指定する入力 | モード | 説明 |
|---|---|---|
prompt のみ | テキストからビデオ | テキスト説明からビデオを生成します |
prompt + image_urls(1 枚の画像) | 画像からビデオ | 参照画像をアニメーション化します |
prompt + image_urls(2 枚の画像) | 先頭-末尾フレーム | 2 つのキーフレーム間のトランジションを生成します |
prompt + image_urls、video_urls、audio_urls の任意の組み合わせ | マルチモーダル | プロンプト内で @ タグを使用して各入力に役割を割り当てます。マルチモーダルリファレンスを参照 |
入力ファイル要件
画像
| プロパティ | 制限 |
|---|---|
| 最大枚数 | 1 リクエストあたり 9 枚 |
| 最大ファイルサイズ | 1 枚あたり 30MB |
| 対応フォーマット | .jpeg、.png、.webp、.bmp、.tiff、.gif |
ビデオ
| プロパティ | 制限 |
|---|---|
| 最大本数 | 1 リクエストあたり 3 本 |
| 最大ファイルサイズ | 1 本あたり 50MB |
| 対応フォーマット | .mp4、.mov |
| 長さ | 2~15 秒 |
| ピクセル範囲 | 409,600(480p)~ 927,408(720p) |
オーディオ
| プロパティ | 制限 |
|---|---|
| 最大件数 | 1 リクエストあたり 3 件 |
| 最大ファイルサイズ | 1 件あたり 15MB |
| 対応フォーマット | .mp3、.wav |
| 合計再生時間 | 15 秒以下 |
ファイル合計制限: 1 リクエストあたり全モダリティ合わせて最大 12 ファイルです。
顔の制限: リアルな人間の顔のアップロードはサポートされておらず、自動的に拒否されます。
すべてのファイル URL は、サーバーから直接アクセス可能である必要があります。
使用例
テキストからビデオ
import requests
response = requests.post(
"https://api.evolink.ai/v1/videos/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "seedance-2.0",
"prompt": "A luxury watch rotating slowly on a marble surface, soft studio lighting, product showcase, cinematic 4K",
"duration": 8,
"quality": "1080p",
"aspect_ratio": "16:9",
"generate_audio": False
}
)
print(response.json())
画像からビデオ
response = requests.post(
"https://api.evolink.ai/v1/videos/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "seedance-2.0",
"prompt": "The woman turns her head slowly and smiles, hair gently flowing in the wind",
"image_urls": ["https://example.com/portrait.jpg"],
"duration": 5,
"quality": "1080p"
}
)
先頭-末尾フレーム
response = requests.post(
"https://api.evolink.ai/v1/videos/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "seedance-2.0",
"prompt": "Smooth camera pan revealing the landscape, golden hour lighting",
"image_urls": [
"https://example.com/frame-start.jpg",
"https://example.com/frame-end.jpg"
],
"duration": 8,
"quality": "1080p"
}
)
@タグを使ったマルチモーダル
response = requests.post(
"https://api.evolink.ai/v1/videos/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "seedance-2.0",
"prompt": "@Image1 as first frame, replicate @Video1 camera movement, @Audio1 for BGM rhythm",
"image_urls": ["https://example.com/scene.jpg"],
"video_urls": ["https://example.com/reference-camera.mp4"],
"audio_urls": ["https://example.com/bgm.mp3"],
"duration": 10,
"quality": "1080p"
}
)
完全な @ タグ構文と役割の割り当てについては、マルチモーダルリファレンスを参照してください。
レスポンス
{
"id": "task-unified-1761313744-vux2jw0k",
"object": "video.generation.task",
"created": 1761313744,
"model": "seedance-2.0",
"status": "pending",
"progress": 0,
"type": "video",
"task_info": {
"can_cancel": true,
"estimated_time": 165,
"video_duration": 8
},
"usage": {
"billing_rule": "per_call",
"credits_reserved": 12,
"user_group": "default"
}
}
レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
id | string | ステータスポーリング用の一意のタスク識別子 |
object | string | 常に video.generation.task |
created | integer | タスク作成時の Unix タイムスタンプ |
model | string | 生成に使用されたモデル |
status | string | pending、processing、completed、または failed |
progress | integer | 進捗パーセンテージ(0~100) |
type | string | 出力タイプ: text、image、audio、または video |
task_info.can_cancel | boolean | タスクをキャンセルできるかどうか |
task_info.estimated_time | integer | 推定完了時間(秒) |
task_info.video_duration | integer | リクエストされたビデオの長さ(秒) |
usage.billing_rule | string | 課金ルール(per_call、per_token、per_second) |
usage.credits_reserved | number | 推定消費クレジット |
usage.user_group | string | ユーザーグループカテゴリ |
オーディオ生成
Seedance 2.0 は、テキストプロンプトとビジュアルコンテンツに基づいて、音声、効果音、BGM を含む同期オーディオを自動生成できます。
generate_audioをtrue(デフォルト)に設定するとオーディオが有効になります- より良い音声生成のために、プロンプト内のセリフをダブルクォーテーションで囲んでください
- 例:
The man stopped the woman and said: "Remember, you must never point at the moon with your finger." - 無音ビデオを出力するには
generate_audioをfalseに設定してください
プロンプトのコツ
- カメラアングル、ライティング、モーションを具体的に指定してください
- スタイルキーワードを含めてください: "cinematic"、"slow motion"、"aerial shot"
- 被写体、動作、雰囲気を説明してください
- プロンプトの最大長は 2000 トークンです
- 詳細なプロンプトエンジニアリング戦略については、Seedance 2.0 プロンプトガイドをご覧ください
関連ドキュメント
- マルチモーダルリファレンス — 画像、ビデオ、オーディオの @タグ参照で生成を制御する
- 非同期タスク — タスクステータスのポーリングと結果の取得
- Webhooks —
callback_urlによるリアルタイム完了通知 - SDK とコード例 — Python、Node.js、Go、cURL の統合コード