動画

動画生成

Seedance, Kling, Omni, Wan, Grok, Veo, Vidu, PixVerseとMiniMaxを使い、プロンプト、最初のフレーム(最後のフレームも指定可能)、または参照画像, 動画と音声から動画を作成できます。生成には数分かかるため、開始後に進行状況を確認してください。

POST/v1/videos
モデルID秒あたりの料金最低料金音声長さ
Seedance 2.5seedance-2.5480p $0.135 · 720p $0.305 · 1080p $0.75プロンプト、最初と最後のフレーム、または最大9枚の参照画像デフォルトでオン、追加料金なし4~30 s
Seedance 2.0seedance-2.0480p $0.097 · 720p $0.199 · 1080p $0.445 · 4K $0.99プロンプト、最初と最後のフレーム、または最大9枚の参照画像デフォルトでオン、追加料金なし4~15 s
Seedance 2.0 Fastseedance-2.0-fast480p $0.074 · 720p $0.159プロンプト、最初と最後のフレーム、または最大9枚の参照画像デフォルトでオン、追加料金なし4~15 s
Kling 4.0kling-4.0720p $0.15 · 1080p $0.225プロンプト、最初と最後のフレーム、または最大10枚の参照画像常にオン3~30 s
Seedance 2.0 Miniseedance-2.0-mini480p $0.047 · 720p $0.10プロンプト、最初と最後のフレーム、または最大9枚の参照画像デフォルトでオン、追加料金なし4~15 s
Gemini Omni Flashgemini-omni-flash360p $0.042 · 720p $0.042 · 1080p $0.042 · 4K $0.07プロンプト、最初と最後のフレーム、または最大10枚の参照画像常にオン4~10 s
Kling 3.0kling-3.0720p $0.185 (silent $0.125) · 1080p $0.235 (silent $0.18)プロンプトまたは最初と最後のフレームデフォルトでオン。音声なしなら低価格3~15 s
Wan 3.0wan-3.0480p $0.039 · 720p $0.079 · 1080p $0.158プロンプト、最初と最後のフレーム、または最大10枚の参照画像デフォルトでオン、追加料金なし2~30 s
Grok Imagine Video 1.5grok-imagine-video-1.5480p $0.071 · 720p $0.124プロンプト、最初のフレーム、または最大3枚の参照画像デフォルトでオン、追加料金なし1~15 s
Veo 3.1 Fastveo-3.1-fast720p $0.20 per 8 sのクリッププロンプトまたは最初のフレーム常にオン8 s
Vidu Q3 Turbovidu-q3-turbo540p $0.03 · 720p $0.047 · 1080p $0.057プロンプトまたは最初と最後のフレームデフォルトでオン、追加料金なし1~16 s
PixVerse V6pixverse-v6360p $0.027 (silent $0.019) · 540p $0.035 (silent $0.027) · 720p $0.047 (silent $0.035) · 1080p $0.09 (silent $0.07)プロンプトまたは最初と最後のフレームデフォルトでオン。音声なしなら低価格1~15 s
MiniMax H3minimax-h3768p $0.039 · 2K $0.064プロンプトと最大9枚の参照画像, 3 videos and 3 audio clips常にオン4~15 s

開始、確認、ダウンロード

import os, time, requests
API = "https://api.zurelay.com/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['ZURELAY_API_KEY']}"}
# 1. Start the video
response = requests.post(f"{API}/videos", headers=HEADERS, json={
"model": "seedance-2.0",
"prompt": "A paper boat drifting down a rain-soaked street at night, neon reflections, slow dolly shot",
"seconds": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
})
response.raise_for_status() # a 4xx says what to fix
job = response.json()
# 2. Poll until it's done (usually 2 to 6 minutes)
while job["status"] in ("queued", "in_progress"):
time.sleep(10)
job = requests.get(f"{API}/videos/{job['id']}", headers=HEADERS).json()
if job["status"] == "failed":
raise SystemExit(job["error"]["message"])
# 3. Download the MP4
video = requests.get(f"{API}/videos/{job['id']}/content", headers=HEADERS)
open("boat.mp4", "wb").write(video.content)

動画モデルはすべて同じ方法で使えます。modelを変えるだけで、リクエストはそのままです。各モデルの得意分野は、モデルガイドをご覧ください:Seedance、Kling、Wan、Grok Imagine、Omni Flash、MiniMax H3、Veo、Vidu、PixVerse。

繰り返し確認したくない場合は、callback_urlを追加してください。動画が完成するとすぐに、署名付きでサーバーにPOSTされます。コールバックをご覧ください。

パラメータ

