本文へスキップ

Seedance 2.0 プロンプトガイド:テキスト・最初のフレーム・レファレンス

テキスト生成・最初のフレーム生成・レファレンス生成から選び、それぞれにショットのブリーフを書いて、動き・人物・音声・コストを診断します。

執筆
Lydia
公開
読了時間
約 19 分
更新
映像作家が場面の構図を決める中、アップライトピアノを弾く女性の手とペダルが見える

SpicyAPI(spicyapi.ai)にある Seedance 2.0 には動画生成のタスクが 3 つあり、それぞれに必要なプロンプトが異なります。テキストから動画ではプロンプトがショット全体を担います。画像から動画では冒頭フレームが見た目を決めるため、プロンプトは「次に何が起きるか」だけを書きます。参照から動画では画像・クリップ・音声を渡して、プロンプトが各ファイルの役割を説明します。タスクに合わない種類のプロンプトを書くと、形容詞をどれだけ重ねてもクリップは救われません。

以下の価格と上限は公開のモデルページ(2026 年 10 月時点)からのものです。3 つとも 4〜15 秒の音声付き動画を 480p から 4K までで返します。

固定すべき要素でタスクを選ぶ

すでにお持ちのものタスクプロンプトの役割価格は
アイデアだけ、画像なしテキストから動画シーンを説明し、次に何が変わるかを書く$0.07/s
厳密な冒頭のフレーム(製品写真、承認済みのスチル)画像から動画フレームの後に起きることだけを書く$0.07/s
別々の素材:顔、場所、カメラワーク、音参照から動画各ファイルがどう貢献するかを説明し、新しくショットを指示する$0.07/s(参照動画ありなら $0.043)

テキストから動画は冒頭の構図をモデルが自由に決めるため、架空のシーンや柔軟に組み立てられる場面に向いています。実製品のラベルや比率が重要な場合、テキスト説明では再現できません。写真から始めてください。参照から動画には冒頭のフレームを制御する仕組みがありません。冒頭のフレームを正確に合わせたい場合は画像から動画を使ってください。画像から動画はフレームの衣装、物の形、ライティングを保ちます。回転や遮蔽の後も保たれる保証はないため、クリップ全体を確認してください。

参照から動画は最大 9 枚の画像、3 本の動画クリップ、3 個の音声ファイルを受け取ります。各クリップと音声ファイルは 2〜15 秒で、種別ごとに合計 15 秒が上限です。画像または動画が 1 つ以上必要で、音声だけの場合は拒否されます。最低限の構成だけを使ってください。余計なファイルを足すと矛盾が生まれます。たとえば 3 種類の照明の下に置かれた 1 つの顔や、参照のフレーミングと衝突するカメラワークです。プロンプトに指示がない限り、モデルはどのファイルが優先されるか判断できません。

タスク選択ボード:書かれたブリーフ、1 枚の冒頭スチル、または順序のある参照画像。それぞれ何を確認すべきかを併記。
イラスト:各入力が何を固定し、クリップで何を確認すべきか。

ショットのブリーフを書く

3 つのタスクで同じ順序が使えます。主役、アクション、カメラ、ライト、サウンド、1 文に 1 つのアイデア。このガイドの残りは 1 つの例に従います。赤い都市型自転車のペダルを回す整備員です。

  • 見えるアクションは 1 つ、カメラ指示も 1 つ。 「整備員はペダルを 1 回回し、その横へ手を置く」はモデルに描画させる対象を与えます。「情緒的、映画的」では与えられません。主役がどう動くか(「シャッターをゆっくり上げる」)を、質感の言葉を重ねる代わりに書いてください。
  • カメラが主役に対してどこにあるかを明示します。 「カメラは腰の高さで固定、中距離」は使える指示です。「固定カメラ」「オービット」「高速ズーム」を 1 ショットで組み合わせないでください。挙動は 1 つ選ぶか、すべて外します。
  • 長さを動きに合わせます。 5 秒あれば、ひと回し、手を伸ばす動作、ちらりと見る動作が収まります。部屋に入って道具を取り、1 文を話すには 10 秒以上、または別々のショットが必要です。duration_seconds は 4〜15 の整数秒、または -1 でモデルに選ばせます。
  • タイムコードではなくショットの順序を使います。 Seedance 2.0 は「Shot 1、Shot 2、Shot 3」を秒単位の範囲より確実に守ります。アクションが消える場合は、イベント数を減らすか、シーケンスにもっと時間を与えてください。
  • スタイルは最後に、簡潔に。 「柔らかな朝の光、ドキュメント的な質感」はショットを支えます。無関係なラベルの山は結果を無個性な仕上げへ押し、アクションを隠します。様式化されたシーンでは冒頭に「Photorealistic live action, not animation」と入れてください。そうしないとイラスト側へ流れることがあります。

