Communitygithub.com

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.

¿Qué es pruna-skills?

pruna-skills is a Gemini CLI agent skill that 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.

Compatible con~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/PrunaAI/pruna-skills/tree/HEAD/skills/video/p-video-2-pro

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Prerequisites

Install and load these skills before generating (skip if already in context via @pruna):

SkillDescriptionInstall
generation-diversityUse when writing any generative prompt — ritual seed, explicit structure, scenario axes, and quality gates before paid API calls.npx skills add PrunaAI/pruna-skills@generation-diversity -y
video-promptingUse when crafting video or motion prompts for any generative model — dramaturgy, camera, physics-safe motion, frame anchors, and clip chaining.npx skills add PrunaAI/pruna-skills@video-prompting -y
audio-promptingUse when crafting TTS, music, or bed prompts for any generative audio model — director style, song structure, and post-production layering.npx skills add PrunaAI/pruna-skills@audio-prompting -y
pruna-apiUse before any Pruna or Replicate HTTP call — credentials, upload/poll/download, parallel batches, and agent safety.npx skills add PrunaAI/pruna-skills@pruna-api -y

Or install the full suite once: npx skills add PrunaAI/pruna-skills@pruna -y

Follow each skill's Before generating / craft sections — do not restate guide content here.

Agent habit

Routing: `p-video-2-pro` is the cinematic generation clip (text / first frame / first+last frame) with generated audio. Use `p-video-2` when the brief needs 1080p, imported audio, or draft previews. Use `p-video` for cheaper, faster drafts. Talking-head-only (no native scene audio) → `p-video-avatar`. Instruction edit of existing footage → `p-video-edit`.

In the first reply, name `p-video-2-pro` in backticks, confirm PRUNA_API_KEY (or stop with signup links from pruna-api), then ask for required inputs. Open intake → generation-diversity clarification intake before the first POST. When drafting motion prompts, follow Prompt craft (dynamic + faithful) and video-prompting (p-video-2-pro-prompting) — do not paste skill examples. Redirect when When NOT to use fits better.

Prompt craft (dynamic + faithful)

Every input.prompt must be fresh and specific, and must match the user's beat. Diversity never overrides the brief. Craft deltas vs p-video-2: video-prompting (p-video-2-pro-prompting). Write sound or dialogue into the prompt — this model has no audio upload.

DoDon't
Run the generation-diversity random seed ritual; state it; rotate ≥2 free axes (camera move, lighting shift, texture, pacing) when the brief allowsCopy curl examples from this skill (sports car, person turns, …) or reuse a prior session's prompt
Lock user-required facts first (subject, action, scene; OPEN/MID/CLOSE when frame-anchored; spoken line / SFX when audio is part of the brief)Swap the subject or motion for a “cooler” clip that ignores the request
Structure with video-prompting dramaturgy — subject + action + scene; add camera, lighting, style, and audio intent for locked-in finalsVague mood-only strings (cinematic vibe, neon energy) or a silent prompt when the brief asked for speech or score
Keep speakers to one or two; name the line in the promptCrowd a clip with 3+ talking faces, or send audio / draft / fps (not on this API)
Show the drafted prompt + mode / prompt_upsampler / duration / resolution before POST when the user has not locked wordingSilent regen with a different subject or beat than approved

Fidelity check (before pay): if you remove the user's named subject/action/setting from the prompt, the job is wrong — rewrite. Free axes only fill what the brief left open.

When showing a drafted prompt, still name `p-video-2-pro` (guides help craft; this tool owns the call).

Skill boundary

This skill = one p-video-2-pro prediction per invocation.

Out of scope (do not execute from this skill):

  • Multi-scene assembly, concat, subagent orchestration, or parallel scene batches
  • Imported audio / mixed VO / 1080p / draft previews → p-video-2
  • Motion transfer from a template video → p-video-animate
  • Talking-head-only / lip-sync host without native scene audio → p-video-avatar
  • Instruction edit of existing footage → p-video-edit

If the request exceeds one clip, stop and recommend: image-to-video (one beat), visual-transition-reel (multi-scene visual), or narrated-multi-scene (multi-scene + uploaded VO — that path uses p-video-2).

When NOT to use

Use a different skill instead:

SkillDescriptionInstall
p-video-2Use 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.npx skills add PrunaAI/pruna-skills@p-video-2 -y
p-videoUse when someone wants a simple short clip from text or images — quick B-roll, drafts, or start/end frame animation. Not when the brief needs cinematic generation, highest quality, tight lip-sync, or imported audio at 1080p.npx skills add PrunaAI/pruna-skills@p-video -y
p-video-avatarUse when someone wants a person on camera speaking a script — lip-synced host, spokesperson, or narrated avatar from a portrait photo.npx skills add PrunaAI/pruna-skills@p-video-avatar -y
p-video-animateUse when someone wants a photo to move like another video — motion transfer, dance remixes, or performance variations from a template clip.npx skills add PrunaAI/pruna-skills@p-video-animate -y
p-video-replaceUse when someone wants to swap a person, outfit, or product inside existing footage while keeping the camera move and audio.npx skills add PrunaAI/pruna-skills@p-video-replace -y
p-video-editUse 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.npx skills add PrunaAI/pruna-skills@p-video-edit -y
video-editingUse 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.npx skills add PrunaAI/pruna-skills@video-editing -y

HTTP (curl)

Upload for image-to-video / frame anchors

curl -X POST "https://api.pruna.ai/v1/files" \
  -H "apikey: ${PRUNA_API_KEY}" \
  -F "content=@/path/to/first-frame.png"

Pass urls.get as input.image (first frame) and/or input.last_frame_image (last frame). Do not upload audio for this model.

