本文へスキップ

導入ガイド

すでに納得した静止画を動かす。

画像から動画は、最も難しい変数である「画面の見た目」を取り除き、より狭い問いに置き換えます。どう動くか、です。参照フレームが仕事の大半を担うため、弱い参照はプロンプトでは救えません。

解決する課題

結果の大半は参照フレームが決める

モーション系エンドポイントは最初のフレームからすべてを引き継ぎます。構図、光、アスペクト比、ノイズまで。甘い、あるいは切り方の悪い参照は、甘く切り方の悪いクリップになり、動画の料金がかかります。

01

比率の不一致は静かに高くつきます

参照が 1:1 なのに 16:9 のクリップを求めれば、エンドポイントはレターボックス、切り抜き、引き伸ばしのいずれかを行います。送信前に、要求する aspect_ratio や resolution に参照を合わせてください。

02

終端フレームを取るエンドポイントもあります

last_image_url を宣言している場合、両端を与えれば始点と終点が定まり、当てのない漂流になりません。宣言していないエンドポイントに送れば 400 です。

03

モーション項目は宣言したエンドポイントにしか存在しません

movement_amplitude、camera_fixed、fps、duration_seconds はエンドポイントごとに現れ、どれがレートを動かすかはスキーマに記されます。共通のモーション語彙は下層にありません。

実装方針

まずフレームを確定し、動きには一度だけ払う

静止画の作業は一回数セントで試せる画像エンドポイントで済ませ、フレームを確定してからモーションに払います。コミット済みの spicy:// アップロードを渡せば、再実行のあいだ参照はバイト単位で同一になり、同じピクセルからやり直せます。

本文は画像フィールドを持つ作成リクエストです。追跡の側は他のメディアタスクと完全に同じです。

POST /api/v1/jobs/createTask

POST /api/v1/jobs/createTask
Authorization: Bearer $SPICY_API_KEY
Idempotency-Key: 7b1f0c2e-9a4d-4f31-8c67-2b5e0d9a1c44
Content-Type: application/json
{
  "model": "<publisher>/<model>/image-to-video",
  "input": {
    "prompt": "Slow push-in, fabric moving in a light breeze",
    "image_url": "https://example.com/reference.png",
    "duration_seconds": 5,
    "resolution": "720p"
  },
  "callBackUrl": "https://example.com/hooks/spicyapi"
}

202 Accepted

HTTP/1.1 202 Accepted
Location: /api/v1/jobs/recordInfo?taskId=job_01k3m8x9q2z4v7n5p6r8s0t1w3

{
  "code": 200,
  "msg": "success",
  "request_id": "req_example_create",
  "data": {
    "taskId": "job_01k3m8x9q2z4v7n5p6r8s0t1w3",
    "state": "queued",
    "estimatedCost": "0.750000"
  }
}

契約

先に押さえておく項目

画像から動画 API:静止画を動かす — 先に押さえておく項目
フィールド / ヘッダー値・上限
image_url · last_image_urldeclared per endpoint
POST /api/v1/jobs/retrynew task · source record untouched
statequeued · running · succeeded · failed · expired
audio / video upload≤ 100 MiB · ≤ 600 s

横にスワイプして全項目を確認できます。

導入

最初の呼び出しから本番まで

  1. 01出力するつもりのアスペクト比で、参照フレームを生成またはアップロードします。
  2. 02エンドポイントのスキーマで image_url、duration_seconds、resolution、宣言されたモーション項目を確認します。
  3. 03見積もりののち、Idempotency-Key とコールバック URL を付けて送信し、taskId を参照と一緒に保存します。
  4. 04終端コールバックで output.assets を取得し、再実行できるようクリップの隣に参照を残します。

向き不向き

この方法が向いている場面

こんなときに選ぶ

  • アートディレクションが静止画で固まっていて、画面を引き直さずに動きだけ足したい。
  • 同じキャラクターや同じ商品が、出すクリップすべてで同一に見える必要がある。

こんなときは別の方法へ

  • 画面がまだ存在しない場合。静止画で反復するほうがクリップで反復するより一桁安く済みます。
  • 多数のカットにまたがる長尺の連続性が要る場合。これらのエンドポイントは一カットずつ短いクリップを返します。

裏付け

自分で確認できること

参照の扱いはどこでも同じです

HTTPS URL、コミット済み spicy:// アップロード、インライン data URI は、画像でも動画でも同じ上限と同じ受理検査のもとで同じように動きます。

再試行は新しいタスクを作り、古いものには触れません

POST /api/v1/jobs/retry は失敗または期限切れのタスクから新しいタスクを作り、スキーマ、価格、権限、提供状況を評価し直します。元のレコードはそのまま残ります。

状態機械はひとつで足ります

queued、running、succeeded、failed、expired。この五語がすべてのメディアエンドポイントを表すので、遷移の実装は一度で済みます。

公開前に

確認しておくプラットフォームの挙動

  • 参照の比率を出力比率に合わせるのは、サポート対応ではなく公開前の作業です。
  • 参照は送信の瞬間だけでなく、タスクが終わるまで到達可能に保ちます。
  • 再試行には独自の冪等スコープを与えます。再試行は再送ではなく新しいタスクです。
  • 新しいキーに必須の日次上限に、動画のレートを織り込みます。

よくある質問

このページでよく聞かれること

それはあなたの判断であり、あなたの法的責任です。プラットフォームはアップロードの同一性を検査せず、規約は同意と権利を顧客側に置いています。

次に

画像から動画のエンドポイントを試す

参照画像を短いクリップに。最初のフレームの品質、比率の不一致、モーション項目、長さが結果と価格に及ぼす影響。

関連ガイド