10 秒用のマルチショット brief で、カットを明示した例:

text
A mechanic in a dark blue work shirt repairs a red commuter bicycle in a tidy daylight workshop. Naturalistic photography, soft morning light.
Shot 1: Fixed medium shot. The mechanic turns the right pedal once by hand and the rear wheel spins.
Shot 2: Cut to a close side view of the rear wheel slowing while his gloved hand steadies the frame.
Shot 3: Back to the medium shot. He steps back and wipes his hands on a rag.
Sound: ratchet clicks, the spinning wheel, quiet workshop. No music, no captions.

Playground で先に試す

コードを書く前に Playground でブリーフを実行してください。ここで失敗するプロンプトは API から呼んでも失敗します。

  1. テキストから動画のページを開き、Playground タブの Form ビューに留まったままにします。実行するには入金済みのアカウントでログインします。
  2. ブリーフを Prompt に貼り付けます。
  3. Aspect ratio(16:9)、Resolution、Duration を設定します。ドラフトには 480p と 5 秒を選んでください。どちらの項目も「affects price」と表示されており、Generate audio と Web search も同様です(Web search はオフのままにしてください)。
  4. 価格の見積もりを読み、それから実行します。Advanced parameters の Seed は、プロンプトの変更を直前の実行と比較するのに役立ちます。

画像から動画にも同じタブがあり、Input image をアップロードできます(Closing frame は任意)。参照から動画では Reference images、Reference videos、Reference audio の項にファイルを足します。追加した順に image 1、video 1、audio 1 と番号が振られ、Insert reference が対応するラベルをプロンプトへ挿入します。

続いてコードから呼び出す

Python SDK(pip install spicyapi)をインストールし、サーバー環境に SPICY_API_KEY を設定して、次を実行します:

python
import uuid
from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

request = {
    "model": "bytedance/seedance-2.0/text-to-video",
    "input_data": {
        "prompt": "One adult mechanic in a dark blue work shirt stands beside one red commuter bicycle on a repair stand. Medium shot in a tidy daylight workshop. The mechanic turns the right pedal once by hand, watches the rear wheel rotate, then pauses with the hand resting beside the pedal. The camera stays fixed at waist height; the bicycle remains fully visible. Soft morning light from the left. A quiet workshop ambience and one short mechanical click, with no speech. One continuous shot.",
        "duration_seconds": 5,
        "resolution": "720p",
        "aspect_ratio": "16:9",
        "generate_audio": True,
    },
}

quote = client.quote_task(**request)  # free; nothing is reserved
print(quote["estimatedCost"], quote["maxCharge"])

task = client.create_task(
    **request,
    idempotency_key=str(uuid.uuid4()),
    quote_id=quote["quoteId"],
    expected_cost=quote["estimatedCost"],
)
print("Resume task:", task["taskId"], flush=True)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
    raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")
assets = output_assets(final)
if not assets or any(a.get("pending") or a.get("unavailable") or not a.get("url") for a in assets):
    raise RuntimeError(f"Task {task['taskId']} has no ready output; check this task before a new run")
print(assets[0]["url"])  # copy it to your own storage now

ほかの 2 つのタスクは同じ呼び出しで、model と input_data を変えるだけです。画像から動画には image_url(必要なら last_image_url も)、参照から動画には reference_image_urls と、任意の参照動画・音声のリストを渡します。Playground の JSON ビューには、いま対象のタスクの正しいリクエスト本文が表示されます。アップロード、待機、リトライ、エラー、節約できる冪等キーについては、Python SDK リファレンスと非同期タスクガイドにあります。

