设计与多媒体

interactive-explainer

试用

Use when someone wants an educational explainer with a host and characters — history or science shorts with dialogue, not voiceover-only B-roll.

它能做什么

Use when someone wants an educational explainer with a host and characters — history or science shorts with dialogue, not voiceover-only B-roll.

技能文档

Prerequisites

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

SkillDescriptionInstall
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-videoUse when someone wants one short video clip from text or images — B-roll, start/end frame animation, or a quick motion shot. Not for full multi-scene films or lip-synced hosts.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
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 `interactive-explainer` 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.

Quick reference

ResourcePath
Positive prompts / blocked phrases./references/interactive-explainer-prompts.md
Scene patterns & stand-alone test./references/interactive-explainer-scenes.md
Motion (OPEN/MID/CLOSE)./references/interactive-explainer-motion.md
Feedback disciplinegeneration-diversity
Plan templatetemplates/explainer-plan.template.json

Subject flavors (pick one style_bible)

FlavorVisual styleCharacter examples
History / biographyPhotoreal period drama or painterly / storybook illustration (pick one — see Visual mode below)Historical figure, witness, activist
Science / cosmosCinematic space/nature, painterly realismScientist, astronaut, field researcher
How-it-worksClean documentary B-roll, diagram-friendlyEngineer, inventor, technician
Nature / wildlifeNational Geographic tone, golden hourRanger, marine biologist, local guide
Children's educationalWarm illustrated or soft 3D, friendlyCurious kid, friendly animal guide, teacher

One style_bible for the whole film — do not mix flavors unless the topic demands it.

Defaults (720p / 24 fps)

Every plan should set:

"defaults": {
  "resolution": "720p",
  "fps": 24,
  "aspect_ratio": "16:9"
}
  • p-video (narrator): uses resolution + fps
  • p-video-avatar (character): uses resolution only

Motion (dynamic, physics-safe)

Every scene needs visible motion — but not physics-heavy action. See ./references/interactive-explainer-motion.md.

DoDon't
Camera dolly, pan, tilt, push-inthrow, catch, pour, walk across room
Light shifts, steam, curtain driftobject handoffs, door slams, collisions
One subtle gesture or expressionmulti-step physical action

Write video_prompt as OPEN:MID: (attention hook) → CLOSE: (settle on end still). Keep camera moves slow and deliberate.

Intake: ask before generating

Open intake → generation-diversity clarification intake.

TopicQuestions
TopicWhat should the viewer learn? Key facts or story beats?
Media sourceGenerate all stills/avatars with Pruna vs upload cast photos, locations, or reference plates?
FormatDelivery 9:16 / 16:9; avatar and p-video output 720p / 1080p?
AudienceKids, general public, enthusiast? Sets tone and vocabulary
FlavorHistory? Science? Nature? How-it-works? Illustrated?
Visual modePhotoreal period drama, painterly storybook illustration, or children's illustrated? (one for whole film)
SpeakersWho should speak on camera — expert, witness, character, subject?
Interaction mixTarget ≥ 35% character beats — who speaks, in what order?
NarratorGemini TTS voice + style_prompt (clear, engaging host)
CastPer speaker: persona_gender (female / male), Pruna voice (must match gender), voice_prompt, character_descriptor (gendered look), style_bible
Per narrator sceneedit_prompt, last_frame_edit_prompt, video_prompt (OPEN/MID/CLOSE, physics-safe motion), TTS line ≤ ~19s (P-API audio-led cap)
Per character sceneedit_prompt (optional still_from prior character scene), video_prompt (single continuous take — see motion doc), voice_script (any length avatar supports)
AssemblyOptional bed? Crossfades?

Draft the full scene table as a dialogue arc before any API calls. Confirm with user (Phase 0 — plan). Do not call generative APIs until the user replies approve plan / go.

Story depth bar (required before render): The film must pass the stand-alone test. If the story is a biography, pick one through-line — not a life survey.

Feedback gates (required)

