agentleFS
PrunaAIPrunaAI/pruna-skills/skills/workflows/image-to-video/SKILL.md

image-to-video

Skill20 starsChanged 44 days agoApache-2.0View on GitHub

Use when someone wants one short film beat from images — a narrated scene, story moment, or cinematic B-roll with optional voiceover.

15 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use flux-2-klein, flux-kontext and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • agentspace-soSkill

    flux-2-klein

    Generate images with Flux 2 Klein (Black Forest Labs' distilled fast variant of Flux 2) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Flux 2 Klein's strengths (sub-second latency, multi-reference brand styling, declarative subject-first prompts), the step-count strategy (4–8 for fast iteration, ~25 for polish), the 9B vs 4B variant trade-off, and when to route to Flux 2 Pro / Seedream 5 / GPT Image 2 instead. Calls `runcomfy run blackforestlabs/flux-2-klein/9b/text-to-image` (or `/4b/`) through the local RunComfy CLI. Triggers on "flux 2 klein", "flux-2-klein", "flux klein", "BFL flux 2", or any explicit ask to generate with this model.

    Also in 4 projects that use this

  • agentspace-soSkill

    flux-kontext

    Edit images with Flux 1 Kontext Pro (Black Forest Labs' precise local image-edit model) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Flux Kontext's strengths (single-reference precise local edits, strong prompt control, consistent high-fidelity outputs), the schema (single image + prompt), and when to route to Nano Banana Edit / GPT Image 2 edit / Flux 2 Klein instead. Calls `runcomfy run blackforestlabs/flux-1-kontext/pro/edit` through the local RunComfy CLI. Triggers on "flux kontext", "flux-kontext", "flux 1 kontext", "kontext", "BFL kontext", or any explicit ask to edit with this model.

    Also in 4 projects that use this

  • prime-skillsSkill

    image-inpainting

    Mask-driven image inpainting on RunComfy via the `runcomfy` CLI. Routes to Tongyi MAI Z-Image Turbo Inpainting (the dedicated inpainting endpoint with mask, strength, and control-scale) and to identity-preserving edit models (Nano Banana 2 Edit, GPT Image 2 Edit, FLUX Kontext Pro) when a mask isn't available and the region must be described instead. Use for object removal, watermark removal, region replacement, blemish cleanup, and any controlled local edit where a binary mask defines the target area. Triggers on "inpaint", "inpainting", "image inpaint", "remove from image", "fill region", "mask-driven edit", "remove watermark", "remove object", "patch the photo", "fill the hole", or any explicit ask to edit a specific masked region of a still.

    Also in 4 projects that use this

  • prime-skillsSkill

    ace-step

    Generate, inpaint, and outpaint music with ACE Step on RunComfy via the `runcomfy` CLI. ACE Step is StepFun-AI's open-weights music foundation model — tag-driven composition (genre, mood, instruments), multilingual lyrics with section markers, 5 s to 4 min stereo output, $0.0002–0.0003 per second (≈ 27× cheaper than ElevenLabs Music). Four endpoints: ACE Step text-to-audio (the default), ACE Step 1.5 text-to-audio (50+ language lyrics, refined structured-lyric handling), ACE Step audio-inpaint (regenerate a time range inside an existing track), ACE Step audio-outpaint (extend an existing track before or after). Triggers on "ace step", "ace-step", "acestep", "ACE music", "open music model", "cheap AI music", "inpaint audio", "audio inpaint", "extend music", "audio outpaint", "lengthen track", "music with tags", or any explicit ask to generate or edit music with ACE Step.

    Also in 3 projects that use this

  • +3 more from agentspace-so
  • +5 more from prime-skills

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 13 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

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

    line 28
  2. Very specific:

    If the user wants a multi-scene film → hand off to narrated-multi-scene or visual-transition-reel.

    line 38
  3. Very specific:

    Do not: call POST /v1/predictions until these are answered and logged:

    line 58
  4. Very specific:

    I2V + last: add last_frame_image

    line 108

“Common” is measured: kept by at least 6 in 10 of the 13 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Prerequisites

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

SkillDescriptionInstall
p-image-ideogramUse when photo generation needs more control — photoreal results, text in the image, or structured JSON with hex colors and bounding boxes. Simpler photo generation, edits, and video use other skills in the suite.npx skills add PrunaAI/pruna-skills@p-image-ideogram -y
p-imageUse 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.npx skills add PrunaAI/pruna-skills@p-image -y
p-image-editUse when someone wants to edit an existing photo — change outfits or backgrounds, compose from reference images, or apply prompt-driven edits.npx skills add PrunaAI/pruna-skills@p-image-edit -y
p-video-2-proUse 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.npx skills add PrunaAI/pruna-skills@p-video-2-pro -y
p-video-2-pro-referenceUse when someone wants one cinematic clip that locks a subject from references — a product still, character, clip, or voice — using image or video references plus optional audio kept as the soundtrack or used as guidance. Not for text-only generation, 1080p, or drafts.npx skills add PrunaAI/pruna-skills@p-video-2-pro-reference -y
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/pruna-skills@gemini-3.1-flash-tts -y
stable-audio-2.5Use when someone wants light instrumental background music — an ambient bed under dialogue or underscore for reels and explainers.npx skills add PrunaAI/pruna-skills@stable-audio-2.5 -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.

Workflow habit

In every reply, name `image-to-video` in backticks. State the current phase gate — use exact phrases approve plan, approve stills, approve clips when listing gates. Do not same-turn plan + paid video. Skip-review / burn-credits → follow generation-diversity Red flags.

Skill boundary

Exactly one scene / one video job. Standard text / single-frame / frame-pair generation with generated audio → `p-video-2-pro`. Imported image or video references that lock a subject or condition identity, style, motion, timing, or performance — with generated audio, optional audio guidance, or one kept soundtrack (keep_audio) → `p-video-2-pro-reference`. Scene-anchor triple / 1080p / draft → `p-video-2`. Simpler clip → `p-video`. No subagents, no concat across scenes, no multi-scene manifest ownership.

If the user wants a multi-scene film → hand off to narrated-multi-scene or visual-transition-reel. Talking-head-only → avatar-single-scene.

Data handling: pruna-api (agent safety) before any upload or paid call.

Staged generation: generation-diversity · generation-diversity

Feedback gates (required)

PhaseWhat to showProceed when
0 — PlanMode, motion prompt, frame planapprove plan
A — StillsStart + end stillsapprove stills
A2 — TTSNarration MP3 (triple mode) — listenLine OK (ffprobe ≤ ~19s)
B — VideoClip (p-video-2-pro standard / p-video-2-pro-reference reference-conditioned / p-video-2 audio-led or 1080p/draft)approve clips
D — BedOptional post-mux bedUser accepts

Intake: ask before generating

Open intake → generation-diversity clarification intake.

Do not call POST /v1/predictions until these are answered and logged:

TopicQuestions
Modereference-conditioned (one clip using one or more imported conditioning assets on p-video-2-pro-reference) · triple (image + last_frame_image + audio on p-video-2 — preferred when the uploaded soundtrack must remain) · pair (start + end still + duration on p-video-2-pro) · T2V · I2V · I2V+last · audio-only (no frames, p-video-2)
Media sourceGenerate start/end stills (p-image-ideogram / p-image-edit, or p-image for a cheap draft) vs upload user photos for frames?
ReferencesFor reference-conditioned, list every image/video/audio source and assign one role each (identity, style/material, motion/camera, timing/performance). Confirm image/video requirement, counts, each clip length and combined limits from the tool skill, upload approval, and paid reference-input estimate. Remove or prioritize competing references.
CreativeMotion prompt only — what happens between first and last frame? One paragraph max. Write sound/dialogue into the prompt for p-video-2-pro.
FramesStart still (upload or p-image-edit)? End still (last_frame_edit_prompt)? On the reference model, first/last frames are soft keyframes, not exact endpoints. Stay single-scene — if the user wants a longer frame_chain / multi-scene project, stop and switch workflows.
AudioGenerated in-clip (p-video-2-pro or p-video-2-pro-reference, write sound in prompt) vs timing/performance reference (p-video-2-pro-reference, guidance only) vs one kept track (p-video-2-pro-reference with keep_audio: true, exactly one audio file, 480p/768p) vs gemini-3.1-flash-tts → input.audio on p-video-2 for the scene-anchor triple or 1080p. Optional post bed — audio-prompting.
FormatPro lanes: 768p, 24 fps, duration 5–15s. p-video-2: default 720p, 24 fps; duration only when no audio; override when final delivery requires 1080p.
Draft / recipep-video-2-pro: cost / speed / quality. p-video-2-pro-reference: cost / speed only — no quality. p-video-2: draft: true preview or false final.
ReproFixed seed?
DeliveryAsync (production); Try-Sync: true only for quick tests

How the agent runs this

Order (narrated triple — user supplies stills + script): approve plan → build/review stills → approve stills → Gemini TTS + ffprobe (≤ ~19s) → upload audio → one p-video-2 embed → approve clips. Do not batch video jobs before still and TTS review.

Order (visual-only pair / T2V / I2V): approve plan → stills if needed → approve stills → one p-video-2-pro job → approve clips.

Order (reference-conditioned): approve plan with asset-role map, validation, soft-keyframe expectations, and paid estimate → upload/approve references → one p-video-2-pro-reference job → approve clips.

  1. Confirm intake → present plan → wait for approve plan.
  2. Build start/end stills with curl (pruna-api upload/poll/download). Show stills → approve stills.
  3. Triple mode: Gemini TTS → probe duration → upload MP3:
ffprobe -v error -show_entries format=duration -of csv=p=0 narration.mp3
# must be ≤ ~19 (P-API audio-led max is 20s)
  1. One async p-video-2 job (image + last_frame_image + audio; omit duration; save_audio: true). Poll → download.
  2. Optional bed: mix stable-audio-2.5 under embedded VO with ffmpeg (amix, bed ~0.08–0.15).

Workflow (after intake)

Preferred — scene anchor triple

  1. Start still — upload or p-image-ideogram / p-image-edit (p-image for a cheap draft)
  2. End still — p-image-edit from start still + last_frame_edit_prompt
  3. Narration — Gemini TTS → ffprobe (≤ ~19s) → upload to /v1/files
  4. p-video-2 — image + last_frame_image + audio + motion prompt; omit duration; save_audio: true; async poll
  5. Optional bed — mix under embedded narration in post

Craft: video-prompting (scene-anchor triple).

Other modes (visual-only → p-video-2-pro)

  • I2V only: image + duration (5–15) + prompt — write sound in the prompt
  • I2V + last: add last_frame_image
  • T2V: prompt + duration + aspect_ratio

1080p, imported audio, or draft → stay on p-video-2.

Reference-conditioned → p-video-2-pro-reference

Use one prediction when imported references jointly condition a single clip. Pass arrays for image/video/audio references, assign one non-competing role per asset in the plan and prompt, and treat optional first/last frames as soft keyframes. The output carries generated audio. Audio references guide timing/performance; set keep_audio: true with exactly one audio file to keep it as the soundtrack. Use 480p/768p and mode: cost or speed only; validate current counts, lengths, and billing in the tool skill before upload.

Related

Related skills:

SkillDescriptionInstall
p-video-2-pro-referenceUse when someone wants one cinematic clip that locks a subject from references — a product still, character, clip, or voice — using image or video references plus optional audio kept as the soundtrack or used as guidance. Not for text-only generation, 1080p, or drafts.npx skills add PrunaAI/pruna-skills@p-video-2-pro-reference -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
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
avatar-single-sceneUse when someone wants one polished host-on-camera beat — a speaking person with intake and approval gates before generation.npx skills add PrunaAI/pruna-skills@avatar-single-scene -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

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.