あるいは Agent に実行させる

アシスタントにクリップを実行させるなら、CLI、MCP サーバー、Skill のいずれかを渡してください。CLI と MCP サーバーは価格を表示し、有料呼び出しの前に確認を求めます。

  • CLI。 同じ input オブジェクトを input.json に置き、次を実行してください(npx @spicyapi/cli はインストールなしで動作します。CLI ドキュメントを参照)。

``bash spicyapi tasks create --model bytedance/seedance-2.0/text-to-video --input-file input.json --wait ``

  • MCP サーバー。 アシスタントに MCP サーバーを追加して、次のように依頼します。「Run Seedance 2.0 text to video with this brief, 5 seconds at 480p.」これは spicyapi_task_create を呼び、価格確認のためにいったん停止し、続いて spicyapi_task_wait を呼びます。
  • Skill。 npx skills add spicyapi-ai/spicy-skill で Agent Skill をインストールすると、コーディングのアシスタントがフィールドを推測ではなく現在のモデルスキーマを読んで動くようになります。

テキストから動画:シーン全体を作る

画像がないときは、まず出演者と重要な物、次に開始時の構図、そして小さな変化を 1 つ書きます。「整備員がペダルを持つ」は状態です。「ペダルを 1 回回す」は動作で、モデルには後者が必要です。自転車が赤で、かつ整備台に置かれ続けなければならないなら、その情報は最後ではなくシーンの説明に入れてください。

text
One adult mechanic in a dark blue work shirt stands beside one red commuter bicycle on a repair stand. Medium shot in a tidy daylight workshop. The mechanic turns the right pedal once by hand, watches the rear wheel rotate, then pauses with the hand resting beside the pedal. The camera stays fixed at waist height; the bicycle remains fully visible. Soft morning light from the left. A quiet workshop ambience and one short mechanical click, with no speech. One continuous shot.

enable_web_search はテキストから動画にだけ存在し、料金を引き上げます(720p は 1 秒あたり $0.152 から $0.246 へ)。ショットがモデルが検索する情報に依存する場合を除いてオフにしてください。事実関係は自分で確認してください。

クリップが狙いを外したら、原因になっているブリーフの 1 箇所だけを変更します:

見えるもの変更する箇所
人が余っている、または 2 台目の自転車数を明示し(「整備員 1 人、自転車 1 台」)、集団表現を外す
動作が最後まで終わらないイベントを 1 つ減らすか、長さを延ばす
「固定」と書いたのにカメラが動くカメラについて直接書いた文を 1 つにし、ほかのカメラ表現を外す
意図しないカット「one continuous shot」と書き、ブリーフから場面変更を外す
依頼していない字幕や音楽「no captions, no music」を加える。リスクは下がるが保証ではない
漫画的やイラスト調「Photorealistic live action, not animation」で始める

画像から動画:フレームに視覚的な仕事をさせる

欲しい動きに合わせてフレームを選んでください。顔のタイトなアップでは、歩く動きのプロンプトに使える要素がありません。後輪のところで切れた構図の自転車では、そのホイールが回る様子を見せられません。送信前にフレームの解剖、物の数、紛れ込んだ文字、ライティングを確認してください。スチルにある欠陥はクリップ全体で残り、ビデオ化しても修復されません。

整備台に置かれた赤い都市型自転車のペダルを持つ整備員のイラスト。ペダルが丸で囲まれている。
冒頭フレームの代わりとなるイラストで、Seedance の出力ではありません。

あとは変化することだけを書きます。整備員の服装や工房をもう一度説明すると、同じ主役について 2 つの競合する説明がモデルに入り、ドリフトを招きます。動く主役、アクション、カメラ、音を明示してください:

text
The mechanic turns the visible pedal once by hand. The rear wheel rotates naturally, then slows while the mechanic watches it. The camera remains fixed at the original medium distance. One continuous shot, quiet workshop ambience.

