Install
openclaw skills install @pruna-ai/pruna-generative-pipelineUse when the user is unsure which production workflow fits, needs a recipe menu for multi-step media projects, or wants chained image, video, and audio with approval gates.
openclaw skills install @pruna-ai/pruna-generative-pipelinepruna-runavatar-single-sceneThis skill is the menu of proven chains over the atomic tools in tools/image and tools/video. For HTTP details see pruna-api.md.
Marketing and demo sites change layout and messaging often; this repo is the source of truth for what agents should run. When humans find a compelling flow elsewhere, encode it here (extend a recipe, add a row to the idea map, or add a dedicated workflow skill) after checking it against docs.api.pruna.ai—do not send agents to browse live demos as part of execution.
Tone: Explain plans to the user like a producer—clear scene order, what generates first, and what they should hear or see—especially whenever voice_script or narration exists. Avoid stiff jargon in client-facing script drafts unless they ask for it.
| Resource | Path |
|---|---|
| Full recipe steps (A–R) | recipe-catalog.md |
| Feedback gates | staged-generation-gate.md · requesting-generation-feedback |
| Parallel execution | parallel-execution.md |
| Pruna HTTP | pruna-api.md |
Ask the user which recipe fits (or hybrid). Capture answers before any POST /v1/predictions:
| Topic | Questions |
|---|---|
| Recipe | Which row in the routing table below (or combination)? |
| Deliverable | Stills only, video clip(s), avatars, or mixed? |
| Aspect / resolution | e.g. 9:16 vs 16:9; video default 720p + 24 fps unless user wants 1080p/48 or draft preview? |
| References | Files to upload to /v1/files (URLs only in predictions)? |
| Style lock | One style bible sentence for technical consistency (aspect, no text)? Per-scene visual_style_tag for deliberate variety (anime, clay, Disney 3D, cyberpunk, etc.) — visual-variety-bible.md |
| Character / scenes | Character sheet (age, look, realism, personality)? Per-scene angle, setting, emotion, lighting deltas? Locked seed? Cast diversity on launch reels? |
| Voice / cast | For talking heads: one Pruna voice per character; natural human voice_script; realistic conversational voice_prompt; unique video_prompt per scene. |
| Scenes | If multiple clips: scene table with distinct backgrounds/angles (or defer to narrated-multi-scene / avatar-multi-scene)? |
Generation diversity — ritual seed + diversify axes before the first generation in a session.
Draft any scripts, beats, or prompts that the user must approve in natural, human language (spoken wording for VO; clear intent per scene otherwise).
Pause and obtain explicit confirmation (“approve”, “go”, “run it”) before the first upload or POST /v1/predictions. If the user revises copy or cast, re-confirm when the change matters for cost or outcome.
Staged execution — after plan approval: stills only → user approves → audio prep (TTS / song) when applicable → user approves → video → user approves clips → assembly and final audio (bed). See staged-generation-gate.md and requesting-generation-feedback.
Write a runnable generation package—script or phased API steps—that matches the approved plan exactly. Use async parallel fan-out within each phase (see parallel-execution.md); avoid serial scene-by-scene execution when lanes are independent.
Execute that package when possible (PRUNA_API_KEY, network). Prefer subagents per scene lane (still pipeline or avatar job) when the host supports parallel agents. If execution is not possible here, deliver the same artifact for local runs.
Deep avatar workflows already spell out cast ledgers, hero reuse, and read-throughs in avatar-multi-scene and avatar-single-scene; defer to those when recipe G or H involves p-video-avatar.
| Recipe | You get | Primary models | Deep workflow (if any) |
|---|---|---|---|
| A — Style-locked mood board | N stills, same world | p-image → optional p-image-edit | Stay in this skill |
| B — Hero + variants | One anchor + edits | p-image → p-image-edit | — |
| C — Print / pixel rescue | Higher-res master | p-image-upscale → optional p-image-edit | — |
| D — Animate a plate | One motion clip from a still | p-image or upload → p-video (I2V) | image-to-video |
| E — Audio-led cut | Video length follows VO/music | upload audio → p-video | image-to-video |
| F — Draft → final video | Cheap preview then hi-fi | p-video (draft: true) then rerun draft: false with locked seed/prompt | narrated-multi-scene for many beats |
| G — Talking head | Portrait + speech | p-image / p-image-edit → p-video-avatar | avatar-single-scene or avatar-multi-scene |
| H — Social hook stack | Short vertical beats | Several p-video and/or avatars | Multi-scene skills above; batch avatar/product beats via tool skills |
| M — Motion-transfer showcase | Same motion, new subject + slider before/after | motion .mp4 + still → p-video-animate → slider compare MP4 | avatar-multi-scene (animate rows) |
| N — In-video replacement showcase | Swap people/products in footage + slider before/after | dynamic p-image refs → optional p-video-avatar source → p-video-replace → slider compare MP4 | p-video-replace · avatar-multi-scene |
| O — AI music video | Full song + lyric-synced video | lyrics → music-2.5 → cut map → p-video-avatar + p-video → assembly; hero + p-image-edit when one singer throughout | music-video |
| P — Narrated story film | Multi-scene B-roll + VO (+ optional bed) | hero → p-image-edit start/end stills → p-video with image + last_frame_image chain → gemini-3.1-flash-tts → concat + mux ± stable-audio-2.5 | narrated-multi-scene · audio-post-production.md |
| Q — Visual transition reel | Multi-scene motion between two stills per beat (no VO) | p-image hero → p-image-edit start/end stills → p-video pair (duration) → selective frame chain → concat | visual-transition-reel · scene-anchor-pair.md |
| R — Educational explainer | Narrator VO + expert/character dialogue | p-image hero → p-image-edit stills → narrator triple + character avatar → concat ± bed | interactive-explainer · interactive-explainer-scenes.md |
| S — Illustrated story reel | Still-image story with VO or music (no video API); 9:16, 16:9, or 1:1 | p-image hero → p-image-edit beats → Gemini TTS or Stable Audio → ffmpeg Ken Burns + mux | illustrated-story-reel |
| T — Virtual try-on launch | Fashion vertical showcase reel | p-image person + garment → p-image-try-on → p-video-avatar / p-video / still slider → Gemini TTS → concat + Stable Audio bed | p-image-try-on · recipe-catalog.md (Recipe T) |
POST /v1/files → urls.get) in images, image, audio.p-video, p-video-avatar, and batch stills—create all jobs in the current phase together, poll all get_url until done (parallel-execution.md). Use subagents for independent scene lanes after confirmation.p-image-edit from that URL (plus style bible), not unrelated fresh p-image identity pulls—unless the user resets the character.visual_style_tag per beat—no repetitive office-only stacks unless requested. Run visual-variety-bible.md checklist on launch reels.p-image-ideogram (high-quality fast) or p-image (fastest drafts) with documentary/photoreal prompt → slop gate; every p-image-edit still → slop gate before p-video-avatar. Persona bar: realistic-persona-showcase.md.video_prompt per scene — not duplicated medium-CU dolly on every row.p-image-edit for same character. Log ritual_seed (SSoT) for prompt planning — do not pass to API unless user sets api_seed.voice (and usually voice_language) identical across those clips.voice_script = speakable dialogue; voice_prompt = realistic performance direction (never marketing copy).Full intake, steps, and shine lines for every letter: recipe-catalog.md.
| Recipe | One-liner |
|---|---|
| A | N style-locked p-image panels ± p-image-edit drift fix |
| B | One hero → p-image-edit variants |
| C | p-image-upscale → p-image-edit |
| D | Still → p-video I2V (image-to-video) |
| E | Upload audio → p-video (duration follows audio) |
| F | draft: true previews → locked draft: false finals |
| G | Hero + edits → p-video-avatar (avatar skills) |
| H | 2–5 vertical avatar beats, distinct worlds per scene |
| M | Motion template + still → p-video-animate + slider |
| N | Replace in footage + slider (p-video-replace) |
| O | Lyrics → song → synced clips (music-video) |
| P | Scene anchor triple + VO (narrated-multi-scene) |
| Q | Start/end still pairs, no VO (visual-transition-reel) |
| R | Narrator + character dialogue (interactive-explainer) |
| S | Still story + VO or music (illustrated-story-reel) |
| T | Try-on launch reel — six fashion verticals (p-image-try-on) |
| Model | Skill |
|---|---|
p-image | p-image — good quality, extremely fast (Pruna P-API) |
p-image-ideogram | p-image-ideogram — high-quality fast photoreal (Replicate) |
p-image-edit | p-image-edit |
p-image-upscale | p-image-upscale |
p-image-try-on | p-image-try-on |
p-video | p-video |
p-video-avatar | p-video-avatar |
p-video-animate | p-video-animate |
p-video-replace | p-video-replace |
stable-audio-2.5 (Replicate) | stable-audio-2.5 — launch reel bed under VO |
gemini-3.1-flash-tts (Replicate) | gemini-3.1-flash-tts — narration / voiceover |
music-2.5 (Replicate) | music-2.5 — full songs with vocals |
Audio layering guide: audio-post-production.md · Scene anchor triple: scene-anchor-triple.md
Product-positioning idea map: recipe-catalog.md More ideas.