Communitygithub.com

PrunaAI/pruna-skills

用于从文本或图像生成简短视频片段——快速备用镜头、草稿或首尾帧动画。不适用于需要电影级生成、最高质量、精确口型同步或导入1080p音频的场景。

pruna-skills 是什么?

该技能通过Pruna API(特别是`p-video`模型)从文本、图像或音频输入生成简短视频片段。它适用于快速草稿、简单的B-roll素材和基于首尾帧的动画,输出分辨率为720p,时长不超过20秒。该技能强调多样化和高质量的提示设计:在执行API调用之前,它会引入`generation-diversity`(用于种子随机化和结构化提示)和`video-prompting`(用于镜头语法和运动设计)两个技能。核心原则是“动态+忠实”——提示必须针对当前任务进行定制,必须包含用户指定的主体、动作和场景,同时允许对非关键方面进行自由发挥(如摄像机运动或光照变化)。该技能严格将自身限定为单次`p-video`预测调用,对于需要多场景、口型同步、电影级生成或更高分辨率(1080p)的请求,会引导用户使用其他更专业的技能(如`p-video-2-pro`、`p-video-avatar`、`p-video-animate`)。

兼容平台~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/PrunaAI/pruna-skills/tree/HEAD/skills/video/p-video

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

前置条件

在生成之前,请先安装并加载以下技能(如果已通过 @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 检查)。

生成前

  1. 完成前置条件指南的阅读顺序(generation-diversity → video-prompting)。
  2. 仪式种子 → 起草动态 + 忠实的运动提示(见上文) → 与用户确认模式(T2V / I2V / 帧对 / 音频)、duration(除非由音频驱动)、resolution、fps、draft 和 prompt。
  3. Pruna 备注: 当设置了 image 时,aspect_ratio 被忽略。当设置了 audio 时,省略 duration 并设置 save_audio: true 以保留旁白。优先使用上传的画外音而非后期混音。如果请求是多场景的——停止(参见技能边界)。

必需输入

  • prompt(字符串)

常用可选字段

字段作用
image第一帧——I2V锚点;设置后 aspect_ratio 被忽略
last_frame_image可选的结束状态静态图像
audio音频条件输入;时长跟随音频(上限20秒);支持flac/mp3/wav格式
duration1–20秒(如果设置了 audio 则忽略)
resolution720p(默认)或 1080p
fps24(默认)或 48
aspect_ratio当没有 image 时:16:9、9:16、4:3、3:4、3:2、2:3、1:1
drafttrue ≈ 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

Individual skills in this repo

This repo contains 13 individual skills — each has its own dedicated page.

PrunaAI/pruna-skills

Use when someone needs spoken narration or voiceover — explainer tracks, documentary lines, or voice to pair with generated video.

PrunaAI/pruna-skills

Use when someone wants an original AI song with vocals — sung lyrics, a style prompt track, or source audio for a music video.

PrunaAI/pruna-skills

Use when someone needs word-level timestamps from audio — lyric alignment, cut-safe line boundaries, or caption source timing before burn-in with video-editing.

PrunaAI/pruna-skills

Use before any Pruna or Replicate HTTP call — credentials, upload/poll/download, parallel batches, and agent safety.

PrunaAI/pruna-skills

Use when assembling or polishing already-rendered clips with ffmpeg — concat, crossfades, burned captions and subtitles, text/logo overlays, before/after sliders, background music beds, platform export — or when composing a multi-layer HTML combination video with Hyperframes. Not for AI video generation, prompt craft, or model-based video edits.

PrunaAI/pruna-skills

Use when crafting video or motion prompts for any generative model — dramaturgy, camera, physics-safe motion, frame anchors, and clip chaining.

PrunaAI/pruna-skills

Use when someone wants to edit an existing photo — change outfits or backgrounds, compose from reference images, or apply prompt-driven edits.

PrunaAI/pruna-skills

Use when someone explicitly wants the fastest, cheapest photo generation — mood boards, bulk panels, or quick iterations — not when controlled photoreal or in-image text is needed.

PrunaAI/pruna-skills

Use when someone wants virtual try-on — dress a person in clothes from reference photos for fashion or ecommerce.

PrunaAI/pruna-skills

Use when installing the full Pruna generative media suite — all guides, tools, and workflows in one package.

PrunaAI/pruna-skills

Use when someone wants a cinematic clip from text or start/end frames — product ads, documentary shots, or dialogue with generated audio. Not for 1080p, imported audio tracks, or talking-head-only hosts.

PrunaAI/pruna-skills

Use when someone wants a polished short clip from text, images, or imported audio — 1080p B-roll, start/end frame animation, or a motion shot with a mixed track. Not for cinematic generated-audio clips or talking-head-only hosts.

PrunaAI/pruna-skills

Use when someone wants to edit an existing video with a text instruction — recolor, restyle, remove or add objects, change environment or lighting, update on-screen text, or apply optional reference-guided product and accessory edits. Not for a new clip from scratch or ffmpeg assembly.

相关技能