はじめに
Vidu Q4 Preview Image to video は、一枚の開始フレームを、540p、720p、1080p、2k、4k で 3〜16 秒のクリップにアニメーション化します。Vidu Q4 Preview は、Vidu の Q4 動画モデルの一般公開プレビューです。クリップはフレームの形を保ち、音声と引用された台詞は映像と一緒に生成されます。当社のコンテンツテストでは、フィルターなしのリクエストが通りましたが、かなり強めのレベルは 10 月 9 日以降拒否されています。
手元の素材に合わせてモードを選ぶ
| 手元にあるもの | モード |
|---|---|
| 動かしたいフレーム | Vidu Q4 Preview Image to video |
| 人物、衣装、商品、場所の画像(任意で音声クリップ付き) | Vidu Q4 Preview Reference to video |
主な機能とハイライト
フレームがそのまま続く
私たちの実行では、冒頭フレームの人物、衣装、光がクリップに残りました。
音と台詞
台詞、効果音、環境音が映像と一緒に生成されます。ダブルクォートで囲んだ台詞は、私たちの実行で話されました。無音のクリップにするには generate_audio をオフにします。
最大 4k
540p から 4k までの 5 段階の解像度があります。2k と 4k は 10-bit HEVC で返るため、デスクトップのツールで編集または変換する前提で考えてください。
NSFW コンテンツが描画された
軽めと中程度のリクエストは出力され、最大のレベルも出力されました。強めのレベルのリクエストは、構図によって和らげられました。かなり強めのレベルは、10 月 8 日には示唆されるにとどまり、10 月 9 日以降は拒否されています。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 必須、20,000 文字まで。フレームの後に続く動き、カメラ、音を書きます。 1 文字以上 · 20000 文字以内 |
image_url | はい | 必須。冒頭フレームで、クリップの人物、雰囲気、形が決まります。 |
resolution | いいえ | 540p、720p(既定)、1080p、2k、4k。1 秒あたりの料金はこれで決まり、2k は 1080p より高く、4k は 2k のおよそ 2 倍です。 |
duration_seconds | いいえ | 3〜16 の整数秒、既定は 5。解像度とあわせて 1 秒単位で課金されます。 |
generate_audio | いいえ | 既定でオン:台詞、効果音、環境音が映像と一緒に生成されます。音声トラックのないクリップにしたい場合はオフにします。 デフォルト値: |
enable_prompt_expansion | いいえ | 既定はオフ。オンにすると、モデルがプロンプトを書き換えて拡張します。 デフォルト値: |
seed | いいえ | 1 つずつ条件を変えながら、実行結果を比べやすくします。フレームまで同一のクリップになることは保証しません。 |
料金
選んだ解像度での出力 1 秒単位で課金されます。音のオン・オフやフレームの形によって料金は変わりません。拒否されたリクエストには課金されません。
| 仕様 | 料金 |
|---|---|
| $0.045 / 秒 |
| $0.095 / 秒 |
| $0.12 / 秒 |
| $0.19 / 秒 |
| $0.39 / 秒 |
ユースケース
話すショット
人物がカメラに向き直って一言話す場面を、映像と同じ処理で生成します。
ファッション・ライフスタイルのスチル
スタイリングされたフレームに、振り向き、歩き、カメラワークを加えます。
コンテンツフィルターのないプラットフォーム
ユーザー自身のフレームを動かします。画面に登場するのは全員が成人であることが条件です。
プロンプトガイドと実践のヒント
次に起こることを書く
フレームにすでに写っているものではなく、動き、カメラ、音を書きます。
台詞は引用符で
話させたい台詞はダブルクォートで囲むと、説明ではなく実際に話されます。
小さく下書きし、1080p で仕上げる
seed を固定して 540p で試し、良かったものを 1080p で回し直します。2k や 4k は HEVC を扱える場合だけ選んでください。
プロンプト拡張はオフのまま
拡張をオンにするとモデルがプロンプトを書き換えます。ある実行では依頼内容が控えめになりました。
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": "vidu/q4-preview/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 リファレンスを参照してください。












