Text-to-Video API
純粋なテキストプロンプトから動画を生成します。これは Seedance 2.0 で最も一般的なモードで、クリエイティブ発想、広告スクリプト、絵コンテ、短尺コンテンツなど、視覚的な参照素材なしで開始するあらゆるシナリオに最適です。
エンドポイント
POST https://api.evolink.ai/v1/videos/generations
モデル ID: seedance-2.0-text-to-video
より高速かつ低価格で生成したい場合は、代わりに
seedance-2.0-fast-text-to-videoを使用してください。パラメータ構造は同一です。
リクエストパラメータ
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
model | string | はい | — | seedance-2.0-text-to-video を指定 |
prompt | string | はい | — | 動画内容の説明。中国語 500 文字以下または英語 1000 ワード以下 |
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 | 同期音声(環境音、音楽、セリフ)を生成するか |
model_params.web_search | boolean | いいえ | false | 有効化すると、モデルが自律的にインターネット検索を実行するかを判断します。実際に検索が発動した場合のみ課金 |
callback_url | string | いいえ | — | タスク完了コールバック用の HTTPS URL。最大 2048 文字、プライベート IP は禁止 |
パラメータの詳細
良い prompt の書き方
- 被写体、アクション、カメラ言語(パン/ティルト/ズーム/ドリー)、ライティングの雰囲気を記述する
- セリフは半角ダブルクォートで囲み、専用の音声合成を発動させる:
She turned and said: "You're finally here." - プロンプト内で特定のアスペクト比(例: "2.35:1")を指定しないこと。代わりに
aspect_ratioフィールドを使用する
generate_audio: false は無音の動画を出力します。映像品質の劣化はなく、帯域コストがわずかに下がります。音声生成自体には追加料金はかかりません。
model_params.web_search: true は次の場合に有用です。
- プロンプトが「最新」「今日」「今週」など時期に関する内容を含む
- 実在のイベント、人物、場所を参照するブランド広告が必要
- モデルは内部で検索が必要かを判断します。不要であれば検索は実行されず、追加課金もありません
リクエスト例
cURL
curl -X POST https://api.evolink.ai/v1/videos/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0-text-to-video",
"prompt": "A macro lens focuses on a green glass frog on a leaf. The focus gradually shifts from its smooth skin to its completely transparent abdomen, where a bright red heart is beating powerfully and rhythmically.",
"duration": 8,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
}'
Python
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-text-to-video",
"prompt": "A luxury watch rotating slowly on a marble surface, soft studio lighting, product showcase, cinematic",
"duration": 8,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": False
}
)
task = response.json()
print(f"Task ID: {task['id']}")
Node.js
const res = await fetch("https://api.evolink.ai/v1/videos/generations", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "seedance-2.0-text-to-video",
prompt: "A cinematic sunset over the ocean, wide angle",
duration: 5,
quality: "720p",
aspect_ratio: "16:9",
model_params: { web_search: false }
})
});
const task = await res.json();
console.log("Task ID:", task.id);
レスポンス
リクエストが正常に受理されると、即座にタスクオブジェクトが返されます(HTTP 200)。この時点ではまだ生成は開始されていません。
{
"id": "task-unified-1774857405-abc123",
"object": "video.generation.task",
"created": 1774857405,
"model": "seedance-2.0-text-to-video",
"status": "pending",
"progress": 0,
"type": "video",
"task_info": {
"can_cancel": true,
"estimated_time": 165,
"video_duration": 8
},
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}
フィールドリファレンス
| フィールド | 説明 |
|---|---|
id | タスク ID — ステータスポーリングや Webhook の照合に使用 |
status | pending → processing → completed / failed |
progress | 0〜100 のパーセンテージ |
task_info.estimated_time | 完了までの推定秒数 |
task_info.video_duration | 要求された動画の長さ |
task_info.can_cancel | キャンセルエンドポイントを呼び出せるか |
usage.billing_rule | 常に per_second |
usage.credits_reserved | 予約クレジット — 実際の課金はタスクが completed に達した時点で確定 |
結果の取得
リクエスト送信後、最終的な動画 URL を取得する方法は 2 つあります。
- ポーリング —
GET /v1/tasks/{id}を 5 秒ごとに呼び出します。非同期タスク を参照。 - Webhook — リクエストに
callback_urlを渡します。タスク完了時にシステムが結果を POST します。Webhook を参照。
生成された動画 URL は 24 時間 有効です。早めに自前のストレージへダウンロードしてください。
FAQ
text-to-video に image_urls を渡すとなぜエラーになるのですか?
text-to-video はメディア入力を一切受け付けません。参照画像がある場合は代わりに image-to-video を使用してください。
正確なピクセル解像度を指定できますか?
いいえ。quality は 480p と 720p のティアのみ公開しています。実際のピクセル寸法は aspect_ratio と quality の組み合わせに依存します。
セリフを自然に聞こえさせるには? 発話を半角ダブルクォートで囲んでください。モデルは自動的にこれをセリフと検出し、環境ナレーションとしてではなく専用の音声合成を実行します。
関連
- モデル概要 — 6 モデルの完全マトリクス
- Image-to-Video API — 参照画像がある場合
- Reference-to-Video API — マルチモーダル合成
- Fast モデル —
seedance-2.0-fast-text-to-video - 非同期タスク / Webhook