{"id":16506,"plugin_id":"plugins_6a50b49006148191a10a308fbfb6bf7c","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:13:29.071Z","digest":"59f81ff7cc6a28b3f6ba0a9c4342decaeab16f9da43e47241f6d768b8b1fd436","against":null,"payload":{"description":"Story clip: turn a compact narrative into a few connected shots with a clear visual beat, controlled pacing and coherent sound.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":253}],"name":"pixverse-cinematic-story","skill_md_contents":"---\nname: pixverse-cinematic-story\ndescription: \"Story clip: turn a compact narrative into a few connected shots with a clear visual beat, controlled pacing and coherent sound.\"\n---\n\n# Cinematic Story Clips\n\n## Installed Command\n\nBefore running helper commands, resolve the absolute plugin root from this `SKILL.md` path: it is two directories above this skill directory and contains `.codex-plugin/plugin.json`. In every new shell session, set:\n\n```bash\nPVX=\"<absolute-plugin-root>/scripts/pvx\"\n```\n\nRun helper commands through `\"${PVX}\"`. Do not assume the user's current working directory is the plugin checkout, and do not bypass the installed wrapper with a module invocation.\n\n## CLI Execution\n\nApply `../../skills-shared/quality-policy.md` to all generated images/videos: Sunburst 2K/high,\nSeedance 2.5 1080p with automatic prompt enhancement, and an explicit upgrade/fallback\nchoice for Free/Basic or model-entitlement rejection.\n\nFor an explicitly selected Canvas project or node, read\n`../../skills-internal/pixverse-agent-canvas/SKILL.md` first and follow its Canvas\npreflight and delivery contract; the ordinary queue/local route below does not replace it.\n\nFor ordinary creation or editing, read `../../skills-shared/cli-workflow.md` before\nexecuting this workflow. It contains the existing account-aware routing, paid-work\nconfirmation, progress, preview and project-handoff rules. Studio and Production are\nnot prerequisites. The shared account, confirmation and direct-medium rules govern the\nexamples and defaults below. Read the gateway only when writing manual CLI commands or queue specs.\nCreation command examples below are queue-task fragments, not permission to submit paid\n`pixverse create` commands directly.\n\nTell one beat well. A 15-second clip cannot carry a feature plot.\n\nRead:\n\n- `../../skills-shared/cinematography.md`\n- `../../skills-shared/prompt-craft.md`\n- `../../skills-shared/model-routing.md`\n\n## Fast Path\n\n1. Compress the idea into one emotional turn.\n2. Define character, want, obstacle, image hook, ending image.\n3. For a simple one-shot story, generate video directly. Generate a board only when character/world/composition continuity makes it useful and the user approves that paid stage.\n4. Render the clip.\n5. QA for continuity and emotional readability.\n\nFor a multi-shot story, establish character and scene/look assets, write the detailed storyboard, and create one approved control frame per shot. Once those are approved, batch the motion stage:\n\n```bash\n\"${PVX}\" story queue projects/<slug>/story.json --project <slug> --shot <shot-1> --shot <shot-2> --shot <shot-3> --shot-reference <shot-1-board> --shot-reference <shot-2-board> --shot-reference <shot-3-board> --reference <character-or-world-lock> --target-duration 30 --music-prompt <instrumental-score-prompt-or-file> --audio --preflight --format markdown\n```\n\nWhen the story needs a reusable score, `--music-prompt` adds one independent Music 2.6 instrumental task to the same queue. It starts alongside the board and removes the extra `queue append` preparation step; trim and mix it locally after `story assemble`.\n\nNever use one contact sheet, storyboard grid, or multi-panel sheet as the direct reference for every Seedance shot. Each shot-specific reference must be a clean cinematic frame for that shot. The compact shared `--board-prompt` route is opt-in only for low-risk stories with no visual-selection checkpoint.\n\nAfter generation, use `\"${PVX}\" story assemble <slug> --output projects/<slug>/deliverables/final-story.mp4 --sample-frames`. This downloads missing shots, stitches, checks duration, samples across the full timeline, and writes project memory in one local call.\n\n## Story Shapes\n\n- **Reveal:** ordinary image becomes strange.\n- **Choice:** character hesitates, acts, consequence lands.\n- **Chase:** motion pressure, one clean geography.\n- **Gag:** setup, escalation, reversal.\n- **Trailer:** three iconic fragments, final title/feeling.\n- **Fable:** symbolic character, clear moral image.\n\n## Prompt Contract\n\nFor video, include:\n\n- protagonist identity\n- setting\n- action timeline\n- camera language\n- emotional turn\n- ending frame\n- audio/dialogue only if necessary\n\nAvoid cramming 6 scenes into one prompt. If the idea needs multiple clips, create multiple tasks and later stitch.\n\n## Quality Checks\n\n- can the viewer infer what changed?\n- does the protagonist stay recognizable?\n- does camera motion help, not confuse?\n- does the ending frame feel intentional?\n- is the clip too generic for the user's taste?\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}