はじめに
LTX 2.3 Spicy の画像から動画は、無検閲の開始フレームを動かします。動きの指示は任意で、音声フィールドはありません。
LTX 2.3 Spicy は Lightricks の LTX 2.3 をベースに検閲なしで調整した LoRA ビルドで、画像から動画と video-extend のエンドポイントとして公開しています。このページでは画像から動画を扱います。内容は用意した開始フレームが担い、プロンプトは任意です。1 回のリクエストで 480p、720p、1080p の 3〜20 秒が返ります。
主な機能とハイライト
20 秒あればループではなくシーンになる
検閲なしの動画エンドポイントの多くは 5〜6 秒ほどが上限で、何でもループにせざるを得ません。1 回の生成で 20 秒あれば、始まり、転機、終わりのある一場面を作れます。連続性は、隠さなければならないつなぎ目ではなく、テイクの中で保たれます。20 秒を超えて続けたいときは、動画延長のエンドポイントでクリップを延長してください。
静止画が内容を決める
テキストだけの入口はありませんが、それが狙いです。衣装、体、ポーズ、構図など、フレームに写っているものがそのまま動くので、素材もテキストエンコーダーに解釈し直されることなく、送ったとおりに届きます。先に安いパスで画像を決めておけば、動画のリクエストは動きだけの問題になります。
画像だけ送ってもいい
プロンプトは任意です。フレームだけでも自然な小さい動きが生まれ、ループならそれで足りることが多く、手持ちの写真セットをまとめて処理するのも簡単です。特定の瞬間が大事なときだけテキストを足し、画を説明し直すのではなく変化する部分だけを書きます。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
preset | いいえ | Tuned は継続的に調整されている汎用設定です。Original はほぼ味付けをしません。 |
image_url | はい | 必須です。動くのはこの静止画で、内容も出力の形もここで決まります。 |
prompt | いいえ | 任意です。拍、カメラ、テンポを書いてください。 |
duration_seconds | いいえ | 3〜20 の整数秒。20 秒は 1 回の生成であって、繋ぎ合わせたシーケンスではありません。 |
resolution | いいえ | 480p、720p、1080p。既定は 480p です。 |
seed | いいえ | 1 つの変数だけを変えたときに 2 回の実行を比較可能にします。フレーム単位の一致を保証するものではありません。 |
料金
| 仕様 | 料金 |
|---|---|
| $0.019 / 秒 |
| $0.038 / 秒 |
| $0.057 / 秒 |
ユースケース
他の API が拒否するシーン
開始フレームは受け付けられ、送ったとおりに動きます。ほかではプロンプトフィルターで拒否される素材もここでは動きます。内容はテキストではなく画像にあるので、クリップは言葉を和らげて解釈したものではなく、承認したフレームに一致します。
20 秒のコンパニオンシーン
近づく、止まる、視線をそらす。1 回の生成でこの流れを収められます。コンパニオンやロールプレイのクリップが、繰り返される 2 秒のループではなく一瞬の出来事として感じられるために必要な形です。フレーム 1 枚、プロンプト 1 つ、リクエスト 1 回です。
手持ちのセットをまとめて動かす
プロンプトが任意なので、画像ごとの指示なしで静止画のアーカイブをまとめて処理できます。各フレームは 480p の 3 秒クリップになり、残す価値のあるものだけを 1080p で長く作り直します。
プロンプトガイドと実践のヒント
先にフレームを作る
動画のパスでは変わらないので、衣装、体、ポーズ、構図は画像のパスで決めておきます。静止画は納品したい比率で書き出してください。あとから直せる画面比率のフィールドはありません。
480p で試し、納品は 1 回で
480p で 3 秒なら、フレームがそもそも動くかを安く試せます。うまく動いたら同じ seed で 720p か 1080p のフル尺を生成し、音は編集で付けます。このエンドポイントが返す音声は無音か小さいことが多いためです。既定の tuned プリセットが狙ったルックとぶつかるなら、preset をほとんどスタイルを加えない original に切り替えます。
付属の例を応用する
公開している例は duration_seconds 5、resolution 720p で、静止画 1 枚を image_url にしています。
She turns further toward the driver's seat, wet shirt clinging as she moves, pushes a soaked strand of hair back and mouths something with a tired smile. Rain streams down the windscreen, neon reflections crawl across the glass, wipers sweep once.
静止画 1 枚と動きのメモです。振り向き、髪、ワイパーは文章で書き、濡れたシャツと構図はフレームから来ています。
繰り返す前に結果を確かめる
開始フレームには忠実に従い、静止画は送ったとおりに動きます。プロンプトを使うなら動きだけにしてください。フレームと矛盾する文章があると、クリップは両者の間で折り合いをつけようとします。20 秒は 1 回の生成で、切り出しではありません。3 秒の下書きと 20 秒の本番は別の実行です。解像度の既定は 480p なので、納品時は 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": "lightricks/ltx-2.3-spicy/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"preset": "tuned",
"resolution": "480p"
}
}'
# 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 リファレンスを参照してください。