modelstring必須
動画モデルのID。
promptstring
動画の内容を最大8,000文字 (Klingは最大2,500, Vidu reads up to 2,000, PixVerse reads up to 2,048, MiniMax reads up to 7,000)を読み取りますで指定します。最初のフレームまたは参照画像を指定しない場合は必須です。
negative_promptstring
動画に含めたくない内容を最大2,500文字で指定します。Kling and PixVerseは読み取りますが、ほかのモデルでは受け付けません。
secondsinteger
動画の長さを、モデルの対応範囲内の整数秒で指定します(表を参照)。デフォルトは5、またはモデルが生成できる最も近い長さです。
resolutionstring
480p、720p、1080p、2k、4kなどを指定します。各モデルの対応解像度は表をご覧ください。デフォルトは720p、またはモデルの最低解像度です。
aspect_ratiostring
16:9、9:16、1:1、4:3、3:4、21:9、adaptiveのいずれかを指定します(最初のフレームを指定した場合は、その縦横比がデフォルトです)。指定しない場合のデフォルトは16:9です。 Kling makes 16:9, 9:16, 1:1と21:9; Omni and Veo make 16:9 and 9:16; Kling makes 16:9, 9:16 and 1:1; Grok, Vidu and PixVerse make 16:9, 9:16, 1:1, 4:3 and 3:4.
sizestring
解像度と縦横比の代わりに、1280x720のようなピクセル数で指定します。
generate_audioboolean
動画とともに生成する音や音声です。デフォルトはtrueです。(audioも使えます。) Kling and PixVerse costは音声なしなら料金が安くなります。
seedinteger
同じシードと設定を使うと、似た結果が得られます。 Kling, Grok and Veo have no seed and ignore it.
first_framestring
動画の開始フレームに使う画像です。リンクまたはデータURLで指定します。 MiniMax takes none: give the image in reference_images.
last_framestring
動画の終了フレームに使う画像です。最初のフレームも必要です。 Seedance, Kling, Omni, Wan, Vidu and PixVerse take one.
reference_imagesarray
キャラクター、製品、場所、スタイルの参照画像を指定します:Seedance up to 9, Kling up to 10, Omni up to 10, Wan up to 10, Grok up to 3, MiniMax up to 9; Veo, Vidu and PixVerse take none。フレームとの併用はできません。
reference_videosarray
見た目、動き、カメラワークの参考にする動画、または編集・延長する動画を指定します。MP4またはMOVをリンクかデータURLで渡し、プロンプト内で@Video1、@Video2などとして参照します。対応するのはSeedance 2.5, Seedance 2.0, Gemini Omni FlashとMiniMax H3のみです。参照動画の秒数には1秒分の料金の一部が課金されますが、モデルによっては無料です。参照動画と音声をご覧ください。
reference_audioarray
使用する音声、音楽、効果音: MP3 または WAV のリンクかデータ URL を指定し、@Audio1 などで参照します。Seedance 2.5, Seedance 2.0とMiniMax H3 のみ、追加料金はかかりません。
reference_modestring
参照動画を使う場合: edit または extend を指定するか、参照動画から新しい動画を作成します(reference)。デフォルトの auto では、モデルがプロンプトに従って判断します。Seedance 2.5 のみ。
callback_urlstring
ポーリングの代わりに、完成した動画(または失敗した結果)の通知先として指定する https URL です。コールバックをご覧ください。

画像から動画を作成

最初と最後のフレーム

静止画を動かす場合、動画は first_frame の画像から始まります。last_frame も追加するとその画像で終わるため、ショットの始点と終点を指定できます。 代わりに参照画像からMiniMax starts。

リクエスト本文
{
"model": "seedance-2.0",
"first_frame": "https://example.com/storefront-day.jpg",
"last_frame": "https://example.com/storefront-night.jpg",
"prompt": "Time passes from afternoon to night; lights come on inside the shop.",
"seconds": 6,
"resolution": "720p"
}

参照画像

最大 10 枚の画像(Seedance up to 9, Kling up to 10, Omni up to 10, Wan up to 10, Grok up to 3, MiniMax up to 9; Veo, ViduとPixVerse take none)を指定し、プロンプト内で順番に(@Image1、@Image2…)参照します。画像内の人物、商品、場所が動画に登場します。

リクエスト本文
{
"model": "seedance-2.5",
"reference_images": [
"https://example.com/chef.jpg",
"https://example.com/kitchen.jpg",
"https://example.com/dish.jpg"
],
"prompt": "The chef from @Image1 plates the dish from @Image3 in the kitchen from @Image2, close-up, warm light.",
"seconds": 8,
"resolution": "720p",
"aspect_ratio": "9:16"
}

参照動画と音声

人物の外見や動き、カメラワーク、シーンには参照動画を、声、曲、効果音には参照音声を指定します。画像と同様に、プロンプト内で順番に @Video1、@Audio1 として参照します。参照画像とは併用できますが、最初のフレームとは併用できません。