image_url には公開されて直接ダウンロードできるリンクを渡します(1 辺 300〜6000 px、10 MB 未満。実在して特定可能な人物の写真は拒否されることがあります)。お使いのパソコン上にあるファイルは、先にアップロードして返ってきた spicy:// の URI を渡してください。プロンプトは任意で、渡さなければモデルが自ら動きを選びます。aspect_ratio: "adaptive" を使うと画像そのものの形に従います。

last_image_url はラストフレームを固定します。image_url と組み合わせたときだけ有効なので、同じ被写体、似たアングルと物体の配置をそろえたフレームを送ってください。無関係な 2 つの構図を渡すと、クリップは変換の問題になり、モデルは道筋を自分で考え出さなければならなくなります。

15 秒を超える場合は return_last_frame を true に設定して、返ってきた最終フレームを保存し、次の呼び出しの image_url として渡します。継続用のフィールドは用意されていないので、各セグメントは保存済みのフレームから始まります。

参照から動画:ファイルごとに役割を与える

プロンプトで役割を割り当て、アップロード順に合わせてください。image 1、image 2、video 1、audio 1 の順です。被写体には短い名前を付け、一度定義して使い回します。クリップから何を借り、何を残さないのかをモデルに伝えてください。

text
Define the mechanic in image 1 as the Mechanic. Use image 2 for the workshop and the red bicycle. The Mechanic turns the pedal once while the wheel rotates, then pauses. Medium shot, camera fixed at waist height. One continuous shot. Quiet ambience, no speech.
参照ボードのイラスト。整備員のポートレート、整備台に置かれた赤い自転車、後輪の歯車を調整する整備員。
3 つの参照の役割を示すイラストボードで、Seedance の出力ではありません。

効く点:

  • ファイルごとに仕事は 1 つ。 見た目がずれるときは、顔の参照と服装や全身の参照を分けて、どちらが何を与えるか書いてください。1 人のキャラクターを 2〜3 の角度で写したものは、ほぼ同じフレームを積み重ねたものよりうまく働きます。複数の視点を並べたコラージュは、複数人に見えてしまいます。
  • 生成された顔、または公開済みの顔を使います。 Seedance の入力チェックは、課金前に実在して特定可能な人物の写真を拒否することがあります。画像は 1 辺 300〜6000 px、10 MB 未満である必要があります。
  • スタイルをそろえます。 1 つの参照セットに写真、カートゥーン、アニメを混在させると、結果は平板になりがちです。
  • 参照は編集ではありません。 「video 1 のゆっくりした横移動を借り、人物や場所は借りない」は新しい場面の依頼です。「video 1 を編集して」はその映像を直す依頼になります。1 つのプロンプトで両方を混ぜないでください。
  • 音声ファイルが何を提供するかを書いてください。 声、部屋の音、音楽的な性格のいずれかです。画像か動画が隣に必要で、generate_audio がオフの場合、音声ファイルがあってもサウンドトラックは出力されません。
  • 動画は最後に足します。 まず画像で場面を動くようにしてから、理由を明示して動画を追加します。動画を加えると価格も変わります(後述)。
  • 順番は重要です。 ツールがファイルを並べ替えたら、image 1 は別の画像になります。ファイルを差し替えたときは、プロンプトの割り当てを読み直してください。

アップロードするのは使う権利のある素材と、出演に同意した人物だけにしてください。

音を指示する

generate_audio は初期設定でオンで、オフにしても料金は同じです。後からクリップに音楽や吹き込みを入れるならオフにしてください。音はブリーフの一部として別立てで扱います:

  • 音の出所を書きます。 「Ratchet clicks, spinning wheel, quiet workshop」の方が「ambient sound」より具体的に伝わります。意図どおりの音にするには「no music」と書いてください。書かないと、音楽が付いた状態で返ってくることがあります。
  • セリフ: 話者を明示し、セリフは引用符で囲み、長さが尺に収まるだけ短くし、1 つの言語にとどめてください。語句を正確に聞き取ってください。もっともらしいセリフでも、名前や申し出の内容を変えてしまうことがあります。
  • 編集で直します。 映像が正しく音が違う場合は、映像を再生成せず、音だけを差し替えてください。

