はじめに
HappyHorse 1.1 画像から動画 は、image_url で渡した開始フレームを動かします。プロンプトは必須で、その後に続く動きを書きます。クリップは 720p か 1080p、3〜15 秒の整数長で、生成されたサウンドトラックが付きます。アスペクト比の項目も終了フレームの項目もなく、画面の形は静止画が決め、終わり方はプロンプトで指示した動きの行き着く先になります。
開始素材に応じてモードを選ぶ
| 開始素材 | モード |
|---|---|
| 書いた場面やスクリプト | HappyHorse 1.1 テキストから動画 |
| 承認済みの開始画像 | HappyHorse 1.1 画像から動画 |
| 1〜9 枚の参照画像 | HappyHorse 1.1 参照から動画 |
主な機能とハイライト
被写体と画面の形は静止画が決める
開始フレームには忠実に従うので、検閲なしの元フレームも含め、文字どおりの結果を得る確実な方法です。tailgate-turn の例では、衣装、トラック、逆光はすべてフレームから来ており、プロンプトが頼んでいるのは、瓶を下ろし、ブーツを一度揺らし、低い太陽のほうへ顔を向けることだけです。
目指す終了フレームはない
このエンドポイントが受け取るのは image_url だけなので、ショットを最後の構図に固定することはできません。それ自体で完結する動きがもっとも合います。quiet-hold の例は、ほとんど静止した 4 秒です。息を吐き、肩を落とし、窓枠にもたれて重心を移すだけで、カメラはほぼ動きません。
入力と出力の条件
開始フレームは各辺 300 px 以上、アスペクト比 1:2.5〜2.5:1、ファイルサイズ 20 MB 以下が必要です。出力は 3〜15 秒で既定は 5 秒、解像度は 720p(既定)か 1080p で、サウンドトラックは常に映像と一緒に生成されます。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 必須です。フレームそのものではなく、その後に変わるもの——動作、カメラ、テンポ——を書いてください。 1 文字以上 · 2500 文字以内 |
image_url | はい | 開始フレームです。被写体と構図を固定し、出力の形も決めます。 |
resolution | いいえ | 720p と 1080p から選びます。 |
duration_seconds | いいえ | 3〜15 の整数秒。終了フレームがないので、その時間内で収まる動きにしてください。 |
seed | いいえ | ランダムな出発点を決める 0 から 2147483647 までの整数です。省くと毎回それぞれの値になります。 |
料金
| 仕様 | 料金 |
|---|---|
| $0.14 / 秒 |
| $0.18 / 秒 |
ユースケース
検閲なしのフレームや作り込んだフレームを動かす
この経路は渡されたフレームに従うため、検閲なしの作品は、許容範囲を超えるプロンプトを拒否する text-to-video ではなくここから始めます。デザインしたフレームを渡し、動きだけを書いてください。被写体は文章から解釈し直されるのではなく、描いた・撮ったとおりの姿で現れます。
保ったポーズの周りで環境を動かす
wasteland-hood-two の例は、止まった車のボンネットに座る 2 人をそのままにして、動きのあるものだけを書いています。風に持ち上げられては落ちる裂けた布、揺らめく陽炎、道を横切る塵旋風、そしてゆっくりしたプッシュインです。1080p・既定の長さで生成されています。
短いインサートやカットアウェイ
カメラをほとんど動かさない 3〜4 秒のクリップは、長いショットの間に挟むインサートに向いています。quiet-hold のように動作を呼吸 1 回か仕草 1 つにとどめれば、途中で切れることなく長さの中で動きが完結します。
プロンプトガイドと実践のヒント
プロンプトには動きだけを
プロンプトは必須なので、変化するもの、つまり動作、カメラ、テンポに使います。wasteland-hood-two のプロンプトは構図を一切描写せず、風、陽炎、塵を描写しています。フレームを描写し直すと、画像がすでに固定しているものに 2,500 文字の上限を使ってしまいます。
動きの大きさを長さに合わせる
終了フレームがないので、選んだ時間内に終わらない動きは、クリップが終わったところでそのまま止まります。動作は長さに合わせ、短いクリップなら仕草 1 つ、長めなら tailgate-turn が 6 秒で見せる「下ろす、揺らす、振り向く」のような短い連続にします。
アップロード前にトリミングする
出力の形は静止画で決まるので、先に納品時のアスペクト比へトリミングし、サイズ条件も確認します。720p で下書きし、納品用に 1080p で再実行します。実行ごとに別のテイクになるため、比べる間は文言を固定してください。
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/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"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 リファレンスを参照してください。







