チュートリアル
Seedance 2.0 Ext 2Dステッカー合成プロンプト:完全解説
地下鉄の駅のベンチに置かれたトートバッグから、片手で無地のグレーのUVカットウェアを持ち上げる——それ自体は何の変哲もない。この10秒の短編を際立たせているのは、画面の上部にステッカーのように貼り付いたフラットな2Dカートゥーンの太陽だ。冒頭では跳ね回り、熱く燃えている。UVカットウェアのUPF素材が披露されると、慌てふためく。最後のビートでは、すっかり冷えて淡いブルーになり、目を閉じて満足げに2Dの氷を抱きしめ、UVカットウェアのフードのそばに貼り付いている。この笑いのポイントは、Seedance 2.0 Ext 向けの2枚の参照画像を使ったプロンプト構造に基づいており、このテクニックは「実写製品+カートゥーンのマスコットの反応」というあらゆる広告にほぼ応用できるため、分解して解説する価値がある。
完全なプロンプト
これがこの短編の生成に使ったプロンプトの完全な翻訳だ(元の生成は中国語で行った。以下は一切簡略化も要約もしていない):
シーン:実生活、手持ち撮影スタイル。都市の地下鉄駅の入口前で、片手が
ライトグレーのUPFカットウェアを、ベンチに置かれた黒いトートバッグの
上に掲げている。自然光、リアルな街の
雰囲気、実写映像自体には一切のスタイライズ処理を施さない。
2Dフラットなカートゥーンの太陽キャラクターを合成する(キャラクター
デザインは@image1を参照——その比率、配色、線の
太さを変更しないこと)。このキャラクターはステッカーのように実写映像に
貼り付く:常に完全なフラット2Dを保ち、周囲の実世界の
光や影を無視し、実写映像の3D的な陰影、反射、
遠近の歪みを一切まとってはならない。
@image1——キャラクターの製品デザインのみを固定する(太陽アイコンの形状、
顔、色の段階、比率)。この参照画像からシーン、背景、手、
UVカットウェアのディテールを取得しないこと。
@image2——実写シーンとUVカットウェアの
着用/持ち方のみを固定する(手の位置、ベンチ、地下鉄入口、カメラ構図)。
この参照画像からキャラクターデザインを取得しないこと。
タイミング(4つのコメディビート、画面内の実際の手の動きと同期):
1. 0〜2秒:太陽キャラクターは明るい黄橙色で、
誇張された「熱さ」のエネルギーで跳ねながら、折りたたまれたUVカットウェアの上に位置する。
2. 3〜5秒:手がUVカットウェアを持ち上げて素材を見せる。キャラクターは
誇張された慌てた反応を見せ、漫画的な汗のしずくを飛ばし、色が
橙赤色へと変わる。
3. 6〜8秒:手がUVカットウェアを完全に広げてカメラに向ける。キャラクターは
明らかに冷えていき、色が赤から淡いブルーへと褪せ、動きが遅くなる。
4. 8〜10秒:クライマックス/種明かし——キャラクターは完全に淡いブルーになり、2Dフラットな
氷を抱き(氷にも同じフラットステッカーのルールを適用)、満足げに
UVカットウェアのフードのそばに寄り添い、目を閉じ、すっかり涼しくなっている。
サウンドデザイン:キャラクターが最初に跳ねるときに軽快なコメディ調の「boing」、
汗のビートではカートゥーン風のシューッという蒸気音、最後の冷却の抱擁では柔らかな
「あー」という吐息に穏やかなベルの音を添える。全編を通して実世界の環境
音(地下鉄/街の音)を残す——実写の音声をミュートしないこと。
避けること:画面のどこにも読み取れる文字、価格タグ、UI要素、字幕、
説明テキスト、ウォーターマークを出現させない。@image1/@image2内の中国語その他の文字を
最終合成画面に染み込ませない。いかなる瞬間もステッカーキャラクターに3Dの陰影や
再ライティングを加えない。
なぜこれがうまく機能するのか
2枚の参照画像、2つの完全に異なる役割。@image1は太陽キャラクターの美術のクリーンな多角度画像——それだけだ。@image2は実写シーンの画像(または類似シーンの参照画像):手、UVカットウェア、ベンチ、地下鉄入口。このように分割することで、モデルがシーンの光でカートゥーンキャラクターを「汚染」したり、シーンの物体をキャラクター参照に引きずり込んだりするのを防げる。APIレベルでは、これはSeedance 2.0 Extのreference_image_urls配列の2つのエントリに直接対応する——プロンプト内の@image1/@image2プレースホルダーは、この配列の1から始まる位置(reference_image_urls[0]、reference_image_urls[1])である。
ステッカーのルールこそが笑いのポイントのすべて。モデルにキャラクターを「完全なフラット2D」に保ち、実世界の陰影を一切まとわせないよう要求することが、このジョークが成立する鍵だ——キャラクターは、CGの物体としてシーンに挿入されたのではなく、誰かがステッカーを実写映像に貼ったように見える。この制約を外すと、キャラクターは地下鉄入口の環境光や影をまとい始め、このギャグは面白くなくなる。
コメディのリズムは、無作為なタイムスタンプではなく、画面内の実際の物理的な動作に結び付けられている:跳ねる → 素材を見せる → 冷える → 氷を抱く。各ビートが画面内で手が実際に行っていることにアンカーされているため、カートゥーンの反応は並行して流れる装飾ではなく、製品への直接的な応答のように見える。
ネガティブリストは確実に効いている。「読み取れる文字/価格/UI/字幕/ウォーターマークを出現させない」と「参照画像内の文字を最終合成画面に染み込ませない」の両方が不可欠だ。なぜなら、これほど具体的な参照画像(スタジオの製品写真、街頭写真)には、看板の断片、価格シール、パッケージの文字がしばしば含まれており、そうでなければモデルは喜んでそれらを最終画面に合成してしまうからだ。
自分で再現する:/v1/tasks 呼び出し
Seedance 2.0 Extのスキーマは厳格だ(未知のフィールドは即座に拒否される)。以下がリクエストの正確な要件である——prompt、aspect_ratio、durationが必須、resolution、reference_image_urls、generate_audioが任意:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0@ext",
"input": {
"prompt": "<the full prompt above>",
"aspect_ratio": "9:16",
"duration": 10,
"resolution": "1080p",
"reference_image_urls": [
"https://your-cdn.example.com/sun-character-turnaround.jpg",
"https://your-cdn.example.com/jacket-scene-reference.jpg"
],
"generate_audio": true
}
}'
返されたtaskIdを、終端状態に達するまでポーリングする:
curl -s https://api.hiapi.ai/v1/tasks/{taskId} \
-H "Authorization: Bearer $HIAPI_API_KEY"
reference_image_urlsは最大9エントリをサポートする——この短編には2つだけで十分だ。1080pティアでは、Seedance 2.0 Extは毎秒$0.373で課金されるため、このような10秒の短編で合計$3.73になる(最新の料金は常に料金ページを参照)。
よくある質問
Seedance 2.0のデフォルトルートと@extルートの違いは何か?
@extは同じモデル上の独立したルート(seedance-2.0@ext対通常のseedance-2.0)で、独自のスキーマと独自の料金ティアを持つ。extルートこそがreference_image_urlsを受け付けるものであり、このプロンプトの2参照テクニックを可能にしている。フィールドごとの完全な解説はSeedance 2.0ドキュメントを参照。
参照画像はちょうど2枚でなければならないのか?
そうではない——このフィールドは最大9枚を受け付ける。このプロンプトで2枚が適切なのは、独立して固定する必要があるものがちょうど2つ(キャラクターデザイン、シーン/着用スタイル)あるからだ。マスコットに3枚目の参照画像(たとえば特定のポーズ表)が必要なら、3番目のエントリを追加し、プロンプト内で@image3として参照する。
ステッカーキャラクターがシーンに「ライティング」されているように見えないのはなぜか? プロンプトがそれを明示的に禁じているからだ。この指示がないと、モデルはしばしば「助けようとして」キャラクターをシーンの光に溶け込ませ、ステッカー効果を台無しにしてしまう。モデルが自発的にフラットスタイルを保つことを期待せず、制約を明記すること。
手持ちの製品写真に使えるか?
使える——それこそが参照画像を分割する意味だ。マスコット/キャラクターのクリーンな写真や多角度画像を@image1に、自然なシーンにおける製品の実写写真や動画フレームを@image2に使う。モデルは前者を後者に合成する。
generate_audioには追加料金がかかるのか?
現在の料金には個別の項目として記載されていない——音声を生成するかどうかに関わらず、上記の毎秒料金は1080pティアを反映している。一括実行の前には必ずリアルタイム料金を再確認すること。ティアは実際に変動するからだ。
自分の製品写真でこの合成スタイルを試したいなら、Seedance 2.0 Extモデルページに現在のスキーマと料金があり、クイックスタートドキュメントを使えば数分でAPIキーから最初のタスクまでたどり着ける。
関連記事
すべての記事を見る →-
チュートリアル
HiAPI API で hailuo-2.3-fast/image-to-video を呼び出す方法:curl と Python の実践
高速・低コストな画像から動画へのティアにおける最初の実行可能なリクエスト — モデル ID から MP4 のダウンロードまで
-
チュートリアル
HiAPI APIでhailuo-2.3/text-to-videoを呼び出す方法:curl、Python、実行可能なリクエスト例
-
チュートリアル
HiAPI で Kandinsky 6.0 Pro のテキストto動画を使用する:curl と Python チュートリアル
リクエスト優先の実践デモ:プロンプトから動画クリップへの呼び出しを構築し、リクエストを送信し、完了状態をポーリングし、結果をダウンロードする