一度に一点ずつ直して繰り返す

1 回の試行で変えるのは 1 点だけにしてください。不要なズームにはカメラの指定を、人物のずれには参照の集合を直します。そうしないと、よいクリップになっても、どの変更が効いたのかが分かりません。プロンプトの変更を判断するときは seed を固定して、それ以外をすべて同じにしてください。シードは比較のための道具であり、フレームまで同じ結果になることを保証するものではありません。

下書きは 480p で行い、動き方が正しく読めるようになったら解像度を引き上げます。720p が初期値です。料金を決めるのは解像度と長さで、アスペクト比、ビットレート、ウォーターマークは関係しません。Seedance 側の検査はレンダリング前に一部の表現を拒否します。キスシーンに関する表現が確実な引き金です。拒否されたタスクは通常、課金せずに解放されます。

同じペダル動作に対する 2 つのカメラ位置。下にメモ用の空欄が並んだイラスト。
1 つの動作に対する 2 つのカメラ位置。空白のパネルはご自身の観察用で、結果ではありません。

試行ごとに記録を残してください。プロンプト、タスク、アップロード順のファイル、長さ、解像度、シードです。ある場面でプロンプトが効くようになったら、その記録から次の場面で何を再利用すべきかが分かります。

ペダル、カメラ、マイクのスケッチを描いたノートと、作業する整備員の写真。
タスク、ソース、設定を記録するノート。イラストであり、実行ログではありません。

費用

テキストから動画と画像から動画は出力された秒数で課金され、音声ありでもなしでも同じレートです:

解像度1 秒あたり5 秒のクリップ
480p$0.07$0.35
720p$0.152$0.76
1080p$0.374$1.87
4K$0.778$3.89

480p の下書き 3 本と 720p の完成版 1 本で $1.81 です。-1(モデルが長さを選ぶ)にすると、見積もりは最長の 15 秒を仮定し、720p で $2.28 となります。実際の課金は納品された長さに従います。Seedance 2.0 Fast と Mini はより安く、Mini は 480p で 1 秒あたり $0.025 から、Fast は $0.045 からで、上限は 720p です。この 2 つのモデルによる下書きは、ブリーフを確かめる手がかりとして使ってください。ベースモデルの最終結果の代わりにはなりません。

参照動画が、課金額を変える唯一の入力です。参照から動画は、リクエストに動画が含まれる場合、1 秒あたりのレートを下げます(720p:$0.152 ではなく $0.0928)。ただしそのレートは出力の秒数だけでなく、参照クリップの秒数にも適用されます。720p の 5 秒クリップに 10 秒の参照クリップを付けると 15 × $0.0928 = $1.39 で、クリップなしなら $0.76 です。4K では動画の有無でレートは同じなので、クリップは秒数を増やすだけです。SpicyAPI は最大額を先に確保し、タスクが確定したときに未使用分を解放します。動きを担う数秒だけに参照クリップを切り詰めてください。

別のモデルが答えになるとき

まずタスクの選び方、フレームの質、参照の役割、カメラの指示を確認してください。これらはどのモデルでも同じ問題として持ち越されるからです。要件が 2.0 の仕様を超える場合は次のモデルへ移ってください。Seedance 2.5 は 4〜30 秒を生成でき、参照から動画では最大 30 枚の画像、10 本のクリップ、10 個の音声ファイルを受け取ります。料金は独自で、上限は 1080p です。2.0 のプロンプトを移植する前にプロンプトガイドを読んでください。BytePlus も独自のプロンプトガイドを公開しています。

FAQ

他のガイドにある @Image1 を使ったプロンプトをそのまま貼り付けられますか?

書き直してください。SpicyAPI のラベルは image 1、video 1、audio 1 で、入力配列の順番に対応します。

他の言語 English · 한국어 · Deutsch · Français · Español · Português (Brasil) · Русский · Italiano · Polski

実際に試してみる

支払いは実行した分だけ。プランもサブスクリプションもありません。

使用モデル:MiniMax H3 · ByteDance Seedance 2.0 Fast