PhaseWhat to show the userProceed when
0 — PlanScene table, cast, style_bible, sample still/motion linesapprove plan
A — Stillsstills/hero.png, scene start/end PNGsapprove stills
A2 — TTSaudio/narration_*.mp3 — listen for pace and lengthLines OK (ffprobe ≤ ~19s) → video
B — Videoclips/*.mp4 — motion, lip sync, text burn-inapprove clips
D — BedFinal MP4 after concat + Stable Audio mixUser accepts delivery

Generation phases

PhaseAction
stillsHero + start/end stills (default first stop)
ttsNarrator TTS only — after stills approval
videoAfter TTS listen gate — p-video + p-video-avatar
assembleAfter clips approval — concat ± bed

Scene table (template)

#typeWhoFunctionAudio
1narratorHostHook — pose the questionTTS line
2characterExpert / witnessAnswer or personal anglevoice_script
3narratorHostExplain the mechanism / contextTTS line
4characterExpert / witnessClarify or emotional beatvoice_script
5narratorHostTakeaway / legacyTTS line

Scene types

typeModelStillsAudio
narratorp-videostart + end via p-image-editTTS → upload → input.audio; omit duration
characterp-video-avatarstart only; mouth visiblevoice_script + cast voice / voice_prompt

Default if omitted: narrator.

How the agent runs this

  1. Copy templates/explainer-plan.template.json → fill cast + scene table → approve plan.
  2. Parallel stills curl (pruna-api) → approve stills.
  3. Parallel Gemini TTS (narrator rows) → duration gate → listen.
  4. Parallel p-video triples + p-video-avatarapprove clips.
  5. ffmpeg concat ± crossfade → optional bed.

Workflow

PhaseAction
0p-image hero (+ optional _cast_* anchor stills from anchor_still_prompt)
1Parallel p-image-edit start stills (all scenes)
2Parallel end stills (narrator only)
A2Parallel Gemini TTS (narrator only)
ffprobe -v error -show_entries format=duration -of csv=p=0 audio/narration_01.mp3
# ≤ ~19s before p-video
PhaseAction
BParallel p-video triples + p-video-avatar (avatar may exceed 20s)
C/DConcat ± stable-audio-2.5 bed

Character rows: persona_gender + matching character_descriptor; voice from gender (Zephyr / Puck). Use still_from or _cast_* when hero is B-roll/objects. Avatar text suppression: ./references/interactive-explainer-prompts.md.

Assembly:

ffmpeg -y -f concat -safe 0 -i clips.txt -c copy explainer.mp4

Optional crossfades via plan assembly.hard_cut_crossfade_seconds (~0.12–0.15 on soft joins). Re-assemble from existing clips without regenerating video.

Scripting rules

Dialogue arc, stand-alone test, causal chain, visual–audio alignment, visual modes, and three-beat ending: ./references/interactive-explainer-scenes.md.

Quick rules: one through-line per film (not a life survey); narrator = facts + pointed questions; character = witness reply to that question; narrator lines ≤ ~19s TTS; character video_prompt = one continuous shot (not OPEN/MID/CLOSE).

Common mistakes

  • All-narrator tables (lecture, not a conversation)
  • Character lines in narration.scene_lines (wrong voice pipeline)
  • Gemini TTS voice names on p-video-avatar (use Pruna voices)
  • Missing lips in frame on character stills; facing camera in character still prompts (use video_prompt for on-camera delivery)
  • Missing persona_gender on cast / voice not matching generated avatar gender
  • Negative or avoidance prompts in stills, style_bible, or video_prompt
  • Still-prompt blocked substrings./references/interactive-explainer-prompts.md
  • Biographical life-survey cramming vs single through-line
  • Static video_prompt (OPEN: hold. CLOSE: hold.) — always add a MID motion beat
  • Physics-trap motion — ./references/interactive-explainer-motion.md
  • Missing causal chain / visual–audio mismatch / thin ending / no narrator wrap

Related skills:

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

相关技能

Use when writing any generative prompt — ritual seed, explicit structure, scenario axes, and quality gates before paid API calls.

Use when someone wants one polished host-on-camera beat — a speaking person with intake and approval gates before generation.

Use when someone wants the same person hosting several clips — multi-segment UGC, comparison reels, or mixed speaking and animated scenes with continuity.

1 次安装

Use when someone wants a slideshow story with narration or music — picture-book illustrated frames with Ken Burns or gentle p-video motion.

1 次安装

Use when crafting TTS, music, or bed prompts for any generative audio model — director style, song structure, and post-production layering.

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