メインコンテンツへスキップ
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.evolink.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "wan2.7-image-to-video",
  "generation_mode": "first_frame",
  "prompt": "ピアノを弾く猫",
  "image_start": "https://example.com/first_frame.jpg"
}
'
{
  "created": 1757169743,
  "id": "task-unified-1757169743-7cvnl5zw",
  "model": "wan2.7-image-to-video",
  "progress": 0,
  "status": "pending",
  "task_info": {
    "can_cancel": true,
    "estimated_time": 120
  },
  "type": "video",
  "usage": {
    "billing_rule": "per_call",
    "credits_reserved": 5,
    "user_group": "default"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.evolink.ai/llms.txt

Use this file to discover all available pages before exploring further.

承認

Authorization
string
header
必須

すべての API は Bearer Token 認証が必要です

API Key の取得:

API Key 管理ページ で API Key を取得してください

リクエストヘッダーに追加:

Authorization: Bearer YOUR_API_KEY

ボディ

application/json
model
enum<string>
必須

モデル名、wan2.7-image-to-video 固定

利用可能なオプション:
wan2.7-image-to-video
:

"wan2.7-image-to-video"

generation_mode
enum<string>

素材の組み合わせの妥当性を決定する生成モード。明示的な指定を推奨

値:

  • first_frame: 先頭フレーム→動画。必須: image_start。任意: audio_urls。不可: image_endvideo_urls
  • first_last_frame: 先頭/末尾フレーム→動画。必須: image_start + image_end。任意: audio_urls。不可: video_urls
  • video_continuation: 動画継続。必須: video_urls[0]。任意: image_end(末尾フレームとして)。不可: image_startaudio_urls

後方互換動作: generation_mode を省略した場合、リクエスト内の素材から適切なモードが自動選択されます。曖昧さを避けるため明示指定を推奨

利用可能なオプション:
first_frame,
first_last_frame,
video_continuation
:

"first_frame"

prompt
string

動画生成用のテキストプロンプト。中国語と英語をサポート、各文字/アルファベットを 1 文字としてカウントし、超過分は自動的に切り詰められます。最大 5000 文字

Maximum string length: 5000
:

"ピアノを弾く猫"

negative_prompt
string

動画に表示したくない内容を記述するネガティブプロンプト。中国語と英語をサポート、最大 500 文字、超過分は自動的に切り詰められます

Maximum string length: 500
:

"ぼやけ、低品質"

image_start
string<uri>

先頭フレーム画像 URL

モード制約:

  • first_frame モード: 必須
  • first_last_frame モード: 必須
  • video_continuation モード: 送信不可

画像制限:

  • フォーマット: JPEG、JPG、PNG(透明非対応)、BMP、WEBP
  • 解像度: 幅・高さが [240, 8000] ピクセル
  • アスペクト比: 1:8 ~ 8:1
  • ファイルサイズ: 20MB 以下
:

"https://example.com/first_frame.jpg"

image_end
string<uri>

末尾フレーム画像 URL

モード制約:

  • first_last_frame モード: 必須
  • video_continuation モード: 任意(継続の末尾フレームとして使用)
  • first_frame モード: 送信不可(先頭/末尾の両方が必要な場合は first_last_frame を使用)

画像制限:

  • フォーマット: JPEG、JPG、PNG(透明非対応)、BMP、WEBP
  • 解像度: 幅・高さが [240, 8000] ピクセル
  • アスペクト比: 1:8 ~ 8:1
  • ファイルサイズ: 20MB 以下
:

"https://example.com/last_frame.jpg"

video_urls
string<uri>[]

動画継続 URL のリスト。1 要素のみサポート

モード制約:

  • video_continuation モード: 必須
  • first_frame / first_last_frame モード: 送信不可
  • audio_urls と併用不可

動画制限:

  • フォーマット: mp4、mov
  • 長さ: 2 ~ 10 秒(入力クリップ自体の長さ)
  • 解像度: 幅・高さが [240, 4096] ピクセル
  • アスペクト比: 1:8 ~ 8:1
  • ファイルサイズ: 100MB 以下

継続時間ルール:

  • duration最終出力動画の総時間 を表します(入力クリップ + モデル生成の継続部分)
  • モデル生成部分の長さ = duration − 入力動画の長さ
  • duration は入力動画の長さ以上である必要があります
  • 課金は最終出力動画の総時間(つまり duration)に基づきます

例:

入力クリップの長さduration生成された継続最終出力課金時間
3秒1512秒15秒15秒
5秒105秒10秒10秒
8秒80秒(入力のみ)8秒8秒
:
["https://example.com/clip.mp4"]
audio_urls
string<uri>[]

駆動音声 URL のリスト。現在は 1 要素のみサポート。モデルはこの音声を駆動ソースとして動画生成(口パク同期、モーション同期など)に使用します

モード制約:

  • first_frame モード: 任意
  • first_last_frame モード: 任意
  • video_continuation モード: 送信不可video_urls と併用不可)

フォーマット要件:

  • 対応フォーマット: wavmp3
  • 長さ: 2 ~ 30
  • ファイルサイズ: 15MB 以下

切り詰め処理:

  • 音声長が duration を超える場合、先頭 N 秒を使用し残りを破棄
  • 音声長が動画長より短い場合、超過部分は無音となります。例: 音声 3 秒、動画 5 秒の場合、最初の 3 秒は有音、後の 2 秒は無音
Required array length: 1 element
:
["https://example.com/audio.mp3"]
quality
enum<string>
デフォルト:720p

動画品質、デフォルト 720p

オプション:

  • 720p: 標準画質、標準価格(デフォルト)
  • 1080p: 高画質、価格が高くなります
利用可能なオプション:
720p,
1080p
:

"720p"

duration
number
デフォルト:5

動画長(秒、整数)。範囲 2 ~ 15、デフォルト 5

意味:

  • first_frame / first_last_frame モード: 生成動画の総時間
  • video_continuation モード: 最終出力動画の総時間(= 入力クリップ + モデル生成の継続部分)

video_continuation モードでの追加制約:

  • duration入力動画の長さ以上 である必要があります(そうでない場合エラー)
  • モデル生成部分の長さ = duration − 入力動画の長さ
  • duration が入力動画の長さと等しい場合、継続は生成されず入力クリップがそのまま出力されます
  • 詳細は video_urls フィールドの継続時間ルールと例を参照

課金: 実際に生成された動画の長さに基づきます

必須範囲: 2 <= x <= 15
:

5

seed
integer

ランダムシード、デフォルトはランダム

説明:

  • 範囲: 1 ~ 2147483647
  • シードを固定するとプロンプト調整時の変動を抑制し再現性が向上します
必須範囲: 1 <= x <= 2147483647
:

42

prompt_extend
boolean
デフォルト:false

プロンプトのインテリジェント書き換えを有効にするかどうか。有効にすると、大規模モデルがプロンプトを最適化し、シンプルまたは記述の不十分なプロンプトの結果を大幅に改善します。

注意: デフォルト値は false です。フィールドを省略するか false を送信した場合、書き換えは行われません。有効にするには明示的に true を送信してください。

:

false

callback_url
string<uri>

タスク完了時の HTTPS コールバック URL

コールバックタイミング:

  • タスクの完了 (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"

レスポンス

動画タスクの作成に成功しました

created
integer

タスク作成タイムスタンプ

:

1757169743

id
string

タスク ID

:

"task-unified-1757169743-7cvnl5zw"

model
string

実際に使用したモデル名

:

"wan2.7-image-to-video"

object
enum<string>

タスクの具体的な種類

利用可能なオプション:
video.generation.task
progress
integer

タスク進捗率 (0-100)

必須範囲: 0 <= x <= 100
:

0

status
enum<string>

タスクステータス

利用可能なオプション:
pending,
processing,
completed,
failed
:

"pending"

task_info
object

動画タスクの詳細情報

type
enum<string>

タスクの出力タイプ

利用可能なオプション:
text,
image,
audio,
video
:

"video"

usage
object

使用量と課金情報