先決條件
在生成之前,請先安裝並載入這些技能(如果已透過 @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、音樂或背景音提示詞時使用 — 導演風格、歌曲結構,以及後期製作分層。 | 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 範例(sports car,person turns,…)或重用先前會話的提示詞 |
首先鎖定使用者要求的事實(主體、動作節拍、使用幀錨點時的 OPEN/MID/CLOSE、設定 audio 時的口白同步) | 為了「更酷」的片段而替換主體或動作,從而忽略請求 |
使用 video-prompting 的劇作結構來組織 — 每個節拍一個固定動作,I2V 使用穩定的運鏡,物理安全的動態 | 模糊的僅心情字串(cinematic vibe, neon energy)或極端的電影運鏡 |
當設定了 audio,動態和節奏必須與口白/表演節拍匹配;將說話者控制在一或兩位 | 在 VO 播放時偏離到不相關的動作,或用 3+ 個說話面孔塞滿片段 |
在使用者尚未鎖定措辭時,在 POST 之前展示草擬的提示詞 + 模式欄位 | 在未經批准的情況下,使用不同的主體或節拍悄悄重新生成 |
忠實度檢查(付費前): 如果你從提示詞中移除了使用者指定的主體/動作/場景,那麼工作就是錯的 — 請重寫。自由軸只能填補簡報中未指定的部分。
在展示草擬的提示詞時,仍需指明 `p-video-2`(指南有助於設計;此工具擁有呼叫權)。
技能邊界
此技能 = 每次調用一個 p-video-2 預測。
超出範圍(請勿從此技能執行):
- 多場景組合、拼接、子代理編排,或平行場景批次
- 使用生成音訊(無匯入音軌)的電影級生成 →
p-video-2-pro - 從模板影片進行動態轉移 →
p-video-animate - 僅有主持人說話 / 無原生場景音訊的唇形同步主持人 →
p-video-avatar - 對現有片段進行指令編輯 →
p-video-edit
如果需求超過一個片段,請停止並推薦:image-to-video(一個有口白的節拍)、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-roll、草稿或起始/結束幀動畫。不適用於需要電影級生成、最高品質、嚴格唇形同步或在 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 組合或打磨已渲染的片段時使用 — 連接、交叉淡化、燒錄字幕、文字/標誌疊加、前後滑塊、背景音樂、平台匯出 — 或在使用 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": "A sports car drifting through a neon-lit city at night, cinematic aerial shot",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
輪詢和下載:請遵循 pruna-api。
在撰寫提示詞之前,請完成 generation-diversity 中的隨機種子儀式 — 不要將儀式字串作為 API seed 傳入。
計費方式是根據回傳的秒數(而非請求的 duration)。速率限制:每分鐘 250 個請求。
| 解析度 | draft=false | draft=true |
|---|---|---|
| 720p | $0.025 / 秒 | $0.015 / 秒 |
| 1080p | $0.05 / 秒 | $0.03 / 秒 |
首幀 / 尾幀(視覺轉場)
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: hold wide on wet alley, neon flicker. MID: slow dolly in, rain ticks on pavement. CLOSE: settle on end pose.",
"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": "Close-up of a singer performing the uploaded track. Natural lip-sync, expressive face, stage lighting, camera holds steady on the performer.",
"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": "A sports car drifting through a neon-lit city at night, cinematic aerial shot",
"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 | 音訊條件約束;持續時間跟隨音訊(上限 20s);flac/mp3/wav |
duration | 1–20 秒;留空以讓模型從提示詞中選擇長度;如果設定了 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/秒 720p,$0.03/秒 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-roll、草稿或起始/結束幀動畫。不適用於需要電影級生成、最高品質、嚴格唇形同步或在 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 | 當使用者想要從圖片製作一個短片節拍時使用 — 有口白的場景、故事片段,或可選畫外音的電影級 B-roll。 | 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-roll、章節式宣傳片,或幾個沒有鏡頭前對話的連結影片場景。 | 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 組合或打磨已渲染的片段時使用 — 連接、交叉淡化、燒錄字幕、文字/標誌疊加、前後滑塊、背景音樂、平台匯出 — 或在使用 Hyperframes 構建多層 HTML 組合影片時使用。不適用於 AI 影片生成、提示詞設計或基於模型的影片編輯。 | npx skills add PrunaAI/pruna-skills@video-editing -y |