前置条件
在生成之前,请先安装并加载以下技能(如果已通过 @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
请遵循每个技能的 生成前 / 精心设计部分——不要重复此处指南内容。
代理习惯
路由选择: 对于简单、快速的片段——草稿、轻量B-roll、短时运动,使用 `p-video`。电影级生成(含生成音频)→ `p-video-2-pro`。1080p、导入音频或草稿预览 → `p-video-2`。
在首次回复中,用反引号标出 `p-video`,确认 PRUNA_API_KEY(若无则通过 pruna-api 提供注册链接),然后询问所需的输入。开始接收需求 → 按照 generation-diversity 的说明进行需求澄清,然后再进行第一次 POST。在起草运动提示时,遵循 提示设计(动态 + 忠实) 部分——不要粘贴技能示例。当“何时不使用”条件更符合时,则进行引导。
提示设计(动态 + 忠实)
每个 input.prompt 必须新颖且具体,并且必须与用户的节奏相匹配。多样性绝不能凌驾于需求之上。
| 应该做 | 不应该做 |
|---|---|
执行 generation-diversity 的随机种子仪式;明确说明;当需求允许时,轮换至少2个自由维度(摄像机运动、光照变化、纹理、节奏) | 复制此技能中的curl示例(雨打湿的街道、狗抛毛绒玩具...)或重用之前会话的提示 |
首先锁定用户要求的事实(主体、动作节拍、有帧锚点时的开始/中段/结束、设置了audio时的旁白同步) | 为了追求“更酷”的片段而替换主体或运动,忽略用户请求 |
使用video-prompting的戏剧结构进行组织——每个节拍一个冻结动作、物理安全的运动、镜头语法 | 模糊的情绪化字符串(电影感氛围,霓虹能量) |
当设置了 audio 时,运动和节奏必须与旁白节拍匹配 | 在画外音播放时偏离到不相关的动作 |
在用户尚未锁定措辞之前,在 POST 前展示起草的提示 + 模式字段 | 在未经批准的情况下,用不同的主体或节拍进行静默重新生成 |
保真度检查(付费前): 如果你从提示中删除了用户指定的主体/动作/场景,那么任务就是错误的——请重写。自由维度只能填补需求中未明确的空白。
在展示起草的提示时,仍需标出 `p-video`(指南帮助设计;此工具负责调用)。
技能边界
此技能 = 每次调用一个 p-video 预测。
超出范围(不要通过此技能执行):
- 多场景组装、拼接、子代理编排或并行场景批次
- 从模板视频进行运动迁移 →
p-video-animate - 仅限头像说话且无原生场景音频的口型同步主持人 →
p-video-avatar - 电影级生成(含生成音频) →
p-video-2-pro - 1080p、导入音频或草稿预览 →
p-video-2
如果请求超出单个片段的范围,停止并推荐:image-to-video(一个带旁白的节拍)、visual-transition-reel(多场景视觉)或 narrated-multi-scene(多场景 + 旁白)。
何时不使用
请改用其他技能:
| 技能 | 描述 | 安装命令 |
|---|---|---|
p-video-2-pro | 用于从文本或首尾帧生成电影级片段——产品广告、纪录片镜头或带生成音频的对话。不适用于1080p、导入音频轨道或仅限头像说话的主持人。 | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
p-video-2 | 用于从文本、图像或导入音频生成精良短片——1080p B-roll、首尾帧动画或带混合音轨的运动镜头。不适用于电影级生成音频片段或仅限头像说话的主持人。 | npx skills add PrunaAI/pruna-skills@p-video-2 -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' \
-d '{
"input": {
"prompt": "夜间缓慢推近雨淋湿的街道,霓虹倒影,远处有车流嘶嘶声",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
轮询并下载:请遵循 pruna-api 技能。
在编写提示前,请完成 generation-diversity 的随机种子仪式——不要将仪式字符串作为API的 seed 传递。
首帧/尾帧(视觉过渡)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-video' \
-d '{
"input": {
"prompt": "开始:宽镜头展示湿漉漉的小巷,霓虹闪烁。中段:缓慢推进,雨点打在路面上。结束:停在最终姿态上。",
"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' \
-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。片段长度 = 最小(音频长度, 20秒)——保持TTS ≤ ~19秒(渲染前用 ffprobe 检查)。
生成前
- 完成前置条件指南的阅读顺序(
generation-diversity→video-prompting)。 - 仪式种子 → 起草动态 + 忠实的运动提示(见上文) → 与用户确认模式(T2V / I2V / 帧对 / 音频)、
duration(除非由音频驱动)、resolution、fps、draft和prompt。 - Pruna 备注: 当设置了
image时,aspect_ratio被忽略。当设置了audio时,省略duration并设置save_audio: true以保留旁白。优先使用上传的画外音而非后期混音。如果请求是多场景的——停止(参见技能边界)。
必需输入
prompt(字符串)
常用可选字段
| 字段 | 作用 |
|---|---|
image | 第一帧——I2V锚点;设置后 aspect_ratio 被忽略 |
last_frame_image | 可选的结束状态静态图像 |
audio | 音频条件输入;时长跟随音频(上限20秒);支持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 ≈ 4倍速度/更便宜的预览;false = 最终版 |
save_audio | 在输出中保留模型生成的或上传的音频 |
seed、prompt_upsampling、disable_safety_filter | 可复现性 / 客户端策略 |
相关技能
| 技能 | 描述 | 安装命令 |
|---|---|---|
p-video-2-pro | 用于从文本或首尾帧生成电影级片段——产品广告、纪录片镜头或带生成音频的对话。不适用于1080p、导入音频轨道或仅限头像说话的主持人。 | npx skills add PrunaAI/pruna-skills@p-video-2-pro -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 |