はじめに
P-Video 2 Pro 参照から動画は、アップロードしたリファレンスから、480p または 768p の 5〜15 秒のクリップを作ります。動き、カメラ、テンポのための参照動画は最大 3 本(合計 15 秒)、声、セリフ、音楽のための音声クリップは最大 3 本、任意で開始・終了フレームも使えます。プロンプトでは、アップロード順に video 1、video 2、audio 1、audio 2 と名指ししてください。コンテンツフィルターはありません。
開始素材で P-Video 2 Pro のモードを選ぶ
| 手元にあるもの | モード |
|---|---|
| 書いたシーンや脚本 | P-Video 2 Pro テキストから動画 |
| 開始フレーム、必要に応じて終了フレーム | P-Video 2 Pro 画像から動画 |
| 動きを借りたいクリップ、または音声や音楽のトラック | P-Video 2 Pro 参照から動画(現在のページ) |
主な機能とハイライト
カメラの動きを借りる
参照動画は、その動きとテンポを引き継ぎます。開始フレームと組み合わせると、自分のキャラクターをその動きに入れられます。
自分の音声を使う
声のセリフや音楽のクリップを audio 1 として追加します。keep_reference_audio をオンにし、音声クリップが 1 本だけであれば、そのクリップがサウンドトラックになります。オフの場合は、クリップが音をガイドし、モデルが新しい音声を生成します。音声には、開始フレームか参照動画も必要です。
始まりと終わりを固定
image_url と last_image_url は、参照クリップに加えてここでも使えます。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 各リファレンスから何を取るかを書いてください。動画は video 1、video 2、音声クリップは audio 1、audio 2 と、アップロード順に名指ししてください。 1 文字以上 |
image_url | いいえ | 任意の開始フレーム。どの人物とどこからショットが始まるかを決めます。 |
last_image_url | いいえ | 任意の終了フレーム。クリップがこの画像で終わります。 |
reference_video_urls | いいえ | 最大 3 本。各 2 秒以上、合計 15 秒まで。 1 件以上 · 3 件以内 |
reference_audio_urls | いいえ | 最大 3 本、合計 15 秒。声、セリフ、音楽のために使います。 1 件以上 · 3 件以内 |
aspect_ratio | いいえ | auto(既定)は参照に合わせます。または 16:9、9:16、4:3、3:4、3:2、2:3、1:1 から選べます。 |
resolution | いいえ | 480p または 768p(既定は 768p)。768p は秒単価が高くなります。 |
generation_mode | いいえ | cost(より安く、やや遅い)または speed(既定、同じ画質でより速い)。 |
keep_reference_audio | いいえ | 既定はオフ。オンにすると、新しい音を生成せず、音声クリップをサウンドトラックに使います。 デフォルト値: |
duration_seconds | いいえ | 整数秒、5〜15(既定は 5)。料金を決めます。 |
prompt_optimization_mode | いいえ | off(既定)はプロンプトをそのまま送ります。turbo と max では、サービス側で先に書き換えます。 |
seed | いいえ | プロンプトを変えながら実行結果を比べやすくします。フレームが完全に同一のクリップになることは保証しません。 |
料金
選んだ解像度と生成モードで、出力の秒数ごとに課金されます。加えて、参照動画の秒数と、丸め用の 1 秒が加算されます。開始・終了フレームごとに少額、参照音声を追加すると定額が加算されます。失敗したリクエストには課金されません。
| 解像度 | Generation mode: cost | Generation mode: speed |
|---|---|---|
| $0.018 / 秒 | $0.024 / 秒 |
| $0.03 / 秒 | $0.042 / 秒 |
ユースケース
新しい被写体で同じショットを再現
カメラの動きが気に入ったクリップと、自分のキャラクターの開始フレームをアップロードします。結果は、その動きに沿って自分の被写体を動かします。
リップシンクのセリフ
ポートレートを開始フレームに、短い音声クリップを audio 1 にして、keep_reference_audio をオンにします。ショットで起きることを書いてください。
音楽主導のクリップ
音楽のクリップを audio 1 にすると、動きのムードとテンポが決まります。
プロンプトガイドと実践のヒント
各リファレンスの役割を書く
「video 1 のカメラの動きに従う」や「彼女は audio 1 のセリフを話す」と書けば、それぞれのクリップから何を取るかが伝わります。
参照動画はトリムする
参照動画の秒数は課金されるので、借りたい部分だけに切り詰めてください。2 秒以上にしてください。
構図はフレーム、動きはクリップが決める
開始フレームが誰とどこかを決め、参照動画が動きの仕方を決めます。参照に合わせたい場合は aspect_ratio を自動のままにしてください。
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": "pruna-ai/p-video-2-pro/reference-to-video",
"input": {
"aspect_ratio": "auto",
"duration_seconds": 5,
"generation_mode": "speed",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"prompt_optimization_mode": "off",
"resolution": "768p"
}
}'
# 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 リファレンスを参照してください。



