前提条件
生成を開始する前に、以下のスキルをインストールして読み込んでください(@pruna で既にコンテキスト内にある場合はスキップ):
| スキル | 説明 | インストール方法 |
|---|---|---|
generation-diversity | 生成プロンプトを作成する際は常に使用 — 有料APIコール前の儀式的シード、明示的な構造、シナリオ軸、品質ゲート。 | npx skills add PrunaAI/pruna-skills@generation-diversity -y |
video-prompting | 任意の生成モデル用の動画またはモーションプロンプトを作成する際に使用 — ドラマトゥルギー、カメラ、物理的に安全な動き、フレームアンカー、クリップ連鎖。 | npx skills add PrunaAI/pruna-skills@video-prompting -y |
audio-prompting | 任意の生成オーディオモデル用のTTS、音楽、またはBGMプロンプトを作成する際に使用 — ディレクタースタイル、曲構成、ポストプロダクションレイヤリング。 | npx skills add PrunaAI/pruna-skills@audio-prompting -y |
pruna-api | Pruna または Replicate の HTTP コールの前に使用 — 認証情報、アップロード/ポーリング/ダウンロード、並列バッチ、エージェント安全性。 | npx skills add PrunaAI/pruna-skills@pruna-api -y |
または、フルスイートを一度にインストール:npx skills add PrunaAI/pruna-skills@pruna -y
各スキルの 生成前 / 作成セクションに従ってください — ここでガイドの内容を繰り返さないでください。
エージェントの習慣
ルーティング: `p-video-2` は 1080p / インポート音声 / ドラフト クリップ生成用(テキスト/画像/音声)。 `p-video-2-pro` は生成音声を使用したシネマティック生成用(480p / 768p、最初/最後のフレーム、音声アップロードなし)。 `p-video` はよりシンプルで高速なクリップ用。トーキングヘッドのみ(ネイティブシーン音声なし)→ `p-video-avatar`。既存映像の指示編集 → `p-video-edit`。
最初の返信では、`p-video-2` をバッククォートで指定し、PRUNA_API_KEY を確認し(ない場合は pruna-api からサインアップリンクを提示して停止)、必要な入力を尋ねます。受付開始 → 最初の POST の前に generation-diversity 説明受付を実施。モーションプロンプト作成時は、プロンプト作成(動的+忠実) と video-prompting (p-video-2-prompting) に従ってください — スキルの例を貼り付けないでください。使用すべきでない場合 がより適している場合はリダイレクトします。
プロンプト作成(動的+忠実)
すべての input.prompt は 新しく具体的 で、ユーザーの意図に一致 している必要があります。多様性が要件を上書きすることはありません。p-video との差分を作成:video-prompting (p-video-2-prompting)。
| やるべきこと | やってはいけないこと |
|---|---|
generation-diversity のランダムシード儀式を実行し、それを明記する;要件が許せば ≥2 つの自由軸(カメラ移動、照明変化、テクスチャ、ペーシング)をローテーションする | このスキルのcurl例(スポーツカー、人物が振り返る、…)や以前のセッションのプロンプトをコピーする |
まずユーザー必須の事実を固定する(被写体、アクションビート、フレームアンカー時はOPEN/MID/CLOSE、audio 設定時はナレーション同期) | リクエストを無視して「よりクールな」クリップのために被写体や動きを入れ替える |
video-prompting のドラマトゥルギーで構造化する — ビートごとに1つの静止アクション、I2Vでは 安定した カメラ、物理的に安全な動き | 曖昧な雰囲気のみの文字列(シネマティックな雰囲気、ネオンのエネルギー)や極端なシネマティックカメラ移動 |
audio が設定されている場合、動きとペーシングは ナレーション/パフォーマンスのビートに一致 する必要があります;話者は 1人または2人 に保つ | VOが流れている間に関係のないアクションに逸れたり、3人以上の顔でクリップを混雑させる |
ユーザーが文言を確定していない場合、POST の前に下書きプロンプト + モードフィールドを表示する | 承認されたものと異なる被写体やビートでサイレント再生成する |
忠実度チェック(支払い前): プロンプトからユーザーの指定した被写体/アクション/設定を削除した場合、そのジョブは間違っています — 書き直してください。自由軸は、要件が空けた部分のみを埋めます。
下書きプロンプトを表示する際も、`p-video-2` を明記してください(ガイドは作成を支援します;このツールが呼び出しを担当します)。
スキルの境界
このスキル = 呼び出しごとに 1つの p-video-2 予測。
範囲外(このスキルから実行しないこと):
- 複数シーンのアセンブリ、連結、サブエージェントオーケストレーション、または並列シーンバッチ
- 生成音声を使用したシネマティック生成(インポートトラックなし)→
p-video-2-pro - テンプレート動画からのモーショントランスファー →
p-video-animate - トーキングヘッドのみ / ネイティブシーン音声なしのリップシンクホスト →
p-video-avatar - 既存映像の指示編集 →
p-video-edit
リクエストが1クリップを超える場合は、停止 し、以下を推奨:image-to-video(1ナレーションビート)、visual-transition-reel(複数シーンビジュアル)、または narrated-multi-scene(複数シーン+VO)。
使用すべきでない場合
代わりに別のスキルを使用:
| スキル | 説明 | インストール方法 |
|---|---|---|
p-video-2-pro | テキストまたは開始/終了フレームからシネマティッククリップが必要な場合に使用 — 商品広告、ドキュメンタリーショット、または生成音声付きダイアログ。1080p、インポート音声トラック、またはトーキングヘッドのみのホストには使用しない。 | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
p-video | テキストまたは画像からシンプルな短いクリップが必要な場合に使用 — クイックBロール、ドラフト、または開始/終了フレームアニメーション。要件がシネマティック生成、最高品質、タイトなリップシンク、または1080pでのインポート音声を必要とする場合は使用しない。 | npx skills add PrunaAI/pruna-skills@p-video -y |
p-video-avatar | カメラに向かってスクリプトを話す人物が必要な場合に使用 — リップシンクホスト、スポークスパーソン、またはポートレート写真からのナレーション付きアバター。 | npx skills add PrunaAI/pruna-skills@p-video-avatar -y |
p-video-animate | 写真を別の動画のように動かしたい場合に使用 — モーショントランスファー、ダンスリミックス、またはテンプレートクリップからのパフォーマンスバリエーション。 | npx skills add PrunaAI/pruna-skills@p-video-animate -y |
p-video-replace | 既存の映像内の人物、服、または商品を、カメラ移動と音声を維持しながら置き換えたい場合に使用。 | npx skills add PrunaAI/pruna-skills@p-video-replace -y |
p-video-edit | テキスト指示で既存の動画を編集したい場合に使用 — 再着色、スタイル変更、オブジェクトの削除または追加、環境または照明の変更、画面上のテキストの更新、またはオプションの参照ガイド付き商品およびアクセサリー編集。ゼロからの新しいクリップやffmpegアセンブリには使用しない。 | npx skills add PrunaAI/pruna-skills@p-video-edit -y |
video-editing | すでにレンダリングされたクリップをffmpegでアセンブルまたは仕上げる場合に使用 — 連結、クロスフェード、焼き込みキャプションと字幕、テキスト/ロゴオーバーレイ、ビフォー/アフタースライダー、BGM、プラットフォームエクスポート — またはHyperframesを使用したマルチレイヤーHTMLコンビネーション動画の作成。AI動画生成、プロンプト作成、またはモデルベースの動画編集には使用しない。 | npx skills add PrunaAI/pruna-skills@video-editing -y |
HTTP (curl)
画像から動画 / フレームアンカー用のアップロード
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: ${PRUNA_API_KEY}" \
-F "content=@/path/to/first-frame.png"
urls.get を input.image(最初のフレーム)や input.last_frame_image(最後のフレーム)として渡します。TTS/音楽も同様に input.audio 用にアップロードします。
作成(非同期テキストから動画 — 推奨)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-video-2' \
-d '{
"input": {
"prompt": "ネオンの灯る街を夜にドリフトするスポーツカー、シネマティックな空撮",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
ポーリングとダウンロード:pruna-api に従ってください。
プロンプトを書く前に generation-diversity からランダムシード儀式を完了してください — 儀式の文字列をAPI seed として 渡さないでください。
課金は 返される 秒数に基づきます(要求した duration ではありません)。レート制限:毎分250リクエスト。
| 解像度 | draft=false | draft=true |
|---|---|---|
| 720p | $0.025 / s | $0.015 / s |
| 1080p | $0.05 / s | $0.03 / s |
最初 / 最後のフレーム(ビジュアルトランジション)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-video-2' \
-d '{
"input": {
"prompt": "OPEN: 湿った路地をワイドで捉え、ネオンがちらつく。MID: スロードリーイン、雨が舗道に落ちる。CLOSE: 最終ポーズで落ち着く。",
"image": "https://api.pruna.ai/v1/files/START_ID",
"last_frame_image": "https://api.pruna.ai/v1/files/END_ID",
"duration": 5,
"resolution": "720p",
"fps": 24
}
}'
シーンアンカートリプル(image + last_frame_image + audio)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-video-2' \
-d '{
"input": {
"prompt": "アップロードされたトラックを演奏する歌手のクローズアップ。自然なリップシンク、表情豊かな顔、ステージ照明、カメラはパフォーマーに安定して留まる。",
"image": "https://api.pruna.ai/v1/files/SCENE_START",
"last_frame_image": "https://api.pruna.ai/v1/files/SCENE_END",
"audio": "https://api.pruna.ai/v1/files/SCENE_NARRATION",
"resolution": "720p",
"fps": 24,
"save_audio": true
}
}'
audio が設定されている場合は duration を省略 します。クリップ長 = min(音声長, 20s) — TTSは約 ~19s 以下に保ちます(レンダリング前に ffprobe)。音声条件付きジョブは 音声長 で課金されます。
作成(同期 — クイックテストのみ)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-video-2' \
-H 'Try-Sync: true' \
-d '{
"input": {
"prompt": "ネオンの灯る街を夜にドリフトするスポーツカー、シネマティックな空撮",
"duration": 5,
"resolution": "720p",
"draft": true
}
}'
生成前
- 前提条件ガイドの読む順序を完了(
generation-diversity→video-prompting)。 - 儀式シード → 動的+忠実 モーションプロンプト(上記セクション)を作成 → モード(T2V / I2V / フレームペア / 音声)、
duration(省略するとモデルがプロンプトから選択、または音声駆動の場合)、resolution、fps、draft、およびpromptをユーザーと確認。 - Pruna ノート:
imageが設定されている場合、aspect_ratioは無視されます。audioがある場合、durationを省略し、save_audio: true(デフォルト)を維持してナレーションを保持します。画面上のスピーチ の場合は、T2Vネイティブスピーチ(save_audio: true、インポートaudioなし)でリード — ポーズ / ライン / レストリップシンクがp-videoに対する品質向上です。インポートaudioはよりクリーンな顔を維持します;ビジームロックは混合 — ミックスされたwavをリップシンクのデモとして扱わないでください。draft: trueで反復し、その後draft: falseで最終化します。リクエストが複数シーンの場合 — 停止(スキルの境界を参照)。ネイティブ4Kはサポートされていません。
必須入力
prompt(文字列)
一般的なオプションフィールド
| フィールド | 役割 |
|---|---|
image | 最初のフレーム — I2Vアンカー;設定すると aspect_ratio は無視(jpg、jpeg、png、webp) |
last_frame_image | オプションの最終状態静止画 |
audio | 音声条件付き;durationは音声に従う(最大 20s);flac/mp3/wav |
duration | 1–20s;空のまま にするとモデルがプロンプトから長さを選択;audio が設定されている場合は無視 |
resolution | 720p(デフォルト)または 1080p |
fps | 24(デフォルト)または 48 |
aspect_ratio | image がない場合:16:9(デフォルト)、9:16、4:3、3:4、3:2、2:3、1:1 |
draft | true = より安く、高速なプレビュー($0.015/s 720p、$0.03/s 1080p);false(デフォルト)= 最終版 |
save_audio | モデル生成またはアップロードされた音声を出力に保持(デフォルト true) |
prompt_upsampling | プロンプトを強化(デフォルト true) |
seed、disable_safety_filter | 再現性 / クライアントポリシー |
関連
関連スキル:
| スキル | 説明 | インストール方法 |
|---|---|---|
p-video-2-pro | テキストまたは開始/終了フレームからシネマティッククリップが必要な場合に使用 — 商品広告、ドキュメンタリーショット、または生成音声付きダイアログ。1080p、インポート音声トラック、またはトーキングヘッドのみのホストには使用しない。 | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
p-video | テキストまたは画像からシンプルな短いクリップが必要な場合に使用 — クイックBロール、ドラフト、または開始/終了フレームアニメーション。要件がシネマティック生成、最高品質、タイトなリップシンク、または1080pでのインポート音声を必要とする場合は使用しない。 | npx skills add PrunaAI/pruna-skills@p-video -y |
gemini-3.1-flash-tts | 話されたナレーションやボイスオーバーが必要な場合に使用 — 説明トラック、ドキュメンタリーライン、または生成動画と組み合わせる音声。 | npx skills add PrunaAI/[email protected] -y |
image-to-video | 画像から1つの短編映画ビートが必要な場合に使用 — ナレーション付きシーン、ストーリーモーメント、またはオプションのボイスオーバー付きシネマティックBロール。 | npx skills add PrunaAI/pruna-skills@image-to-video -y |
visual-transition-reel | ショット間のトランジションを伴うモンタージュが必要な場合に使用 — アクションシーンリールまたはナレーションがオプションの複数シーン作品。 | npx skills add PrunaAI/pruna-skills@visual-transition-reel -y |
narrated-multi-scene | ボイスオーバー付きの複数パートストーリーが必要な場合に使用 — エピソード的なBロール、章立てプロモーション、またはカメラ上のダイアログなしの複数リンク動画シーン。 | npx skills add PrunaAI/pruna-skills@narrated-multi-scene -y |
p-video-avatar | カメラに向かってスクリプトを話す人物が必要な場合に使用 — リップシンクホスト、スポークスパーソン、またはポートレート写真からのナレーション付きアバター。 | npx skills add PrunaAI/pruna-skills@p-video-avatar -y |
p-video-animate | 写真を別の動画のように動かしたい場合に使用 — モーショントランスファー、ダンスリミックス、またはテンプレートクリップからのパフォーマンスバリエーション。 | npx skills add PrunaAI/pruna-skills@p-video-animate -y |
video-editing | すでにレンダリングされたクリップをffmpegでアセンブルまたは仕上げる場合に使用 — 連結、クロスフェード、焼き込みキャプションと字幕、テキスト/ロゴオーバーレイ、ビフォー/アフタースライダー、BGM、プラットフォームエクスポート — またはHyperframesを使用したマルチレイヤーHTMLコンビネーション動画の作成。AI動画生成、プロンプト作成、またはモデルベースの動画編集には使用しない。 | npx skills add PrunaAI/pruna-skills@video-editing -y |