リクエスト本文
{
"model": "seedance-2.5",
"reference_images": ["https://example.com/singer.jpg"],
"reference_videos": ["https://example.com/dance-moves.mp4"],
"reference_audio": ["https://example.com/chorus.mp3"],
"prompt": "The singer from @Image1 performs the dance from @Video1 on a rooftop at dusk, singing to @Audio1.",
"seconds": 8,
"resolution": "720p"
}
モデル参照動画参照音声参照動画の 1 秒あたり
Seedance 2.5最大 10, 30 s in all最大 10, 30 s in all480p $0.081, 720p $0.183
Seedance 2.0最大 3, 15 s in all最大 3, 15 s in all, with an image or video480p $0.0582, 720p $0.1194
Gemini Omni Flash最大 3, 10 s eachなし無料
MiniMax H3最大 3, 15 s each最大 3, 15 s in all無料

モデルは参照動画の全秒数を読み取るため、その秒数にも 1 秒あたりの料金の一部がかかります。10 s の参照動画を使った 5 s の動画なら、動画の 5 秒分に加えて参照動画の 10 秒分が請求されます。参照音声に追加料金はかかりません。請求対象の参照動画の秒数は、各動画オブジェクトに表示されます(reference_seconds)。

動画の編集と延長

参照動画を編集する(人物や物を入れ替える、何かを追加・削除する、音楽を変える)には reference_mode を edit に、前後に延長するには extend に設定します。プロンプトには「@Video1 の車を @Image1 の車に置き換える」「ダンサーがステージを去る場面から @Video1 を続ける」のように指示します。

  • 編集では元の動画の縦横比と長さが維持されるため、aspect_ratio と seconds は省略します。料金は最も長い参照動画の長さに基づきます。参照動画の長さは 4~30 秒にしてください。
  • 延長では元の動画の縦横比が維持されます。seconds で新しい動画の長さを指定します。
  • reference_mode を指定しない場合、モデルがプロンプトから判断します。seconds または aspect_ratio を指定していても、プロンプトが編集指示と解釈されると失敗する場合があります(失敗した動画は無料です)。

画像の要件

  • PNG、JPEG、WebP に対応しています。公開 https リンクまたはデータ URL で指定し、上限は 10 MB です。
  • 各辺は 300~6000 ピクセル、縦横比は 5:2 以内にしてください。条件を満たさないデータ URL は、理由を示すメッセージとともにリクエスト時に拒否されます。リンク先は動画の生成開始時に読み込まれます。有効な画像でなければ invalid_image で動画が失敗し、料金はかかりません。
  • フレームと参照画像は、同じリクエストでは併用できません。
  • リクエストは JSON 形式です。画像は multipart アップロードではなく、リンクかデータ URL で指定します。

動画オブジェクト

GET /v1/videos/video_abc123
{
"id": "video_abc123",
"object": "video",
"model": "seedance-2.0",
"status": "completed",
"progress": 100,
"created_at": 1790870400,
"completed_at": 1790870562,
"expires_at": 1793462400,
"seconds": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"size": "1280x720",
"generate_audio": true,
"url": "https://...signed link...",
"url_expires_at": 1790956962,
"cost": 1.035,
"error": null
}
フィールド意味
statusqueued、in_progress、completed または failed。
progressモデルの通常の所要時間に基づく、0~100 の推定値です。
url完成後の MP4 です。リンクの有効期間は 24 時間です。新しいリンクが必要な場合は、ジョブを再取得してください。
expires_at動画の削除日時です。作成から 30 日後、または Library で削除された場合はそれより早く削除されます。
cost完成後に確定する料金です。
reference_seconds参照動画を指定した場合、その秒数を料金に含めます。
error動画の生成に失敗した場合: code(content_policy、invalid_image、モデルがリクエストに対応できない場合はinvalid_request、generation_failed、または90分後のgeneration_timeout)とメッセージが返されます。

その他のエンドポイント

エンドポイント返される内容
GET /v1/videos/{id}上記の動画1件。
GET /v1/videos/{id}/contentMP4ファイル本体。
GET /v1/videos?limit=20&after=video_abcワークスペース内の動画を新しい順に返します。ページ送りにはfirst_idとlast_idを使います。

動画の料金

動画の料金は、解像度ごとの秒単価に動画の長さを掛けた金額です; 音声なしの場合は1秒あたりKlingとPixVerse cost安くなります; 参照動画の秒数には、その単価の一部が加算されます。生成を開始すると料金が残高から確保され、完成時に請求されます。失敗した場合は確保分が戻され、料金はかかりません。

まず最低解像度・短い長さで下書きを作り、プロンプトが決まったら高解像度で完成版を作成しましょう。待ち時間の大半はキューでの待機なので、下書きも大幅には速くなりませんが、費用はずっと抑えられます。

ご質問や不足している情報はありますか? サポートチームにお問い合わせください。通常1分以内にメールで回答します。