Create (async text-to-video — recommended)

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-video-2-pro' \
  -d '{
    "input": {
      "prompt": "A sports car drifting through a neon-lit city at night, cinematic aerial shot",
      "duration": 5,
      "resolution": "768p",
      "aspect_ratio": "16:9"
    }
  }'

Poll and download: follow pruna-api.

Complete the random seed ritual from generation-diversity before writing prompts — do not pass the ritual string as API seed.

Billing is per returned second (not the requested duration). Rate limit: 250 requests per minute.

Resolutionmode=costmode=speed (default)mode=quality
480p$0.01 / s$0.02 / s$0.04 / s
768p$0.025 / s$0.035 / s$0.075 / s

cost is the same output quality as speed, but cheaper and slower. prompt_upsampler does not change the price.

Image-to-video (first frame)

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-video-2-pro' \
  -d '{
    "input": {
      "prompt": "The camera slowly pushes in, the person turns their head and smiles",
      "image": "https://api.pruna.ai/v1/files/FIRST_ID",
      "duration": 5,
      "resolution": "768p"
    }
  }'

First / last frame (visual transition)

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-video-2-pro' \
  -d '{
    "input": {
      "prompt": "Start on the still product hero. The camera holds, then a slow push-in as light moves across the metal. End exactly on the last-frame packshot, label readable, no extra props.",
      "image": "https://api.pruna.ai/v1/files/START_ID",
      "last_frame_image": "https://api.pruna.ai/v1/files/END_ID",
      "duration": 8,
      "resolution": "768p",
      "mode": "speed",
      "prompt_upsampler": "turbo"
    }
  }'

There is no scene-anchor triple on this model (audio is not exposed). Uploaded VO / music → p-video-2.

Create (sync — quick test only)

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-video-2-pro' \
  -H 'Try-Sync: true' \
  -d '{
    "input": {
      "prompt": "A sports car drifting through a neon-lit city at night, cinematic aerial shot",
      "duration": 5,
      "resolution": "480p",
      "mode": "cost"
    }
  }'

Before generating

  1. Complete Prerequisites guide reading order (generation-diversity → video-prompting).
  2. Ritual seed → draft a dynamic + faithful motion prompt (section above) → confirm mode (T2V / I2V / frame pair), duration (5–15s, default 5), resolution (480p / 768p), mode (cost / speed / quality), prompt_upsampler, and prompt with the user.
  3. Pruna notes: when image or last_frame_image is set, aspect_ratio is ignored (canvas follows the stills). Output is 24 fps — do not send fps. Output includes generated audio; write sound or dialogue in the prompt. Do not send audio, draft, save_audio, or prompt_upsampling. Iterate in mode: cost when price is the priority (same quality as speed, but cheaper and slower) or mode: speed when wall-clock time matters (default); then final with mode: quality when fidelity matters. If the request is multi-scene — stop (see Skill boundary). Native 4K is not supported. 1080p / imported audio / draft → p-video-2.

Required input

  • prompt (string)

Common optional fields

FieldRole
prompt_upsamplerExpand the prompt before generation: off, turbo (default), or max. Independent of mode
imageFirst-frame reference; when set, aspect_ratio is ignored (jpg, jpeg, png, webp)
last_frame_imageOptional end-frame still
duration5–15s (default 5)
resolution768p (default) or 480p
modeGeneration recipe: cost (same quality as speed, but cheaper and slower), speed (default, faster), or quality (slower, higher-fidelity)
aspect_ratioWhen no reference image: 16:9 (default), 9:16, 4:3, 3:4, 3:2, 2:3, 1:1
seedInteger for a reproducible rerun; omit for random

Do not send: audio, draft, fps, save_audio, prompt_upsampling.

Related

Related skills:

SkillDescriptionInstall
p-video-2Use 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.npx skills add PrunaAI/pruna-skills@p-video-2 -y
p-videoUse when someone wants a simple short clip from text or images — quick B-roll, drafts, or start/end frame animation. Not when the brief needs cinematic generation, highest quality, tight lip-sync, or imported audio at 1080p.npx skills add PrunaAI/pruna-skills@p-video -y
gemini-3.1-flash-ttsUse when someone needs spoken narration or voiceover — explainer tracks, documentary lines, or voice to pair with generated video.npx skills add PrunaAI/[email protected] -y
image-to-videoUse when someone wants one short film beat from images — a narrated scene, story moment, or cinematic B-roll with optional voiceover.npx skills add PrunaAI/pruna-skills@image-to-video -y
visual-transition-reelUse when someone wants a montage with transitions between shots — action-sequence reel or multi-scene piece where narration is optional.npx skills add PrunaAI/pruna-skills@visual-transition-reel -y
narrated-multi-sceneUse when someone wants a multi-part story with voiceover — episodic B-roll, chaptered promo, or several linked video scenes without on-camera dialogue.npx skills add PrunaAI/pruna-skills@narrated-multi-scene -y
p-video-avatarUse when someone wants a person on camera speaking a script — lip-synced host, spokesperson, or narrated avatar from a portrait photo.npx skills add PrunaAI/pruna-skills@p-video-avatar -y
p-video-animateUse when someone wants a photo to move like another video — motion transfer, dance remixes, or performance variations from a template clip.npx skills add PrunaAI/pruna-skills@p-video-animate -y
video-editingUse 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.npx skills add PrunaAI/pruna-skills@video-editing -y

Individual skills in this repo

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

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 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 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.

PrunaAI/pruna-skills

Use when someone wants a simple short clip from text or images — quick B-roll, drafts, or start/end frame animation. Not when the brief needs cinematic generation, highest quality, tight lip-sync, or imported audio at 1080p.

Skills relacionados