ガイド · 画像から動画

Seedance 2.5 画像から動画:APIガイド

Seedance 2.5は静止画を音声付きの4〜30秒のクリップに変えます。最初のフレームを渡すと、動画はその画像そのものから始まります。最初と最後のフレームを渡すと、一方からもう一方へ動きます。それぞれのリクエストと、実行できるコードを紹介します。

画像から始める2つの方法

Seedance 2.5 画像から動画のモード
モードフィールド提供内容
最初のフレームimage_urlクリップはあなたの画像から始まり、プロンプトどおりに動いていきます。
最初と最後のフレームimage_url + end_image_urlクリップは一方の画像で始まり、もう一方の画像で終わります。同じ画像を2回使うとループになります。
参照画像image_urls (最大30)画像は見た目(顔、商品、場所)を導きますが、最初のフレームは固定しません。参照から動画をご覧ください。

1枚の画像を動かす(最初のフレーム)

aspect_ratioをadaptiveにすると、動画は画像の形を保つので、9:16の写真からは9:16のクリップができます。画像にすでに写っているものではなく、何が動くかを書きましょう。モデルには画像が見えています。

cURL
# One Idempotency-Key per job, made once: resend with the same $KEY after a timeout, a 429 or a 5xx
KEY=$(uuidgen)
curl https://api.revana.si/v1/generations \
  -H "Authorization: Bearer $REVANA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $KEY" \
  -d '{
  "model": "seedance-2.5",
  "input": {
    "prompt": "The model turns her head toward the camera and smiles as the wind lifts her hair, slow push-in, city traffic in the background",
    "image_url": "https://example.com/portrait.jpg",
    "duration": 6,
    "resolution": "720p",
    "aspect_ratio": "adaptive",
    "audio": true
  },
  "max_cost_usd": 3
}'

ある画像から別の画像へ(最初と最後のフレーム)

end_image_urlを追加します。変化の表現(ビフォーアフター、昼から夜、空室から家具付きの部屋)やシームレスなループに向いています。

cURL
# One Idempotency-Key per job, made once: resend with the same $KEY after a timeout, a 429 or a 5xx
KEY=$(uuidgen)
curl https://api.revana.si/v1/generations \
  -H "Authorization: Bearer $REVANA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $KEY" \
  -d '{
  "model": "seedance-2.5",
  "input": {
    "prompt": "Time-lapse: the empty plot becomes a finished house, workers moving fast, clouds racing",
    "image_url": "https://example.com/plot.jpg",
    "end_image_url": "https://example.com/house.jpg",
    "duration": 8,
    "resolution": "720p",
    "aspect_ratio": "adaptive"
  },
  "max_cost_usd": 3
}'

パソコン上のファイルから、Pythonで

参照はhttpsリンクである必要があります。ローカルファイルの場合、POST /v1/uploadsがバイトをPUTするためのリンクと、image_urlとして渡すurl(14日間有効)を返します。画像は最大30 MBです。

Python
import os, time, uuid, requests

API = "https://api.revana.si/v1"
H = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}

# 1. Upload the picture from your computer (skip this if it already has a public https link).
up = requests.post(f"{API}/uploads", headers=H, json={"content_type": "image/jpeg", "bytes": os.path.getsize("product.jpg"), "filename": "product.jpg"}).json()
with open("product.jpg", "rb") as fh:
    requests.put(up["upload_url"], data=fh, headers=up["upload_headers"]).raise_for_status()

# 2. Quote, then animate it. The clip starts on exactly this picture.
body = {"model": "seedance-2.5", "input": {
    "prompt": "The bottle slowly turns on the marble counter as morning light sweeps across the label, water droplets glisten",
    "image_url": up["url"], "duration": 5, "resolution": "720p", "aspect_ratio": "adaptive", "audio": True}}
