curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.0-mini-image-to-video",
"prompt": "The camera slowly zooms in, the scene gradually comes to life",
"image_urls": [
"https://example.com/first-frame.jpg"
],
"duration": 5,
"aspect_ratio": "adaptive"
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.0-mini-image-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: seedance-2.0-mini-image-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}Seedance 2.0 Mini Image-to-Video 画像から動画
- 画像1枚入力で先頭フレーム動画を生成、画像2枚入力で先頭・末尾フレーム動画を生成(モデルが自動判断)
- AIGCタイプの実写素材に対応
- 非同期処理モード。返却されたタスクIDで照会してください
- 生成された動画リンクの有効期限は24時間です。お早めに保存してください
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.0-mini-image-to-video",
"prompt": "The camera slowly zooms in, the scene gradually comes to life",
"image_urls": [
"https://example.com/first-frame.jpg"
],
"duration": 5,
"aspect_ratio": "adaptive"
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.0-mini-image-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: seedance-2.0-mini-image-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}承認
##すべてのAPIはBearer Tokenによる認証が必要です##
APIキーの取得:
APIキー管理ページ にアクセスしてAPIキーを取得してください
リクエストヘッダーに以下を追加:
Authorization: Bearer YOUR_API_KEY
ボディ
動画生成モデル名
seedance-2.0-mini-image-to-video "seedance-2.0-mini-image-to-video"
生成したい動画を説明するテキストプロンプト。中国語・英語に対応。中国語は500文字以内、英語は1000ワード以内を推奨。プロンプトの最大長:10000 tokens
注意:
- このモデルは
video_urls、audio_urlsの入力には対応していません
"The camera slowly zooms in, the scene gradually comes to life"
画像 URL 配列、1〜2 枚
画像枚数と動作:
| 画像枚数 | 動作 | 役割 |
|---|---|---|
| 1 枚 | 先頭フレーム画像から動画 | 自動的に first_frame に設定 |
| 2 枚 | 先頭・末尾フレーム画像から動画 | 1枚目 → first_frame、2枚目 → last_frame |
画像要件:
- 対応フォーマット:
.jpeg、.png、.webp - アスペクト比(幅/高さ):
0.4〜2.5 - 幅・高さピクセル:
300〜6000px - 1枚あたりのサイズ:
30MB以内 - リクエストボディの合計サイズは
64MB以内 - 先頭・末尾フレームを入力する場合、2枚の画像は同一でも可。アスペクト比が異なる場合は先頭フレームを基準とし、末尾フレームは自動トリミングで適応
- 画像URLはサーバーから直接アクセス可能である必要があります
1 - 2 elements["https://example.com/first-frame.jpg"]
動画の再生時間(秒)、デフォルトは 5 秒
説明:
4〜15秒の任意の整数値に対応- 再生時間は課金に直接影響します
4 <= x <= 155
動画の解像度、デフォルトは 720p
選択可能な値:
480p:解像度が低め、料金も低め720p:標準解像度、デフォルト値1080p:超高解像度、まもなく公開
480p, 720p "720p"
動画のアスペクト比、デフォルトは adaptive
選択可能な値:
16:9(横向き)、9:16(縦向き)、1:1(正方形)、4:3、3:4、21:9(ウルトラワイド)adaptive:先頭フレーム画像の比率に基づいて最も近いアスペクト比を自動選択
各解像度の対応ピクセル値:
| アスペクト比 | 480p | 720p |
|---|---|---|
| 16:9 | 864×496 | 1280×720 |
| 4:3 | 752×560 | 1112×834 |
| 1:1 | 640×640 | 960×960 |
| 3:4 | 560×752 | 834×1112 |
| 9:16 | 496×864 | 720×1280 |
| 21:9 | 992×432 | 1470×630 |
16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive "adaptive"
同期音声を生成するかどうか、デフォルトは true
選択可能な値:
true:動画に同期音声を含む、追加料金なしfalse:無音動画を出力
true
コンテンツフィルター、デフォルトは true
選択可能な値:
true:標準のコンテンツ安全チェック、これがデフォルトですfalse:コンテンツ制限を緩和し、料金が +10%(1.1x)加算されます。違法および禁止されたコンテンツはこの設定に関係なく常に適用されます
ウェブ検索と併用不可:
content_filter: falseとmodel_params.web_search: trueは同時に使用できません。両方を指定すると 400 パラメータエラーが返されます- ウェブ検索が必要な場合は
content_filter: true(デフォルト)のままにしてください
true
タスク完了後の HTTPS コールバックアドレス
コールバックタイミング:
- タスク完了(completed)、失敗(failed)、またはキャンセル(cancelled)時にトリガー
- 課金確認完了後に送信
セキュリティ制限:
- HTTPS プロトコルのみ対応
- プライベートIPアドレスへのコールバックは禁止(127.0.0.1、10.x.x.x、172.16-31.x.x、192.168.x.x など)
- URL の長さは
2048文字以内
コールバックメカニズム:
- タイムアウト:
10秒 - 失敗後最大
3回リトライ(失敗後1/2/4秒でそれぞれリトライ) - コールバックレスポンスボディのフォーマットはタスク照会APIの返却フォーマットと同一
- 2xx ステータスコードを成功とみなし、その他のステータスコードでリトライをトリガー
"https://your-domain.com/webhooks/video-task-completed"
レスポンス
動画生成タスクの作成に成功
タスク作成タイムスタンプ
1761313744
タスクID
"task-unified-1774857405-abc123"
実際に使用されたモデル名
"seedance-2.0-mini-image-to-video"
タスクの具体的なタイプ
video.generation.task タスク進捗パーセンテージ (0-100)
0 <= x <= 1000
タスクステータス
pending, processing, completed, failed "pending"
動画タスクの詳細情報
Show child attributes
Show child attributes
タスクの出力タイプ
text, image, audio, video "video"
使用量と課金情報
Show child attributes
Show child attributes