はじめに
HappyHorse 1.1 参照から動画 は、1〜9 枚の参照画像から 1 つのショットを組み立てます。画像はプロンプトが言及する順に reference_image_urls で送ります。720p か 1080p、3〜15 秒の整数長で、9 種類のアスペクト比から選べ、生成されたサウンドトラックが付きます。参照は画像のみで、動画や音声の参照は受け付けません。
開始素材に応じてモードを選ぶ
| 開始素材 | モード |
|---|---|
| 書いた場面やスクリプト | HappyHorse 1.1 テキストから動画 |
| 承認済みの開始画像 | HappyHorse 1.1 画像から動画 |
| 1〜9 枚の参照画像 | HappyHorse 1.1 参照から動画 |
主な機能とハイライト
順番付きの 9 つの枠
最大 9 枚の画像があれば、1 回のリクエストでキャラクター、衣装の各パーツ、乗り物、場所、小道具を固定できます。rider-jacket-bike-station の例は 3 枚の静止画で、ライダー、前を開けたジャケット、バイク、給油所をテイク間で同じに保ち、3:4・720p で生成しています。そのためプロンプトは動作と光を書くだけで済みます。
顔・小道具・場所を 1 テイクで
three-plate-corridor の例は、画像ごとに別の役割を与えています。女性、彼女が持つチェリーレッドのギター、ネオンのモーテルの廊下です。プロンプトはどの画像が何かを示したうえで、顔、小道具、場所がすべて同時に保たれなければならない、後退しながら追う 1 テイクを求めています。
このエンドポイントでも 9 種類の画面比率
aspect_ratio は 16:9 を既定とする 9 種類の値を持ち、1:1、4:5、5:4 も含まれます。product-in-place の例は 1080p の正方形で、1 枚目の画像のキャンドルジャーを 2 枚目の大理石の棚に置き、棚に差す窓の光に合わせて照らしています。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 各参照をアップロード順に [Image 1]、[Image 2] と角括弧つきで呼び、それぞれが何を供給するのかを書いてから、それらが作るべきカットを書いてください。 1 文字以上 · 2500 文字以内 |
reference_image_urls | はい | 必須。プロンプトが名指しする順に画像を 1〜9 枚。 1 件以上 · 9 件以内 |
aspect_ratio | いいえ | 9 種、既定は 16:9。ここでは使えますが、image-to-video では使えません。 |
resolution | いいえ | 720p と 1080p から選びます。 |
duration_seconds | いいえ | 3〜15 の整数秒。 |
seed | いいえ | ランダムな出発点を決める 0 から 2147483647 までの整数です。省くと毎回それぞれの値になります。 |
料金
| 仕様 | 料金 |
|---|---|
| $0.14 / 秒 |
| $0.18 / 秒 |
ユースケース
製品をその場所に置く
製品と場所を別々の画像として送り、両者の関わりを書きます。product-in-place では、芯に火がつき一筋の煙が立ちのぼるにつれてカメラがゆっくり寄り、炎の暖かな光が大理石とリネンに 2 つ目の光を加えます。
シリーズを通して同じキャストと衣装を保つ
すべてのショットで同じ参照セットを使えば、演者、衣装、乗り物がテイクごとに変わりません。プロンプトで変えるのは動作の行だけにします。画像は毎回同じ順で送り、位置による呼び方が正しい画像を指し続けるようにしてください。
検閲なしの表現や作り込んだキャラクター表現
image-to-video と同じく、この経路は渡された画像に従います。text-to-video では拒否される検閲なしのキャラクター表現も、キャスト、衣装、場所をそれぞれ専用の画像で固定した参照セットから始められます。
プロンプトガイドと実践のヒント
画像は位置で呼ぶ
ショットを描写する前に、各画像が何を担うかを書きます。公開例は位置で呼ぶ 2 つの書き方を使っています。「Use the woman from the first image exactly as she appears」と「Place the candle jar from [Image 1] into the empty centre of the marble shelf in [Image 2]」です。ファイルはプロンプトで名前を挙げる順にアップロードしてください。
1 枚に 1 つの役割
9 枠は上限であって目標ではありません。同じ被写体を別角度で写した画像は、すり合わされるのではなく平均化されるので、人物、衣服、小道具、場所のように画像ごとに別の役割を与えます。各画像は短辺 400 px 以上、ファイルサイズ 20 MB 以下が必要です。
プロンプトは動作と光に使う
人物が参照で決まったら、プロンプトには見た目ではなく何をするかを書きます。「he swings a leg over the tank and settles, the overhead light pressing down from directly above, moths in the beam」がその例です。照明の指示は場所の画像と矛盾しないようにし、product-in-place が棚の光の向きと色温度に合わせているように書いてください。
API クイックスタート
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/happyhorse-1.1/reference-to-video",
"input": {
"aspect_ratio": "16:9",
"duration_seconds": 5,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"reference_image_urls": [
"https://example.com/reference.png"
],
"resolution": "720p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。