quote = requests.post(f"{API}/generations/quote", headers=H, json=body).json()
print("price", quote["quoted_usd"])
key = str(uuid.uuid4())  # made once: resend with the same key after a timeout, a 429 or a 5xx
job = requests.post(f"{API}/generations", headers={**H, "Idempotency-Key": key},
                    json={**body, "max_cost_usd": quote["reserved_usd"]}).json()

# 3. Wait, then download.
while job["status"] in ("queued", "running"):
    time.sleep(5)
    job = requests.get(f"{API}/generations/{job['id']}", headers=H).json()
if job["status"] == "succeeded":
    open("product.mp4", "wb").write(requests.get(f"{API}/generations/{job['id']}/content", headers=H).content)

画像から動画の料金

テキストから動画と同じ秒単価です:480p $0.09 · 720p $0.21 · 1080p $0.52、音声込み。最初のフレームを使うと表示単価より少し上がることがあるので、見積もりエンドポイント(無料)で各リクエストの正確な価格を確認し、そのreserved_usdをmax_cost_usdとして渡してください。失敗した生成は課金されません。料金計算ツール。

画像から動画で効くプロンプト

  • 何が変わるかを書く。写真にすでに写っている女性の描写より、「彼女は振り返ってフレームの外へ歩いていく」のほうが効きます。
  • カメラの動きは1つ。ゆっくりしたプッシュイン、回り込み、左へのパン、または固定。短いクリップで2つの動きを同時に使うと、ぶつかりがちです。
  • 光を保つ。画像にある光(「暖かい窓の光」)に触れておくと、クリップが別の雰囲気に流れません。
  • 音を加える。Seedance 2.5は映像と一緒に音を作ります:「砂利を踏む足音、遠くの電車」。
  • きれいでシャープな画像を使う。形は出力に近いものを。画像内の文字やロゴは動くと崩れることがあるので、編集ソフトで追加しましょう。

その他の例はSeedance 2.5 プロンプトガイドにあります。

同じキーで使える他の画像から動画モデル

画像から動画モデルの比較
モデル長さ解像度最初と最後のフレーム720p・音声付きの1秒あたり
Seedance 2.54–30 s480p, 720p, 1080pはい$0.21
Seedance 2.04–15 s480p, 720p, 1080p, 4Kはい$0.15
Kling 4.03–30 s720p, 1080pはい$0.18
Kling 3.03–15 s720p, 1080p, 4Kはい$0.13
Veo 3.14, 6, 8 s720p, 1080p, 4Kはい$0.40
Wan 3.02–30 s480p, 720p, 1080pはい$0.07
MiniMax H34–15 s768p, 2Kはい$0.03 (768p)

FAQ

Seedance 2.5は画像から動画に対応していますか?

はい。最初のフレームにはimage_urlを、最初と最後のフレームにはimage_urlとend_image_urlを、テキストから動画と同じPOST /v1/generationsリクエストで送ります。クリップは音声付きで4〜30秒です。

Seedance 2.5の画像から動画はいくらですか?

Revanaでは音声付きで1秒あたり480p $0.09 · 720p $0.21 · 1080p $0.52。最初のフレームを使うと少し上がることがあります。無料の見積もりエンドポイントで正確な価格がわかります。

どの画像形式・サイズに対応していますか?

JPEG、PNG、WebP画像への公開httpsリンク、またはPOST /v1/uploadsでアップロードしたファイル(画像は最大30 MB)。

動画は画像のアスペクト比を保ちますか?

はい。aspect_ratioをadaptiveにすると、クリップは最初のフレームの形になります。

シームレスなループは作れますか?

はい。同じ画像をimage_urlとend_image_urlの両方に渡し、最初の状態に戻る動きを書きます。

最初のSeedance 2.5動画を作ろう

1つのAPIキーでSeedance 2.5とそのほかすべての動画・画像モデルを利用できます。プリペイドクレジットは$10から、無料のサインアップクレジット付き、サブスクリプション不要で、納品されたクリップのみ課金されます。