@autoaiai/aicut 0.1.7 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MANUAL.md +10 -0
- package/package.json +1 -1
- package/product.json +2 -1
- package/skills/30x-web-to-video/SKILL.md +421 -0
- package/skills/30x-web-to-video/examples/INDEX.md +26 -0
- package/skills/30x-web-to-video/references/animations.md +539 -0
- package/skills/30x-web-to-video/references/audio.md +256 -0
- package/skills/30x-web-to-video/references/components.md +340 -0
- package/skills/30x-web-to-video/references/lottie.md +174 -0
- package/skills/30x-web-to-video/references/visual-effects.md +157 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/audio.md +169 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/calculate-metadata.md +134 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/charts.md +120 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/compositions.md +154 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/ffmpeg.md +38 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/fonts.md +152 -0
- package/skills/3d-asset-generation/SKILL.md +142 -0
- package/skills/action-fight-prompt/SKILL.md +136 -0
- package/skills/action-fight-prompt/references/camera-and-impact.md +64 -0
- package/skills/action-fight-prompt/references/example-15s-duel.md +59 -0
- package/skills/action-fight-prompt/references/scene-patterns.md +80 -0
- package/skills/ad-creative-video/SKILL.md +205 -0
- package/skills/ad-creative-video/references/batch-ad-pipeline.md +289 -0
- package/skills/ad-creative-video/references/platform-specs.md +72 -0
- package/skills/after-effects/SKILL.md +123 -0
- package/skills/after-effects/references/export-recipes.md +168 -0
- package/skills/after-effects/references/expression-library.md +184 -0
- package/skills/after-effects/references/expressions.md +134 -0
- package/skills/after-effects/references/performance-triage.md +138 -0
- package/skills/after-effects/references/project-hygiene.md +188 -0
- package/skills/ai-media-quality-review/SKILL.md +72 -0
- package/skills/ai-product-video/SKILL.md +296 -0
- package/skills/ai-product-video/references/aesthetic-rules.md +177 -0
- package/skills/ai-product-video/references/final-review.md +110 -0
- package/skills/ai-product-video/references/guided-free-creation.md +194 -0
- package/skills/ai-product-video/references/music-beat-sync.md +219 -0
- package/skills/ai-product-video/references/pipeline.md +392 -0
- package/skills/ai-product-video/references/sequences/promo-energy-arc.md +50 -0
- package/skills/ai-product-video/references/shots/ATTRIBUTION.md +65 -0
- package/skills/ai-product-video/references/shots/camera/basic-3d-scene.md +37 -0
- package/skills/ai-product-video/references/shots/camera/crash-zoom-punch.md +39 -0
- package/skills/ai-product-video/references/shots/camera/cursor-flyover.md +38 -0
- package/skills/ai-product-video/references/shots/camera/depth-layer-moves.md +40 -0
- package/skills/ai-product-video/references/shots/camera/graze-face-tour.md +57 -0
- package/skills/aicut/SKILL.md +4 -4
- package/skills/aicut/references/commands.md +15 -15
- package/skills/aicut/references/film-format.md +1 -1
- package/skills/aicut/references/recipes.md +4 -4
- package/skills/aicut/references/troubleshooting.md +2 -2
- package/skills/aicut-motion/SKILL.md +6 -6
- package/skills/aicut-motion/references/design-systems/README.md +1 -1
- package/skills/aicut-motion/references/pages.md +1 -1
- package/skills/anidoodle/SKILL.md +185 -0
- package/skills/anidoodle/references/anatomy.md +91 -0
- package/skills/anidoodle/references/backends-and-adapters.md +82 -0
- package/skills/anidoodle/references/camera.md +148 -0
- package/skills/anidoodle/references/craft-bar.md +72 -0
- package/skills/anidoodle/references/determinism-and-contract.md +46 -0
- package/skills/anidoodle/references/formats.md +121 -0
- package/skills/anidoodle/references/motion-grammar.md +234 -0
- package/skills/anidoodle/references/music/compose.md +388 -0
- package/skills/anidoodle/references/music/sound-design.md +245 -0
- package/skills/anidoodle/references/music/sounds-licenses.md +69 -0
- package/skills/anidoodle/references/music/styles/lofi-electronic.md +112 -0
- package/skills/anidoodle/references/music/styles/music-box.md +57 -0
- package/skills/animated-component-libraries/SKILL.md +820 -0
- package/skills/animated-component-libraries/references/customization_guide.md +699 -0
- package/skills/animated-component-libraries/references/magic_ui_components.md +422 -0
- package/skills/animated-component-libraries/references/react_bits_components.md +587 -0
- package/skills/animated-infographic/SKILL.md +211 -0
- package/skills/animated-infographic/references/sequenced-infographic.md +286 -0
- package/skills/appshot-core/SKILL.md +872 -0
- package/skills/article-highlights/SKILL.md +151 -0
- package/skills/avatar-mix/SKILL.md +301 -0
- package/skills/bang-motion/SKILL.md +583 -0
- package/skills/bang-motion/references/ae-bridge-higgsfield.md +160 -0
- package/skills/bang-motion/references/anti-ppt.md +110 -0
- package/skills/bang-motion/references/architecture.md +188 -0
- package/skills/bang-motion/references/explainer.md +579 -0
- package/skills/bang-motion/references/kartun-panggung.md +221 -0
- package/skills/bang-motion/references/opener-konsep.md +817 -0
- package/skills/bang-motion/references/roadmap.md +85 -0
- package/skills/bang-motion/references/techniques.md +690 -0
- package/skills/beat-sync-edit/SKILL.md +148 -0
- package/skills/book-video-factory/SKILL.md +139 -0
- package/skills/book-video-factory/references/first-run.md +50 -0
- package/skills/book-video-factory/references/paper-collage-explainer.md +127 -0
- package/skills/book-video-factory/references/quality-gates.md +87 -0
- package/skills/book-video-production/SKILL.md +211 -0
- package/skills/brag/SKILL.md +195 -0
- package/skills/brag/references/audio.md +312 -0
- package/skills/brag/references/step-1-inspect.md +125 -0
- package/skills/brag/references/step-2-plan.md +234 -0
- package/skills/brag/references/step-3-compose.md +199 -0
- package/skills/brag/references/step-4-deliver.md +141 -0
- package/skills/brag/references/tones.md +231 -0
- package/skills/brand-setup/SKILL.md +228 -0
- package/skills/brewreel/SKILL.md +491 -0
- package/skills/brewreel/docs/broll.en.md +252 -0
- package/skills/brewreel/docs/broll.md +252 -0
- package/skills/brewreel/docs/custom-shot.en.md +66 -0
- package/skills/brewreel/docs/custom-shot.md +103 -0
- package/skills/brewreel/docs/faq.en.md +90 -0
- package/skills/brewreel/docs/faq.md +90 -0
- package/skills/brewreel/docs/features.en.md +157 -0
- package/skills/brewreel/docs/features.md +157 -0
- package/skills/brewreel/docs/gallery.en.md +44 -0
- package/skills/brewreel/docs/gallery.md +44 -0
- package/skills/brewreel/docs/how-it-works.en.md +64 -0
- package/skills/brewreel/docs/how-it-works.md +64 -0
- package/skills/caption-animation/SKILL.md +216 -0
- package/skills/caption-animation/references/word-timed-captions.md +254 -0
- package/skills/cartcut-editing/SKILL.md +615 -0
- package/skills/cartcut-editing/references/html-typography.md +277 -0
- package/skills/cassette-video-edit/SKILL.md +129 -0
- package/skills/ccvideo/SKILL.md +264 -0
- package/skills/chekhov-dramaturgy/SKILL.md +367 -0
- package/skills/chekhov-dramaturgy/reference.md +375 -0
- package/skills/chengfeng-check-updates/SKILL.md +283 -0
- package/skills/cinematic-product-promo-skill/SKILL.md +295 -0
- package/skills/cinematic-product-promo-skill/references/aesthetic-rules.md +187 -0
- package/skills/cinematic-product-promo-skill/references/final-review.md +116 -0
- package/skills/cinematic-product-promo-skill/references/guided-free-creation.md +199 -0
- package/skills/cinematic-product-promo-skill/references/jianying-export.md +183 -0
- package/skills/cinematic-product-promo-skill/references/music-beat-sync.md +257 -0
- package/skills/cinematic-product-promo-skill/references/pipeline.md +393 -0
- package/skills/cinematic-product-promo-skill/references/sequences/promo-energy-arc.md +50 -0
- package/skills/cinematic-product-promo-skill/references/shots/ATTRIBUTION.md +65 -0
- package/skills/cinematic-product-promo-skill/references/shots/camera/basic-3d-scene.md +37 -0
- package/skills/cinematic-product-promo-skill/references/shots/camera/crash-zoom-punch.md +39 -0
- package/skills/cinematic-product-promo-skill/references/shots/camera/cursor-flyover.md +38 -0
- package/skills/cinematic-product-promo-skill/references/shots/camera/depth-layer-moves.md +40 -0
- package/skills/claude-gif/SKILL.md +211 -0
- package/skills/claude-gif/references/gif-optimization.md +209 -0
- package/skills/claude-gif/references/perfect-loops.md +295 -0
- package/skills/claude-gif/references/platform-specs.md +138 -0
- package/skills/claude-gif/references/prompt-engineering.md +211 -0
- package/skills/claude-gif/references/remotion-gif.md +560 -0
- package/skills/codex-video-pipeline/SKILL.md +213 -0
- package/skills/codex-video-pipeline/examples/ai-meeting-notes/INPUT.md +10 -0
- package/skills/codex-video-pipeline/examples/ai-meeting-notes/expected/action-list.md +22 -0
- package/skills/codex-video-pipeline/references/captions.md +39 -0
- package/skills/codex-video-pipeline/references/cover-system.md +72 -0
- package/skills/codex-video-pipeline/references/cross-platform.md +77 -0
- package/skills/codex-video-pipeline/references/example-run.md +54 -0
- package/skills/codex-video-pipeline/references/first-run.md +130 -0
- package/skills/codex-video-pipeline/references/project-contract.md +54 -0
- package/skills/codex-video-pipeline/references/quality-gates.md +44 -0
- package/skills/codex-video-pipeline/references/research-and-script.md +50 -0
- package/skills/collage-broll-explainers/SKILL.md +429 -0
- package/skills/create-onboarding-video/SKILL.md +233 -0
- package/skills/cs-shotcraft-skill/SKILL.md +218 -0
- package/skills/cs-shotcraft-skill/references/aesthetic-rules.md +207 -0
- package/skills/cs-shotcraft-skill/references/camera-table.md +88 -0
- package/skills/cs-shotcraft-skill/references/engineering.md +132 -0
- package/skills/cs-shotcraft-skill/references/final-review.md +118 -0
- package/skills/cs-shotcraft-skill/references/guided-free-creation.md +199 -0
- package/skills/cs-shotcraft-skill/references/jianying-export.md +183 -0
- package/skills/cs-shotcraft-skill/references/music-beat-sync.md +257 -0
- package/skills/cs-shotcraft-skill/references/pipeline.md +408 -0
- package/skills/cs-shotcraft-skill/references/product-machine.md +56 -0
- package/skills/cs-shotcraft-skill/references/sequences/promo-energy-arc.md +50 -0
- package/skills/cs-shotcraft-skill/references/shots/ATTRIBUTION.md +65 -0
- package/skills/cs-shotcraft-skill/references/shots/camera/basic-3d-scene.md +37 -0
- package/skills/cut-video/SKILL.md +387 -0
- package/skills/cyxj-hyperframes-overlay/SKILL.md +75 -0
- package/skills/cyxj-remotion-evolve/SKILL.md +123 -0
- package/skills/cyxj-remotion-evolve-vibe-motion/SKILL.md +123 -0
- package/skills/demo-video-creation-skill/SKILL.md +152 -0
- package/skills/demo-video-creation-skill/references/capture-workflow.md +74 -0
- package/skills/demo-video-creation-skill/references/qc-checklist.md +61 -0
- package/skills/demo-video-creation-skill/references/remotion-ffmpeg.md +94 -0
- package/skills/demo-video-creation-skill/references/storytelling.md +86 -0
- package/skills/demo-video-creation-skill/references/visual-system.md +83 -0
- package/skills/demoday/SKILL.md +148 -0
- package/skills/develop-premiere-pro-mcp/SKILL.md +131 -0
- package/skills/diagram-animation/SKILL.md +200 -0
- package/skills/diagram-animation/references/diagram-and-chart-recipes.md +218 -0
- package/skills/diagram-tour/SKILL.md +287 -0
- package/skills/diagram-tour/examples/agent-architecture/agent-architecture-tour.md +78 -0
- package/skills/docvideoer/SKILL.md +139 -0
- package/skills/draftcut/SKILL.md +104 -0
- package/skills/draftcut/docs/agent-bootstrap.md +64 -0
- package/skills/draftcut/docs/approvals.md +45 -0
- package/skills/draftcut/docs/audio-first-migration.md +35 -0
- package/skills/draftcut/docs/configuration.md +54 -0
- package/skills/draftcut/docs/getting-started.md +63 -0
- package/skills/draftcut/docs/harness-case-study.en.md +23 -0
- package/skills/draftcut/docs/harness-case-study.md +47 -0
- package/skills/draftcut/references/01-plan.md +30 -0
- package/skills/draftcut/references/03-deliver.md +26 -0
- package/skills/draftcut/references/04-reference-theme-prompt.md +7 -0
- package/skills/draftcut/references/05-social-loudness.md +58 -0
- package/skills/draftcut/references/06-modern-components.md +72 -0
- package/skills/easyedit/SKILL.md +66 -0
- package/skills/erduo-broll-loop-engineering/SKILL.md +136 -0
- package/skills/erduo-broll-loop-engineering/references/animation-craft.md +208 -0
- package/skills/erduo-broll-loop-engineering/references/first-run-onboarding.md +107 -0
- package/skills/erduo-broll-loop-engineering/references/handoff-template.md +70 -0
- package/skills/erduo-broll-loop-engineering/references/motion-layout-lint.md +122 -0
- package/skills/erduo-broll-loop-engineering/references/parent-review-checklist.md +171 -0
- package/skills/erduo-broll-loop-engineering/references/prompt-first-workflow.md +322 -0
- package/skills/erduo-broll-loop-engineering/references/remotion-backend.md +334 -0
- package/skills/erduo-broll-loop-engineering/references/runtime/remotion-hyperframes-map.md +76 -0
- package/skills/erduo-broll-loop-engineering/references/runtime/runtime-contract.md +174 -0
- package/skills/erduo-broll-loop-engineering/references/runtime/runtime-selection.md +135 -0
- package/skills/erduo-broll-loop-engineering/references/shotcraft/remotion-sources/SOURCE.md +7 -0
- package/skills/erduo-broll-loop-engineering/references/shotcraft/upstream-attribution.md +65 -0
- package/skills/explainer-assets/SKILL.md +98 -0
- package/skills/explainer-video/SKILL.md +146 -0
- package/skills/framewright/SKILL.md +324 -0
- package/skills/framewright/references/audio.md +230 -0
- package/skills/framewright/references/guide.md +276 -0
- package/skills/framewright/references/painting.md +425 -0
- package/skills/framewright/references/photo.md +75 -0
- package/skills/framewright/references/questionnaire.md +115 -0
- package/skills/framewright/references/styles.md +388 -0
- package/skills/framewright/references/troubleshooting.md +119 -0
- package/skills/framewright/references/world.md +215 -0
- package/skills/gbro-collage-broll/SKILL.md +435 -0
- package/skills/gbro-collage-info/SKILL.md +135 -0
- package/skills/gbro-collage-info/references/motion-grammar.md +66 -0
- package/skills/gbro-collage-info/references/production.md +67 -0
- package/skills/gbro-collage-info/references/style-system.md +38 -0
- package/skills/gemini-tts/SKILL.md +208 -0
- package/skills/gemini-tts/references/prompting-guide.md +169 -0
- package/skills/gen/SKILL.md +282 -0
- package/skills/ghost-editor/SKILL.md +437 -0
- package/skills/ghost-editor/docs/HOW-IT-WORKS.md +82 -0
- package/skills/ghost-editor/docs/PLAYBOOK.md +139 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/audio.md +17 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/audioqa.md +13 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/captions.md +20 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/fonts.md +17 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/kinetic.md +22 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/looks.md +22 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/matte.md +20 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/models.md +11 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/runtime.md +13 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/shaders.md +15 -0
- package/skills/git-story-film/SKILL.md +220 -0
- package/skills/git-story-film/examples/raven-story/FONTS.md +8 -0
- package/skills/git-story-film/examples/raven-story/OUTLINE.md +93 -0
- package/skills/git-story-film/references/craft.md +148 -0
- package/skills/git-story-film/references/directing.md +185 -0
- package/skills/git-story-film/references/forms.md +150 -0
- package/skills/git-story-film/references/production.md +150 -0
- package/skills/git-story-film/references/story.md +137 -0
- package/skills/git-story-film/references/text-and-fonts.md +90 -0
- package/skills/guizang-product-video-skill/SKILL.md +96 -0
- package/skills/guizang-product-video-skill/references/audio-and-qa.md +113 -0
- package/skills/guizang-product-video-skill/references/audio-sourcing.md +80 -0
- package/skills/guizang-product-video-skill/references/case-study.md +63 -0
- package/skills/guizang-product-video-skill/references/component-pipeline.md +86 -0
- package/skills/guizang-product-video-skill/references/cover.md +43 -0
- package/skills/guizang-product-video-skill/references/direction.md +91 -0
- package/skills/guizang-product-video-skill/references/onboarding.md +98 -0
- package/skills/guizang-product-video-skill/references/repo-and-style.md +44 -0
- package/skills/guizang-product-video-skill/references/review.md +38 -0
- package/skills/guizang-product-video-skill/references/starter.md +168 -0
- package/skills/guizang-product-video-skill/references/story-and-copy.md +88 -0
- package/skills/guizang-product-video-skill/references/visual-vocabulary.md +78 -0
- package/skills/guofeng-paper-video/SKILL.md +159 -0
- package/skills/guofeng-paper-video/style/design.md +43 -0
- package/skills/guofeng-paper-video/style/palette.md +21 -0
- package/skills/guofeng-paper-video/style/prompts/01-/345/210/206/351/225/234/350/241/250.md +19 -0
- package/skills/guofeng-paper-video/style/prompts/02-/347/224/237/346/210/220/347/272/270/347/211/207.md +37 -0
- package/skills/guofeng-paper-video/style/prompts/03-/351/205/215/351/237/263/350/204/232/346/234/254.md +27 -0
- package/skills/guofeng-paper-video/style//345/210/206/351/225/234/344/270/216/345/233/276/345/261/202/350/247/204/350/214/203.md +67 -0
- package/skills/guofeng-paper-video/style//347/272/270/347/211/207/347/264/240/346/235/220/350/247/204/350/214/203.md +29 -0
- package/skills/hand-drawn-explainer-video-nikola/SKILL.md +113 -0
- package/skills/hand-drawn-explainer-video-nikola/docs/ARCHITECTURE.md +18 -0
- package/skills/hand-drawn-explainer-video-nikola/docs/CONFIGURATION.md +22 -0
- package/skills/hand-drawn-explainer-video-nikola/docs/STYLES.md +28 -0
- package/skills/hand-drawn-explainer-video-nikola/docs/TROUBLESHOOTING.md +35 -0
- package/skills/hand-drawn-explainer-video-nikola/examples/program-animation/skill-demo/DESIGN.md +24 -0
- package/skills/hand-drawn-explainer-video-nikola/references/automation-workflow.md +67 -0
- package/skills/hand-drawn-explainer-video-nikola/references/output-example.md +79 -0
- package/skills/hand-drawn-explainer-video-nikola/references/preflight-and-recovery.md +49 -0
- package/skills/hand-drawn-explainer-video-nikola/references/style-guide.md +82 -0
- package/skills/hand-drawn-explainer-video-nikola/references/style-selection-and-updates.md +39 -0
- package/skills/hand-drawn-explainer-video-nikola/references/upstream-whiteboard-review.md +30 -0
- package/skills/hand-drawn-explainer-video-nikola/references/voiceover.md +37 -0
- package/skills/hbg-life-simulation/SKILL.md +285 -0
- package/skills/hbg-life-simulation/references/image-generation.md +53 -0
- package/skills/hbg-life-simulation/references/local-account-api.md +112 -0
- package/skills/hbg-life-simulation/references/opening-system.md +45 -0
- package/skills/hbg-life-simulation/references/project-spec.md +62 -0
- package/skills/hbg-life-simulation/references/render-and-qa.md +107 -0
- package/skills/hbg-life-simulation/references/storyboarding.md +69 -0
- package/skills/hbg-life-simulation/references/style-system.md +80 -0
- package/skills/hbg-life-simulation/references/visual-system.md +44 -0
- package/skills/heygen-avatar/SKILL.md +489 -0
- package/skills/heygen-avatar/references/asset-routing.md +86 -0
- package/skills/heygen-avatar/references/avatar-creation.md +181 -0
- package/skills/heygen-avatar/references/troubleshooting.md +137 -0
- package/skills/heytea-doodle-poster/SKILL.md +132 -0
- package/skills/heytea-doodle-poster/references/desktop-pet-character-modes.md +103 -0
- package/skills/heytea-doodle-poster/references/desktop-pet-environment.md +122 -0
- package/skills/heytea-doodle-poster/references/desktop-pet-pack.md +106 -0
- package/skills/heytea-doodle-poster/references/desktop-pet-workflow.md +264 -0
- package/skills/heytea-doodle-poster/references/evaluation.md +246 -0
- package/skills/heytea-doodle-poster/references/lettering-guide.md +213 -0
- package/skills/heytea-doodle-poster/references/mixed-media-style-guide.md +101 -0
- package/skills/heytea-doodle-poster/references/monster-poster-workflow.md +56 -0
- package/skills/heytea-doodle-poster/references/style-guide.md +412 -0
- package/skills/heytea-doodle-poster-hosted/SKILL.md +132 -0
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-character-modes.md +103 -0
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-environment.md +122 -0
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-pack.md +106 -0
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-workflow.md +264 -0
- package/skills/heytea-doodle-poster-hosted/references/evaluation.md +246 -0
- package/skills/heytea-doodle-poster-hosted/references/lettering-guide.md +213 -0
- package/skills/heytea-doodle-poster-hosted/references/mixed-media-style-guide.md +101 -0
- package/skills/heytea-doodle-poster-hosted/references/monster-poster-workflow.md +56 -0
- package/skills/heytea-doodle-poster-hosted/references/style-guide.md +412 -0
- package/skills/html2video/SKILL.md +290 -0
- package/skills/html2video/references/cjk-type.md +173 -0
- package/skills/html2video/references/editorial.md +145 -0
- package/skills/html2video/references/narration.md +111 -0
- package/skills/html2video/references/pitfalls.md +238 -0
- package/skills/html2video/references/shots.md +198 -0
- package/skills/html2video/references/storyboard.md +323 -0
- package/skills/hyperdirector/SKILL.md +202 -0
- package/skills/hyperdirector/docs/audio-workflow.md +160 -0
- package/skills/hyperdirector/docs/audio-workflow.zh-CN.md +244 -0
- package/skills/hyperdirector/docs/brand-kit-setup.md +322 -0
- package/skills/hyperdirector/docs/brand-kit-setup.zh-CN.md +277 -0
- package/skills/hyperdirector/docs/cursor-development-notes.md +474 -0
- package/skills/hyperdirector/docs/faq.md +285 -0
- package/skills/hyperdirector/docs/faq.zh-CN.md +198 -0
- package/skills/hyperdirector/docs/first-video.md +320 -0
- package/skills/hyperdirector/docs/first-video.zh-CN.md +265 -0
- package/skills/hyperdirector/docs/installation.md +254 -0
- package/skills/hyperdirector/docs/installation.zh-CN.md +222 -0
- package/skills/hyperdirector/docs/quickstart.md +203 -0
- package/skills/hyperframes/SKILL.md +117 -0
- package/skills/hyperframes/references/captions.md +46 -0
- package/skills/hyperframes/references/film.md +48 -0
- package/skills/hyperframes/references/format.md +158 -0
- package/skills/hyperframes/references/look.md +69 -0
- package/skills/hyperframes/references/motion.md +95 -0
- package/skills/hyperframes/references/overlays.md +39 -0
- package/skills/hyperframes/references/review.md +51 -0
- package/skills/hyperframes/references/runtimes.md +69 -0
- package/skills/hyperframes/references/skill-lifecycle.md +49 -0
- package/skills/hyperframes/references/sound.md +43 -0
- package/skills/hyperframes/references/spec.md +76 -0
- package/skills/hyperframes/references/story.md +103 -0
- package/skills/hyperframes-motion-director/SKILL.md +920 -0
- package/skills/hyperframes-motion-director/references/asset-choreography-and-render-qa.md +185 -0
- package/skills/hyperframes-motion-director/references/audio-sync.md +83 -0
- package/skills/hyperframes-motion-director/references/design-engineering.md +156 -0
- package/skills/hyperframes-motion-director/references/gsap-choreography.md +202 -0
- package/skills/hyperframes-motion-director/references/hyperframes-stability.md +99 -0
- package/skills/hyperframes-motion-director/references/imagegen-asset-pipeline.md +227 -0
- package/skills/hyperframes-motion-director/references/motion-background-system.md +165 -0
- package/skills/hyperframes-motion-director/references/motion-craft.md +182 -0
- package/skills/hyperframes-motion-director/references/premium-product-promo.md +287 -0
- package/skills/hyperframes-motion-director/references/text-over-background-layout.md +221 -0
- package/skills/hyperframes-motion-director/references/visual-standard.md +174 -0
- package/skills/hyperframes-motion-director/references/workflow.md +320 -0
- package/skills/hypit/SKILL.md +367 -0
- package/skills/hypit/references/creation/brief.md +93 -0
- package/skills/hypit/references/creation/script-and-time.md +259 -0
- package/skills/hypit/references/creation/transformations.md +143 -0
- package/skills/hypit/references/playbooks/craft/b-roll.md +94 -0
- package/skills/hypit/references/playbooks/craft/caption-tracking.md +126 -0
- package/skills/hypit/references/playbooks/craft/captions.md +253 -0
- package/skills/hypit/references/playbooks/craft/generated-dependencies.md +38 -0
- package/skills/hypit/references/playbooks/craft/graphic-compositions.md +85 -0
- package/skills/hypit/references/playbooks/craft/motion-graphics.md +68 -0
- package/skills/hypit/references/playbooks/craft/screen-demonstrations.md +51 -0
- package/skills/hypit/references/playbooks/craft/sound-mix.md +70 -0
- package/skills/hypit/references/playbooks/formats/narration-led-demo.md +87 -0
- package/skills/image/SKILL.md +153 -0
- package/skills/image/references/characters.md +86 -0
- package/skills/image/references/creative-direction.md +137 -0
- package/skills/image/references/de-slop.md +95 -0
- package/skills/image/references/dimensional.md +88 -0
- package/skills/image/references/editing.md +112 -0
- package/skills/image/references/golden-rules.md +198 -0
- package/skills/image/references/gpt-image.md +228 -0
- package/skills/image/references/models.md +78 -0
- package/skills/image/references/multi-panel.md +354 -0
- package/skills/image/references/nano-banana.md +150 -0
- package/skills/image/references/patterns/character-design.md +150 -0
- package/skills/image/references/patterns/ecommerce.md +124 -0
- package/skills/image-smixs/SKILL.md +153 -0
- package/skills/image-smixs/references/characters.md +86 -0
- package/skills/image-smixs/references/creative-direction.md +137 -0
- package/skills/image-smixs/references/de-slop.md +95 -0
- package/skills/image-smixs/references/dimensional.md +88 -0
- package/skills/image-smixs/references/editing.md +112 -0
- package/skills/image-smixs/references/golden-rules.md +198 -0
- package/skills/image-smixs/references/gpt-image.md +228 -0
- package/skills/image-smixs/references/models.md +78 -0
- package/skills/image-smixs/references/multi-panel.md +354 -0
- package/skills/image-smixs/references/nano-banana.md +150 -0
- package/skills/image-smixs/references/patterns/character-design.md +150 -0
- package/skills/image-smixs/references/patterns/ecommerce.md +124 -0
- package/skills/image-story-video-wizard/SKILL.md +148 -0
- package/skills/image-story-video-wizard/docs/ARTICLE_ALIGNMENT.md +29 -0
- package/skills/image-story-video-wizard/references/host-routing.md +44 -0
- package/skills/image-story-video-wizard/references/state-schema.md +79 -0
- package/skills/image-story-video-wizard/references/workflow.md +203 -0
- package/skills/image-story-video-wizard/references/writing-and-review.md +60 -0
- package/skills/ip-as-logo/SKILL.md +151 -0
- package/skills/ip-as-logo-s1dashu/SKILL.md +151 -0
- package/skills/jtxvideo-skill/SKILL.md +337 -0
- package/skills/kinetic-reel/SKILL.md +140 -0
- package/skills/kinetic-reel/examples/work-reel-26/STORYBOARD.md +51 -0
- package/skills/kinetic-reel/references/sound.md +40 -0
- package/skills/kinetic-reel/references/style-guide.md +79 -0
- package/skills/knowledge-explainer-skill/SKILL.md +149 -0
- package/skills/knowledge-explainer-skill/examples/ai_video_3steps.md +61 -0
- package/skills/knowledge-explainer-skill/examples/algorithm_bubble.md +20 -0
- package/skills/knowledge-explainer-skill/examples/before_after_demo.md +38 -0
- package/skills/knowledge-explainer-skill/examples/cta_outro.md +11 -0
- package/skills/knowledge-explainer-skill/examples/double_pendulum.md +20 -0
- package/skills/knowledge-explainer-skill/examples/paper_fold.md +20 -0
- package/skills/knowledge-explainer-skill/examples/script.md +40 -0
- package/skills/lanshu-create-ai-presenter-video/SKILL.md +253 -0
- package/skills/lanshu-create-ai-presenter-video/references/editing.md +67 -0
- package/skills/lanshu-create-ai-presenter-video/references/generation.md +94 -0
- package/skills/lanshu-create-ai-presenter-video/references/qa-recovery.md +83 -0
- package/skills/lanshu-create-ai-presenter-video/references/styled-explainer.md +189 -0
- package/skills/laoxu-video-script/SKILL.md +117 -0
- package/skills/laoxu-video-script/references/cases.md +305 -0
- package/skills/laoxu-video-script/references/de-ai.md +32 -0
- package/skills/laoxu-video-script/references/diagnostics.md +67 -0
- package/skills/laoxu-video-script/references/format.md +62 -0
- package/skills/laoxu-video-script/references/formulas.md +43 -0
- package/skills/laoxu-video-script/references/method.md +115 -0
- package/skills/laoxu-video-script/references/motifs-and-lines.md +829 -0
- package/skills/laoxu-video-script/references/persona.md +38 -0
- package/skills/laoxu-video-script/references/qihao-path.md +35 -0
- package/skills/laoxu-video-script/references/qihao-xinfa.md +39 -0
- package/skills/laoxu-video-script/references/redlines.md +26 -0
- package/skills/lemo-opuscar/SKILL.md +67 -0
- package/skills/lipnardo/SKILL.md +308 -0
- package/skills/lipnardo/examples/batch-personalized.md +44 -0
- package/skills/lipnardo/examples/photo-to-avatar-pipeline.md +56 -0
- package/skills/lipnardo/examples/single-video.md +44 -0
- package/skills/lipnardo/references/avatar-types.md +42 -0
- package/skills/lipnardo/references/credit-costs.md +39 -0
- package/skills/lipnardo/references/error-codes.md +66 -0
- package/skills/lipnardo/references/heygen-api-reference.md +416 -0
- package/skills/ll-video-decomposer/SKILL.md +105 -0
- package/skills/ll-video-decomposer/references/audiovisual-analysis-guide.md +44 -0
- package/skills/ll-video-decomposer/references/evidence-and-confidence-rules.md +41 -0
- package/skills/ll-video-decomposer/references/multi-video-comparison-template.md +48 -0
- package/skills/ll-video-decomposer/references/single-video-report-template.md +47 -0
- package/skills/ll-video-decomposer/references/tool-discovery-workflow.md +30 -0
- package/skills/ll-video-decomposer/references/transcription-routing.md +65 -0
- package/skills/ll-video-decomposer/references/video-acquisition-workflow.md +30 -0
- package/skills/ltx2-video/SKILL.md +193 -0
- package/skills/ltx2-video/references/mode_ux.md +293 -0
- package/skills/make-ai-short/SKILL.md +130 -0
- package/skills/make-blender-education-video/SKILL.md +247 -0
- package/skills/make-blender-education-video/references/evidence-and-explanation.md +62 -0
- package/skills/make-blender-education-video/references/github-workflow-discovery.md +55 -0
- package/skills/make-blender-education-video/references/production-workflow.md +62 -0
- package/skills/make-blender-education-video/references/story-patterns.md +65 -0
- package/skills/make-blender-education-video/references/visual-quality.md +82 -0
- package/skills/manage-storyboard-projects/SKILL.md +128 -0
- package/skills/manim-composer/SKILL.md +176 -0
- package/skills/manim-composer/references/narrative-patterns.md +125 -0
- package/skills/manim-composer/references/scene-examples.md +216 -0
- package/skills/manim-composer/references/visual-techniques.md +223 -0
- package/skills/manim-composer/templates/scenes-template.md +147 -0
- package/skills/monet-ai-editor-monet/SKILL.md +367 -0
- package/skills/motion-graphics/SKILL.md +206 -0
- package/skills/motion-graphics/references/craft.md +136 -0
- package/skills/motion-graphics/references/engine.md +130 -0
- package/skills/motion-graphics/references/export.md +67 -0
- package/skills/motion-graphics/references/physics.md +100 -0
- package/skills/motion-graphics/references/verify.md +124 -0
- package/skills/motion-video/SKILL.md +133 -0
- package/skills/motion-video/references/audio-and-beat-sync.md +109 -0
- package/skills/motion-video/references/composition-contract.md +107 -0
- package/skills/motion-video/references/production-pipeline.md +147 -0
- package/skills/motion-video/references/style-comic-spiderverse.md +87 -0
- package/skills/motion-video/references/style-glass-keynote.md +69 -0
- package/skills/motion-video-maker/SKILL.md +1452 -0
- package/skills/motion-video-maker/reference/components.md +451 -0
- package/skills/motion-video-maker/reference/workflow.md +190 -0
- package/skills/motioncraft/SKILL.md +221 -0
- package/skills/motioncraft/references/animation-system.md +57 -0
- package/skills/motioncraft/references/assets-and-licensing.md +21 -0
- package/skills/motioncraft/references/customization.md +52 -0
- package/skills/motioncraft/references/gpu-cloud-render.md +15 -0
- package/skills/motioncraft/references/music.md +43 -0
- package/skills/motioncraft/references/phase1-planning-and-preview.md +74 -0
- package/skills/motioncraft/references/phase2-timeline-audio.md +33 -0
- package/skills/motioncraft/references/phase3-pixel-review.md +13 -0
- package/skills/motioncraft/references/phase4-templates.md +30 -0
- package/skills/motioncraft/references/preflight.md +27 -0
- package/skills/motioncraft/references/qa.md +53 -0
- package/skills/motioncraft/references/reference-analysis.md +37 -0
- package/skills/narrator-ai-cli/SKILL.md +256 -0
- package/skills/narrator-ai-cli/references/magic-video.md +205 -0
- package/skills/narrator-ai-cli/references/operations.md +230 -0
- package/skills/narrator-ai-cli/references/resources.md +126 -0
- package/skills/narrator-ai-cli/references/workflows.md +332 -0
- package/skills/newcut-video-clipping/SKILL.md +194 -0
- package/skills/newcut-video-clipping/references/examples.md +59 -0
- package/skills/newcut-video-clipping/references/provider-config.md +110 -0
- package/skills/newcut-video-clipping/references/quality-check.md +35 -0
- package/skills/newcut-video-clipping/references/semantic-plan.md +65 -0
- package/skills/notes-to-video/SKILL.md +476 -0
- package/skills/openchatcut/SKILL.md +100 -0
- package/skills/openchatcut/references/editing-workflow.md +54 -0
- package/skills/openchatcut/references/getting-started.md +106 -0
- package/skills/openchatcut/references/known-errors.md +62 -0
- package/skills/openstoryline-install/SKILL.md +228 -0
- package/skills/orca-motion/SKILL.md +100 -0
- package/skills/orca-motion/references/api.md +100 -0
- package/skills/orca-motion/references/integration.md +59 -0
- package/skills/orca-motion/references/kinetic-type.md +59 -0
- package/skills/orca-motion/references/principles.md +76 -0
- package/skills/package-talking-head-video/SKILL.md +90 -0
- package/skills/package-talking-head-video/docs/EXAMPLES.md +18 -0
- package/skills/package-talking-head-video/docs/TROUBLESHOOTING.md +29 -0
- package/skills/package-talking-head-video/docs/USAGE.md +83 -0
- package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-multicolor-center-speaker.md +144 -0
- package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-semantic-template-system-v2.md +1099 -0
- package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-multicolor-center-speaker-design.md +154 -0
- package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-semantic-template-system-v2-design.md +365 -0
- package/skills/package-talking-head-video/examples/auto-editing-0/GATE_A.md +56 -0
- package/skills/package-talking-head-video/examples/auto-editing-0/GATE_D.md +8 -0
- package/skills/package-talking-head-video/examples/auto-editing-0/QA_REPORT.md +34 -0
- package/skills/package-talking-head-video/references/director-rules.md +29 -0
- package/skills/package-talking-head-video/references/motion-and-illustration.md +25 -0
- package/skills/paper-cut/SKILL.md +164 -0
- package/skills/paper-cut/references/asset-spec.md +47 -0
- package/skills/paper-cut/references/audio-and-chatcut.md +26 -0
- package/skills/paper-cut/references/hyperframes-assembly.md +47 -0
- package/skills/paper-cut/references/image-led-production.md +65 -0
- package/skills/paper-cut/references/storyboard-schema.md +48 -0
- package/skills/paper-cut/references/workflow.md +39 -0
- package/skills/personal-ip-brand-intro/SKILL.md +216 -0
- package/skills/personal-ip-brand-intro/references/intake-schema.md +79 -0
- package/skills/personal-ip-brand-intro/references/music-upload-workflow.md +40 -0
- package/skills/personal-ip-brand-intro/references/originality-rules.md +42 -0
- package/skills/personal-ip-brand-intro/references/qa-checklist.md +60 -0
- package/skills/personal-ip-brand-intro/references/rhythm-routing.md +41 -0
- package/skills/personal-ip-brand-intro/references/storyboard-contract.md +42 -0
- package/skills/pixel2motion/SKILL.md +279 -0
- package/skills/pixel2motion/references/html-delivery-template.md +42 -0
- package/skills/pixel2motion/references/motion-personality.md +109 -0
- package/skills/pixel2motion/references/reveal-patterns.md +163 -0
- package/skills/pixel2motion/references/ribbon-fitting.md +90 -0
- package/skills/pixel2motion/references/twelve-principles-for-logos.md +116 -0
- package/skills/premiere-batch-delivery/SKILL.md +71 -0
- package/skills/premiere-pro-mcp/SKILL.md +161 -0
- package/skills/promo-creator-skills/SKILL.md +209 -0
- package/skills/promo-creator-skills/references/mureka_prompt_guide.md +251 -0
- package/skills/promo-creator-skills/references/product_promo_bgm_prompting.md +100 -0
- package/skills/promo-video/SKILL.md +408 -0
- package/skills/qisi-video-remix/SKILL.md +134 -0
- package/skills/qisi-video-remix/examples/creative-plan.md +133 -0
- package/skills/qisi-video-remix/references/delivery-guide.md +63 -0
- package/skills/reel-video/SKILL.md +237 -0
- package/skills/remotion-ad-video/SKILL.md +252 -0
- package/skills/remotion-ad-video/references/ad-aesthetic-qa.md +60 -0
- package/skills/remotion-ad-video/references/ad-brief-contract.md +235 -0
- package/skills/remotion-ad-video/references/ad-exemplars.md +186 -0
- package/skills/remotion-ad-video/references/ad-intake.md +54 -0
- package/skills/remotion-ad-video/references/asset-harvest.md +56 -0
- package/skills/remotion-ad-video/references/audio-caption-system.md +202 -0
- package/skills/remotion-ad-video/references/concept-contract.md +128 -0
- package/skills/remotion-ad-video/references/creative-direction.md +146 -0
- package/skills/remotion-ad-video/references/fast-test-workflow.md +86 -0
- package/skills/remotion-ad-video/references/game-ad-patterns.md +75 -0
- package/skills/remotion-ad-video/references/hyperframes-output.md +90 -0
- package/skills/remotion-ad-video/references/industry-angle-library.md +71 -0
- package/skills/remotion-ads/SKILL.md +278 -0
- package/skills/remotion-ads/references/ad-copywriting.md +229 -0
- package/skills/remotion-ads/references/animations.md +693 -0
- package/skills/remotion-ads/references/brand-config-template.md +355 -0
- package/skills/remotion-ads/references/captions.md +529 -0
- package/skills/remotion-ads/references/carousels.md +580 -0
- package/skills/remotion-ads/references/components.md +897 -0
- package/skills/remotion-ads/references/copy-frameworks.md +144 -0
- package/skills/remotion-ads/references/formats.md +436 -0
- package/skills/remotion-ads/references/gemini-tts.md +473 -0
- package/skills/remotion-ads/references/html-in-canvas.md +555 -0
- package/skills/remotion-ads/references/local-assets.md +543 -0
- package/skills/remotion-ads/references/music.md +656 -0
- package/skills/remotion-code-motion-explainer/SKILL.md +178 -0
- package/skills/remotion-code-motion-explainer/references/code-motion-design.md +86 -0
- package/skills/remotion-code-motion-explainer/references/motion-production-patterns.md +93 -0
- package/skills/remotion-code-motion-explainer/references/production-and-qc.md +99 -0
- package/skills/remotion-code-motion-explainer/references/reference-reconstruction.md +48 -0
- package/skills/remotion-code-motion-explainer/references/ui-motion-shot-library.md +62 -0
- package/skills/remotion-motion-graphics/SKILL.md +169 -0
- package/skills/remotion-motion-graphics/references/patterns.md +355 -0
- package/skills/remotion-motion-graphics/references/polish.md +102 -0
- package/skills/remotion-motion-graphics/references/scaffold.md +144 -0
- package/skills/remotion-motion-graphics/references/traps.md +152 -0
- package/skills/remotion-resemble-ai/SKILL.md +879 -0
- package/skills/remotion-resemble-ai/rules/resemble-captions.md +350 -0
- package/skills/remotion-resemble-ai/rules/resemble-remotion-integration.md +305 -0
- package/skills/remotion-resemble-ai/rules/resemble-setup.md +284 -0
- package/skills/remotion-resemble-ai/rules/resemble-streaming-tts.md +225 -0
- package/skills/remotion-resemble-ai/rules/resemble-sync-tts.md +239 -0
- package/skills/remotion-resemble-ai/rules/resemble-voices.md +213 -0
- package/skills/remotion-resemble-ai/rules/visual-animations.md +567 -0
- package/skills/riffkit/SKILL.md +196 -0
- package/skills/riffkit/examples/any-look-styles.md +11 -0
- package/skills/riffkit/examples/faceless-and-auto.md +16 -0
- package/skills/riffkit/examples/localize-spanish.md +18 -0
- package/skills/riffkit/examples/tiktok-shop-product.md +22 -0
- package/skills/riffkit/references/anchor.md +62 -0
- package/skills/riffkit/references/api.md +806 -0
- package/skills/riffkit/references/details.md +153 -0
- package/skills/riffkit/references/errors.md +69 -0
- package/skills/riffkit/references/intents.md +29 -0
- package/skills/saas-motion-video/SKILL.md +71 -0
- package/skills/script-to-video/SKILL.md +2627 -0
- package/skills/shorts/SKILL.md +372 -0
- package/skills/shorts/references/caption-styles.md +105 -0
- package/skills/shorts/references/platform-specs.md +149 -0
- package/skills/shorts/references/remotion-patterns.md +180 -0
- package/skills/shorts/references/scoring-rubric.md +106 -0
- package/skills/smart-video-editor/SKILL.md +327 -0
- package/skills/smart-video-editor/docs/FONTS.md +57 -0
- package/skills/story-telling/SKILL.md +222 -0
- package/skills/story-telling/rules/composition.md +130 -0
- package/skills/story-telling/rules/images.md +119 -0
- package/skills/story-telling/rules/models.md +98 -0
- package/skills/story-telling/rules/narration.md +87 -0
- package/skills/story-telling/rules/pitfalls.md +140 -0
- package/skills/story-telling/rules/story-formats.md +108 -0
- package/skills/story-telling/rules/story-json.md +143 -0
- package/skills/story-telling/rules/voices.md +114 -0
- package/skills/story-telling/rules/workflow.md +105 -0
- package/skills/story-to-handdrawn-video/SKILL.md +216 -0
- package/skills/story-to-handdrawn-video/references/asset-workflow.md +24 -0
- package/skills/story-to-handdrawn-video/references/reference-style-workflow.md +27 -0
- package/skills/su-card-to-video/SKILL.md +103 -0
- package/skills/talking-head-video-pipeline/SKILL.md +224 -0
- package/skills/talking-head-video-pipeline/examples/prompts.md +217 -0
- package/skills/talking-head-video-pipeline/references/asr-adapters.md +51 -0
- package/skills/talking-head-video-pipeline/references/caption-workflow.md +53 -0
- package/skills/talking-head-video-pipeline/references/export-recipes.md +78 -0
- package/skills/talking-head-video-pipeline/references/layout-safety.md +49 -0
- package/skills/talking-head-video-pipeline/references/video-use-integration.md +71 -0
- package/skills/talking-head-video-pipeline/references/workflows/captions.md +52 -0
- package/skills/talking-head-video-pipeline/references/workflows/design.md +77 -0
- package/skills/talking-head-video-pipeline/references/workflows/doctor.md +51 -0
- package/skills/talking-head-video-pipeline/references/workflows/export.md +50 -0
- package/skills/talking-head-video-pipeline/references/workflows/init.md +51 -0
- package/skills/talking-head-video-pipeline/references/workflows/learn.md +36 -0
- package/skills/text-to-lottie/SKILL.md +202 -0
- package/skills/text-to-lottie/references/chapterization-transition-grammar.md +132 -0
- package/skills/text-to-lottie/references/design-taste.md +292 -0
- package/skills/text-to-lottie/references/lottie-spec-map.md +82 -0
- package/skills/text-to-lottie/references/motion-taste.md +260 -0
- package/skills/text-to-lottie/references/player-contract.md +325 -0
- package/skills/text-to-lottie/references/recipe-camera-scene-motion.md +65 -0
- package/skills/text-to-lottie/references/recipe-data-stats.md +104 -0
- package/skills/text-to-lottie/references/recipe-diagram-technical.md +106 -0
- package/skills/text-to-lottie/references/recipe-loaders-icons.md +70 -0
- package/skills/text-to-lottie/references/recipe-logo.md +72 -0
- package/skills/text-to-lottie/references/recipe-lower-thirds.md +62 -0
- package/skills/text-to-lottie/references/recipe-product-promo.md +99 -0
- package/skills/ultrademo/SKILL.md +212 -0
- package/skills/video-assemble/SKILL.md +101 -0
- package/skills/video-assemble-zenstory-ai/SKILL.md +153 -0
- package/skills/video-assemble-zenstory-ai/references/audio-modes.md +63 -0
- package/skills/video-assemble-zenstory-ai/references/explicit-audio-mix.md +77 -0
- package/skills/video-assemble-zenstory-ai/references/jianying/SOURCE.md +14 -0
- package/skills/video-assemble-zenstory-ai/references/narration-adoption.md +103 -0
- package/skills/video-assemble-zenstory-ai/references/packaging.md +44 -0
- package/skills/video-assemble-zenstory-ai/references/source-score.md +146 -0
- package/skills/video-assemble-zenstory-ai/references/subtitle-track.md +202 -0
- package/skills/video-editing/SKILL.md +688 -0
- package/skills/video-explainer/SKILL.md +163 -0
- package/skills/video-explainer/references/brief-to-script.md +56 -0
- package/skills/video-explainer/references/errors-and-privacy.md +18 -0
- package/skills/video-explainer/references/motion-storyboard.md +82 -0
- package/skills/video-explainer/references/render-and-verify.md +62 -0
- package/skills/video-explainer/references/review-gate.md +82 -0
- package/skills/video-explainer/references/setup-and-doctor.md +33 -0
- package/skills/video-script-builder/SKILL.md +329 -0
- package/skills/video-script-builder/examples/quick-start-transcript.md +19 -0
- package/skills/video-script-builder/references/audio-workflow.md +84 -0
- package/skills/video-script-builder/references/caption-components.md +70 -0
- package/skills/video-script-builder/references/common-pitfalls.md +80 -0
- package/skills/video-script-builder/references/component-catalog.md +197 -0
- package/skills/video-script-builder/references/component-recipes.md +165 -0
- package/skills/video-script-builder/references/gsap-patterns.md +112 -0
- package/skills/video-script-builder/references/pacing-rules.md +78 -0
- package/skills/video-script-builder/references/quality-checklist.md +98 -0
- package/skills/video-script-builder/references/remotion-patterns.md +211 -0
- package/skills/video-script-builder/references/shader-transitions.md +115 -0
- package/skills/video-script-builder/references/taste-principles.md +160 -0
- package/skills/video-scrub/SKILL.md +216 -0
- package/skills/video-scrub/references/profiles.md +89 -0
- package/skills/video-scrub/references/residue-map.md +204 -0
- package/skills/video-short-maker/SKILL.md +182 -0
- package/skills/video-shot-analysis-feishu/SKILL.md +173 -0
- package/skills/video-shotcraft/SKILL.md +267 -0
- package/skills/video-shotcraft/docs/deepseek-harness.md +69 -0
- package/skills/video-shotcraft/references/aesthetic-rules.md +177 -0
- package/skills/video-shotcraft/references/final-review.md +112 -0
- package/skills/video-shotcraft/references/guided-free-creation.md +199 -0
- package/skills/video-shotcraft/references/jianying-export.md +182 -0
- package/skills/video-shotcraft/references/music-beat-sync.md +219 -0
- package/skills/video-shotcraft/references/pipeline.md +390 -0
- package/skills/video-shotcraft/references/sequences/promo-energy-arc.md +50 -0
- package/skills/video-shotcraft/references/shots/ATTRIBUTION.md +65 -0
- package/skills/video-shotcraft/references/shots/camera/basic-3d-scene.md +37 -0
- package/skills/video-shotcraft/references/shots/camera/crash-zoom-punch.md +39 -0
- package/skills/video-shotcraft/references/shots/camera/cursor-flyover.md +38 -0
- package/skills/video-shotcraft-vincentwei10/SKILL.md +316 -0
- package/skills/video-shotcraft-vincentwei10/references/aesthetic-rules.md +187 -0
- package/skills/video-shotcraft-vincentwei10/references/final-review.md +116 -0
- package/skills/video-shotcraft-vincentwei10/references/guided-free-creation.md +199 -0
- package/skills/video-shotcraft-vincentwei10/references/jianying-export.md +183 -0
- package/skills/video-shotcraft-vincentwei10/references/music-beat-sync.md +257 -0
- package/skills/video-shotcraft-vincentwei10/references/pipeline.md +401 -0
- package/skills/video-shotcraft-vincentwei10/references/publish-upload-post.md +111 -0
- package/skills/video-shotcraft-vincentwei10/references/sequences/promo-energy-arc.md +50 -0
- package/skills/video-shotcraft-vincentwei10/references/shots/ATTRIBUTION.md +62 -0
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/basic-3d-scene.md +41 -0
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/crash-zoom-punch.md +52 -0
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/cursor-flyover.md +39 -0
- package/skills/video-structure-analyzer/SKILL.md +148 -0
- package/skills/video-structure-analyzer/examples/xhs-rook-time-spend/xhs-rook-time-spend_/346/213/211/347/211/207/346/213/206/350/247/243.md +50 -0
- package/skills/video-structure-analyzer/examples/xhs-smelly-cat/xhs-smelly-cat_/346/213/211/347/211/207/346/213/206/350/247/243.md +19 -0
- package/skills/video-toolkit/SKILL.md +686 -0
- package/skills/videocut/SKILL.md +159 -0
- package/skills/videodb/SKILL.md +497 -0
- package/skills/videodb/reference/api-reference.md +741 -0
- package/skills/videodb/reference/capture-reference.md +399 -0
- package/skills/videodb/reference/capture.md +110 -0
- package/skills/videodb/reference/editor-reference.md +506 -0
- package/skills/videodb/reference/editor.md +389 -0
- package/skills/videodb/reference/generative.md +344 -0
- package/skills/videodb/reference/indexing-reference.md +481 -0
- package/skills/videodb/reference/indexing.md +537 -0
- package/skills/videodb/reference/legacy/index-reference.md +223 -0
- package/skills/videodb/reference/legacy/index.md +241 -0
- package/skills/videodb/reference/legacy/search.md +249 -0
- package/skills/videodb/reference/migration.md +113 -0
- package/skills/vlog-auto-edit/SKILL.md +982 -0
- package/skills/vlog-auto-edit/examples/project_structure.md +84 -0
- package/skills/vox-animated-ad-mcp/SKILL.md +419 -0
- package/skills/vox-director/SKILL.md +351 -0
- package/skills/vox-director/references/beat-layer.md +143 -0
- package/skills/vox-director/references/host-mode.md +120 -0
- package/skills/vox-director/references/local-engine.md +73 -0
- package/skills/vox-director/references/models-and-gotchas.md +91 -0
- package/skills/vox-director/references/prompt-guide.md +275 -0
- package/skills/vox-director/references/voices.md +59 -0
- package/skills/xingchen-vox-collage/SKILL.md +251 -0
- package/skills/xingchen-vox-collage/references/asset-layer-contract.md +98 -0
- package/skills/xingchen-vox-collage/references/creative-exploration.md +19 -0
- package/skills/xingchen-vox-collage/references/learned-branches.md +34 -0
- package/skills/xingchen-vox-collage/references/remotion-scene-contract.md +77 -0
- package/skills/xingchen-vox-collage/references/visual-language.md +74 -0
- package/skills/xingchen-vox-collage/references/visual-qa.md +59 -0
- package/skills/youtube/SKILL.md +147 -0
- package/skills/youtube/references/algorithm-guide.md +59 -0
- package/skills/youtube/references/analytics-benchmarks.md +67 -0
- package/skills/youtube/references/dataforseo-integration.md +51 -0
- package/skills/youtube/references/monetization-guide.md +62 -0
- package/skills/youtube/references/repurposing-guide.md +54 -0
- package/skills/youtube/references/retention-scripting-guide.md +75 -0
- package/skills/youtube/references/seo-playbook.md +77 -0
- package/skills/youtube/references/shorts-playbook.md +64 -0
- package/skills/youtube/references/thumbnail-ctr-guide.md +73 -0
- package/skills/youtube-shorts-factory/SKILL.md +358 -0
- package/skills/youtube-shorts-factory/resources/adaptation-guide.md +133 -0
- package/skills/youtube-shorts-factory/resources/storyboard-template.md +271 -0
- package/skills/youtube-shorts-factory/resources/workflow-steps.md +139 -0
- package/studio/client.mjs +3 -3
- package/studio/server/server.mjs +31 -3
- package/studio/ui/dist/assets/ExportCenter-DEyy1vs_.js +1 -0
- package/studio/ui/dist/assets/SettingsModal-CQmsA2A2.js +2 -0
- package/studio/ui/dist/assets/apple-touch-icon-ClxQ7j-O.png +0 -0
- package/studio/ui/dist/assets/{es-BRUzvuoM.js → es-AqUfIkAy.js} +1 -1
- package/studio/ui/dist/assets/favicon-Blwx8Trs.png +0 -0
- package/studio/ui/dist/assets/index-C7moXjTY.css +1 -0
- package/studio/ui/dist/assets/index-DdU5QNpY.js +1623 -0
- package/studio/ui/dist/assets/{ja-Cth-uDcW.js → ja-YwiCB4QQ.js} +1 -1
- package/studio/ui/dist/assets/{ko-upvw591D.js → ko-CKtBPDze.js} +1 -1
- package/studio/ui/dist/assets/{zh-CN-BCfJFazB.js → zh-CN-DtNEwKWJ.js} +1 -1
- package/studio/ui/dist/index.html +4 -3
- package/studio/ui/dist/assets/ExportCenter-F-2vF-lQ.js +0 -1
- package/studio/ui/dist/assets/SettingsModal-BgVYguNu.js +0 -2
- package/studio/ui/dist/assets/index-Bhg-9dA3.css +0 -1
- package/studio/ui/dist/assets/index-CWur1Iw9.js +0 -1625
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: video-scrub
|
|
3
|
+
description: "video-scrub: the method the original skill taught, run as an AICUT film — pages that draw any moment t, cut on tracks. Runs in AICUT: the film is film.html, a page per shot, drawn by `aicut look` and `aicut render`."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
source: "eternityspring/reelbench-skills"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# video-scrub
|
|
9
|
+
|
|
10
|
+
## Running it in AICUT
|
|
11
|
+
|
|
12
|
+
AICUT's film is `film.html`: it cuts pages, footage, pictures and sound together on tracks. A page is a web page that
|
|
13
|
+
sets `window.film = { frame(t) }` and draws that moment — no framework, no build step, no composition object, no
|
|
14
|
+
`registerRoot`. Five shots are five pages cut together, not one page that changes scene, so each shot stays trimmable
|
|
15
|
+
and replaceable in Studio.
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
npx -y @autoaiai/aicut@latest # the manual: the format and the commands, always current
|
|
19
|
+
npx -y @autoaiai/aicut@latest open . # make this folder a film and print Studio's address
|
|
20
|
+
npx -y @autoaiai/aicut@latest look # a contact sheet of the whole film, its sound, and a determinism check
|
|
21
|
+
npx -y @autoaiai/aicut@latest look 4.5 # one frame, full size — look at the PNG, not at the code
|
|
22
|
+
npx -y @autoaiai/aicut@latest render # the MP4, beside film.html
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Run the manual before the first film: it is authoritative for the format, and this skill is about the method above it.
|
|
26
|
+
|
|
27
|
+
Where the words below name another program's part, it becomes this:
|
|
28
|
+
|
|
29
|
+
| elsewhere | in AICUT |
|
|
30
|
+
|---|---|
|
|
31
|
+
| composition, timeline, project file | `film.html`; tracks and clips inside it |
|
|
32
|
+
| a scene, a sequence, a slide | a page (`pages/<name>.html`) cut onto a track |
|
|
33
|
+
| `useCurrentFrame()`, `interpolate()` | `frame(t)` — the picture depends only on `t`, never on state or `Date.now()` |
|
|
34
|
+
| a still, a screengrab | `aicut look <t>` |
|
|
35
|
+
| `render` / `build` / `export` | `aicut render` (the person can also export from Studio) |
|
|
36
|
+
| a dev server, a preview window | `aicut open` and the Studio address it prints |
|
|
37
|
+
|
|
38
|
+
Hard rules that hold whatever the method says: the picture depends only on `t`; every value in the person's prompt is
|
|
39
|
+
binding; look at the frames `look` writes before saying a film is done.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## video-scrub
|
|
43
|
+
|
|
44
|
+
把一条视频重建成干净文件:**画面和声音带过去,元数据一个字节都不带。**
|
|
45
|
+
|
|
46
|
+
`{baseDir}` = 本文件所在目录。脚本 `{baseDir}/scripts/video-scrub.mjs`,零依赖,`node` 直接跑。
|
|
47
|
+
|
|
48
|
+
### 原理:白名单,不是黑名单
|
|
49
|
+
|
|
50
|
+
清元数据有两种思路,差别是死活:
|
|
51
|
+
|
|
52
|
+
| | 怎么做 | 问题 |
|
|
53
|
+
| --- | --- | --- |
|
|
54
|
+
| 黑名单 | 列出要删的字段逐个删(exiftool 那种) | **删不完你不知道的东西**——厂商私有的 udta、GoPro 的遥测轨、码流里的 SEI,漏一个就漏了 |
|
|
55
|
+
| **白名单** | 不说删什么,只说**带什么过去**:画面一条流、声音一条流,别的一律不要 | —— |
|
|
56
|
+
|
|
57
|
+
走白名单,源片的元数据**没有任何通道**能进来。它不是「被删掉了」,是从来没被搬运。
|
|
58
|
+
|
|
59
|
+
但 ffmpeg 默认会背叛这个结构两次,必须摁住:
|
|
60
|
+
|
|
61
|
+
1. **它默认把源片的容器 tag 搬到输出** → `-map_metadata -1`
|
|
62
|
+
2. **它默认自动挑流**,会把 GoPro 的 `gpmd` 遥测轨一起带走 → `-map 0:v:0 -map 0:a:0?`
|
|
63
|
+
|
|
64
|
+
第 2 条是 GoPro / DJI 这类源片的唯一防线:**它们的 GPS 不在 tag 里,在一条独立的定时元数据轨上。**
|
|
65
|
+
清 tag 清不掉,只有「只挑两条流」挡得住。
|
|
66
|
+
|
|
67
|
+
### 真正的难点:看不见的那几层
|
|
68
|
+
|
|
69
|
+
摁住上面两条,tag 层就干净了,`ffprobe` 一片安静。**但文件里还躺着三处身份串**:
|
|
70
|
+
|
|
71
|
+
| 藏在哪 | 内容 | ffprobe 看得见 |
|
|
72
|
+
| --- | --- | --- |
|
|
73
|
+
| H.264 的 **SEI** | x264 完整参数串 `cabac=1 ref=3 … crf=23.0` | ✗ |
|
|
74
|
+
| AAC 码流的 **DSE** | `Lavc62.28.102` | ✗ |
|
|
75
|
+
| avc1 的 **compressorname** | `Lavc libx264` | ✗ |
|
|
76
|
+
|
|
77
|
+
五个藏身处和各自的堵法见 `{baseDir}/references/residue-map.md`——**每一条都有实测记录,
|
|
78
|
+
包括几个「看着该管用其实没用」的坑**(`-flags:v +bitexact` 和 `-x264-params info=0` 都拦不住 SEI)。
|
|
79
|
+
|
|
80
|
+
### 两种模式
|
|
81
|
+
|
|
82
|
+
| 模式 | 画面 | 音频 | 速度 | 多杀掉什么 |
|
|
83
|
+
| --- | --- | --- | --- | --- |
|
|
84
|
+
| **`copy`**(默认) | **逐字节照搬** | 重编 | 53 秒的片子 1.3 秒 | —— |
|
|
85
|
+
| `encode` | 重编码 | 重编 | 慢得多 | 码流域水印、脆弱隐写 |
|
|
86
|
+
|
|
87
|
+
音频**两种模式都重编**——AAC 的版本号写在 DSE 里,那是码流内部,`-c:a copy` 抹不掉它。
|
|
88
|
+
重编一遍很便宜,换来音轨干净。画面则在 copy 模式下**真的一个比特都没动**(`cmp` 验证过,
|
|
89
|
+
除了被摘掉的 SEI)。
|
|
90
|
+
|
|
91
|
+
**关于水印**:`encode` 比 `copy` 多杀的是码流域水印和脆弱隐写,这两类在实际素材里少见。
|
|
92
|
+
真正要命的**鲁棒像素水印**(SynthID、影视取证水印)设计目标就是扛住重编码,**两种模式都杀不掉**。
|
|
93
|
+
所以选模式按画质和速度选,别指望重编码能洗掉水印。
|
|
94
|
+
|
|
95
|
+
### 四个 profile
|
|
96
|
+
|
|
97
|
+
擦白之后往回写的那一层:
|
|
98
|
+
|
|
99
|
+
| profile | 写什么 |
|
|
100
|
+
| --- | --- |
|
|
101
|
+
| **`obs`**(默认) | OBS Studio 的长相。OBS 本来就是用 ffmpeg 封装的,所以这档不是伪造,是保持同类工具的正常外观 |
|
|
102
|
+
| `quicktime` | macOS QuickTime 录屏:`Core Media Video` / `Core Media Audio` |
|
|
103
|
+
| `screencapture` | ScreenCaptureKit 录屏 |
|
|
104
|
+
| `bare` | 什么都不写。**隐私强度最高**——不留任何可被证伪的声明 |
|
|
105
|
+
|
|
106
|
+
有一件事做不到,写在这里省得再试:容器的 `encoder` 字段由 muxer 自己占着,
|
|
107
|
+
`-metadata encoder=Lavf60.16.100` **盖不过去**,置空也清不掉(实测)。只有
|
|
108
|
+
`-fflags +bitexact` 能让它整个消失。所以 `obs` 档不伪造版本号,它就让 ffmpeg 写自己的真版本号。
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### Step 0 — 先看源片带了什么
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
node {baseDir}/scripts/video-scrub.mjs inspect <video>
|
|
116
|
+
```
|
|
117
|
+
```
|
|
118
|
+
一屏列全:容器 tag、每条流的 tag 与 side data、章节,**以及码流里那几处 `ffprobe` 看不见的身份串**。
|
|
119
|
+
末尾会告诉你验收时要拿几根针去扫,以及 SEI 这刀动不动。
|
|
120
|
+
|
|
121
|
+
**先看这一屏再动手。** 尤其注意两件事:
|
|
122
|
+
|
|
123
|
+
- 有没有 `data` / `timecode` 流——有就说明源片可能带遥测轨(GoPro、DJI)
|
|
124
|
+
- 是不是 **HDR**——是的话 SEI 一律不删(下面说为什么)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Step 1 — 清
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
node {baseDir}/scripts/video-scrub.mjs scrub <video> -o out.mp4
|
|
131
|
+
```
|
|
132
|
+
```
|
|
133
|
+
默认 `--mode copy --profile obs`。常用参数:
|
|
134
|
+
```
|
|
135
|
+
```bash
|
|
136
|
+
--mode encode # 完整重编码
|
|
137
|
+
--profile bare # 什么都不写,隐私强度最高
|
|
138
|
+
--crf 18 # 只在 encode 模式有意义
|
|
139
|
+
--date 2026-01-01T00:00:00Z # 指定创建时间,不给就用当前时间
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Step 2 — 验收 ⛔ 不能跳
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
node {baseDir}/scripts/video-scrub.mjs verify <源> <输出>
|
|
146
|
+
```
|
|
147
|
+
```
|
|
148
|
+
或者一条龙(**日常就用这个**):
|
|
149
|
+
```
|
|
150
|
+
```bash
|
|
151
|
+
node {baseDir}/scripts/video-scrub.mjs run <video> -o out.mp4
|
|
152
|
+
```
|
|
153
|
+
```
|
|
154
|
+
验收的核心是一句话:**前面全是「我调了正确的参数」,属于声称;这一步是「我扫了,真没了」,属于证明。**
|
|
155
|
+
|
|
156
|
+
做法是把源片所有元数据字符串抓出来当「针」——tag 的键和值、handler 名、章节标题——
|
|
157
|
+
在输出文件里做**字节级扫描**,扎到一根就红。
|
|
158
|
+
|
|
159
|
+
两条实现上的讲究:
|
|
160
|
+
|
|
161
|
+
- **针要 ≥5 字节**。更短的串会在压缩数据里随机撞出假阳性,跳过的针会在提示里列出来。
|
|
162
|
+
- **通用串不当针**。`VideoHandler` 满世界都是,信息量为零;`Lavf58.45.100` 钉死了一个版本,
|
|
163
|
+
是指纹。分界线是「能不能把范围缩小到某个人、某台设备、某次导出」。
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### 12 道门
|
|
167
|
+
|
|
168
|
+
| 门 | 拦什么 |
|
|
169
|
+
| --- | --- |
|
|
170
|
+
| 字节级残留 | 源片的元数据串扎中了输出 |
|
|
171
|
+
| tag 层残留 | 输出的 tag 值来自源片 |
|
|
172
|
+
| 位置信息 | 任何 GPS / location 字段 |
|
|
173
|
+
| 设备与软件标识 | make / model / software / artist / comment 之类 |
|
|
174
|
+
| 源片时间戳 | 输出的 creation_time 等于源片的 |
|
|
175
|
+
| 旋转矩阵 | encode 模式下旋转没烘进画面(copy 模式跳过——删了画面就是歪的) |
|
|
176
|
+
| 流构成 | 混进了 data / timecode / 附件流 |
|
|
177
|
+
| 章节 | 章节跟过来了 |
|
|
178
|
+
| 码流身份串 | SEI / DSE / compressorname 里还有编码器名字 |
|
|
179
|
+
| profile 相符 | 剩下的 tag 和声明的 profile 对不上 |
|
|
180
|
+
| 时长 | 输出被偷偷截断 |
|
|
181
|
+
| 可解码 | 产出了打不开的坏文件 |
|
|
182
|
+
|
|
183
|
+
### HDR 与内嵌字幕:SEI 这刀什么时候不许动
|
|
184
|
+
|
|
185
|
+
ffmpeg 只给得起 **NAL 级**的粒度——`filter_units` 按 NAL 类型删,
|
|
186
|
+
`h264_metadata` 也没有「只删某个 SEI payload」的选项。所以 `remove_types=6` 是
|
|
187
|
+
**全部 SEI 一起删**。而 SEI 里除了 x264 那串垃圾,还住着:
|
|
188
|
+
|
|
189
|
+
- **HDR 静态元数据**(mastering display / content light level)——删了会掉色,tone mapping 崩
|
|
190
|
+
- **CEA-608/708 内嵌字幕**——删了字幕没了
|
|
191
|
+
|
|
192
|
+
所以脚本的策略是:**只在真查到身份串时才动刀,HDR 源片一律不动**(会明说没动,
|
|
193
|
+
以及为什么)。这个判断由 `seiPlan()` 做,不需要你操心,但你该知道它在那儿。
|
|
194
|
+
|
|
195
|
+
### 边界(不做的事)
|
|
196
|
+
|
|
197
|
+
不去除水印(鲁棒像素水印重编码也杀不掉,别指望)、不改画面内容(不裁剪不缩放不旋转)、
|
|
198
|
+
不伪造设备型号和 GPS(profile 只写工具类信息,不编造拍摄设备和位置)、
|
|
199
|
+
不做批量目录扫描(一次一条片子)、不处理非 mp4/mov 之外的容器。
|
|
200
|
+
|
|
201
|
+
### 自测
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
node {baseDir}/scripts/selftest.mjs
|
|
205
|
+
```
|
|
206
|
+
```
|
|
207
|
+
117 项断言,不碰 ffmpeg、不碰真文件。**12 道门每道都有击穿用例**——证明它真的会拦。
|
|
208
|
+
改完脚本先跑这个。
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Source
|
|
212
|
+
|
|
213
|
+
Rewritten for AICUT from [`eternityspring/reelbench-skills`](https://github.com/eternityspring/reelbench-skills)
|
|
214
|
+
(Apache-2.0), skills/video-scrub/SKILL.md. The method is that skill's own; the way it runs is AICUT's.
|
|
215
|
+
|
|
216
|
+
The repository holds 3 skills; this is the one its entry stands for.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# profile:擦白之后写回去的那一层
|
|
2
|
+
|
|
3
|
+
清完之后文件是「无名」的——没有 tag,没有 handler 名,没有时间。
|
|
4
|
+
profile 决定往回写什么。
|
|
5
|
+
|
|
6
|
+
**隐私强度排序:`bare` > 其余三档。** 理由很简单:`bare` 不写任何可被证伪的声明。
|
|
7
|
+
其余三档写的是工具类信息(什么软件封装的、什么 handler),**不编造拍摄设备、不编造位置**。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 录屏的元数据长什么样
|
|
12
|
+
|
|
13
|
+
先说一个事实,它决定了这几档为什么都这么简单:
|
|
14
|
+
|
|
15
|
+
**录屏的元数据特征九成是「没有」。**
|
|
16
|
+
|
|
17
|
+
GPS 是拍摄设备的定位服务写进去的——iPhone 相机写 `com.apple.quicktime.location.ISO6709`,
|
|
18
|
+
安卓相机写 `location`。录屏抓的是显示缓冲区,QuickTime、ScreenCaptureKit、OBS、
|
|
19
|
+
Windows Game Bar、iOS 控制中心录屏,**压根没有定位这条管线,也没有相应权限**。
|
|
20
|
+
|
|
21
|
+
所以一条录屏文件里不会有:GPS、相机型号、镜头光圈快门、旋转矩阵、拍摄参数。
|
|
22
|
+
剩下的只有封装工具的痕迹。
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 四档
|
|
27
|
+
|
|
28
|
+
### `obs`(默认)—— OBS Studio 录制
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
encoder = Lavf<ffmpeg 的真版本号>
|
|
32
|
+
handler_name = VideoHandler / SoundHandler
|
|
33
|
+
creation_time = <当前时间或 --date>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**这档不是伪造。** OBS 本来就是用 ffmpeg 封装输出的,所以它产出的文件带 `Lavf` 版本号、
|
|
37
|
+
带标准 handler 名。我们的输出也是 ffmpeg 封的,长相同类。
|
|
38
|
+
|
|
39
|
+
版本号**不伪造**——做不到(见 `residue-map.md` 第 1 条),也没必要。
|
|
40
|
+
这一档靠**不加** `-fflags +bitexact` 来保住 ffmpeg 自己写的版本号。
|
|
41
|
+
|
|
42
|
+
### `quicktime` —— macOS QuickTime 录屏
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
handler_name = Core Media Video / Core Media Audio
|
|
46
|
+
creation_time = <当前时间或 --date>
|
|
47
|
+
(无 encoder 字段)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
`Core Media *` 是 Apple 的 AVFoundation 写的 handler 名,QuickTime 录屏、
|
|
51
|
+
iOS 录屏产出的文件都长这样。
|
|
52
|
+
|
|
53
|
+
### `screencapture` —— macOS ScreenCaptureKit
|
|
54
|
+
|
|
55
|
+
和 `quicktime` 同款。分成两档是因为语义不同(一个是 App 录的,一个是系统 API 录的),
|
|
56
|
+
元数据层面当前不做区分。
|
|
57
|
+
|
|
58
|
+
### `bare` —— 什么都不写
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
handler_name = "(单空格)"
|
|
62
|
+
(无 encoder、无 creation_time)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**隐私强度最高的一档。** 不留任何可被证伪的声明,也不留时间。
|
|
66
|
+
|
|
67
|
+
handler 用单空格是有原因的:置空会退回 ffmpeg 的默认值 `VideoHandler`,等于没清。
|
|
68
|
+
见 `residue-map.md` 第 5 条。
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 选哪一档
|
|
73
|
+
|
|
74
|
+
| 场景 | 建议 |
|
|
75
|
+
| --- | --- |
|
|
76
|
+
| 发布前清掉自己的隐私信息 | `obs`(默认),够了 |
|
|
77
|
+
| 交付给客户、不想带自己的工具痕迹 | `bare` |
|
|
78
|
+
| 素材库归档,想要一致的元数据 | 任意一档,固定住就行 |
|
|
79
|
+
| 不确定 | `bare`——不写就不会错 |
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## profile 不做的事
|
|
84
|
+
|
|
85
|
+
- **不写设备型号。** 不会往输出里填 `iPhone 15 Pro` 或任何相机型号。
|
|
86
|
+
- **不写 GPS。** 位置那道门判的是「必须不存在」,不是「伪造一个合理的坐标」。
|
|
87
|
+
- **不写作者、版权、账号。** 这些字段只会被清,不会被填。
|
|
88
|
+
|
|
89
|
+
profile 只碰三样东西:封装工具的痕迹、handler 名、创建时间。
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# 五个藏身处
|
|
2
|
+
|
|
3
|
+
清视频元数据不是一行 `-map_metadata -1` 的事。工具会把身份写进**五个地方**,
|
|
4
|
+
其中三处 `ffprobe` 根本看不见——所以「我清干净了」这个判断本身可能是假的。
|
|
5
|
+
|
|
6
|
+
以下全部在 ffmpeg 8.1.2 / macOS 上实测,包括几个**看着该管用其实没用**的坑。
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. 容器 tag 的 `encoder`
|
|
11
|
+
|
|
12
|
+
最显眼的一处,`ffprobe -show_format` 就能看见。
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
encoder = Lavf58.45.100
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**堵法:** `-fflags +bitexact`
|
|
19
|
+
|
|
20
|
+
**注意:** 这个字段由 muxer 自己占着,改不动也清不掉:
|
|
21
|
+
|
|
22
|
+
| 试过 | 结果 |
|
|
23
|
+
| --- | --- |
|
|
24
|
+
| `-metadata encoder=Lavf60.16.100` | ✗ 盖不过去,输出仍是 ffmpeg 的真版本号 |
|
|
25
|
+
| `-metadata encoder=`(置空) | ✗ 清不掉 |
|
|
26
|
+
| `-fflags +bitexact` | ✓ 整个字段消失 |
|
|
27
|
+
|
|
28
|
+
**推论:** 想让输出「看起来像某个特定版本的工具产出」是做不到的。
|
|
29
|
+
所以 `obs` 档不伪造版本号——它不加 bitexact,让 ffmpeg 写自己的真版本号。
|
|
30
|
+
|
|
31
|
+
**另一条实测:** `-fflags +bitexact` 会清掉自动生成的 `creation_time`,
|
|
32
|
+
但**不影响显式写的那个**。`-fflags +bitexact -metadata creation_time=...` 两者可以并存。
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. `avc1` 的 compressorname
|
|
37
|
+
|
|
38
|
+
藏在 `moov` 的 sample description 里,是 `VisualSampleEntry` 的一个 32 字节 Pascal 串。
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
...\x01\x0cLavc libx264\x00\x00...
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
`ffprobe -show_format` 看不见它,`ffprobe -show_entries stream_tags` 能看见一个对应的
|
|
45
|
+
`encoder` 流 tag。
|
|
46
|
+
|
|
47
|
+
**堵法:** `-metadata:s:v:0 encoder=`
|
|
48
|
+
|
|
49
|
+
mov muxer 从**流的 `encoder` tag** 取这个字段,置空即清。
|
|
50
|
+
注意和第 1 条的区别:容器级的 `encoder` 置空没用,流级的置空有用。
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 3. AAC 码流里的 DSE
|
|
55
|
+
|
|
56
|
+
ffmpeg 的 AAC 编码器把自己的版本号写进 **Data Stream Element**,在音频码流内部。
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Lavc62.28.102
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
一条 53 秒的片子里出现 8 处。`ffprobe` 完全看不见。
|
|
63
|
+
|
|
64
|
+
**堵法:** `-flags:a +bitexact`
|
|
65
|
+
|
|
66
|
+
**关键推论:** 这是**码流内部**的东西,`-c:a copy` 抹不掉它。
|
|
67
|
+
所以即使走 copy 模式,**音频也必须重编一遍**。代价很小(53 秒的片子约 1 秒),
|
|
68
|
+
换来音轨干净。
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 4. H.264 的 SEI —— 最刁的一处
|
|
73
|
+
|
|
74
|
+
x264 把**完整编码参数**写成 SEI 塞在码流里:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
x264 - core 165 r3222 b35605a - H.264/MPEG-4 AVC codec - Copyleft 2003-2025 -
|
|
78
|
+
http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0
|
|
79
|
+
analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16
|
|
80
|
+
... crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 ...
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
这串东西信息量极大——编码器版本、全部参数、CRF 值。**任何 `ffprobe` 命令都看不见它。**
|
|
84
|
+
|
|
85
|
+
### 试错记录
|
|
86
|
+
|
|
87
|
+
| 试过 | 结果 |
|
|
88
|
+
| --- | --- |
|
|
89
|
+
| `-flags:v +bitexact` | ✗ 拦不住,SEI 照写 |
|
|
90
|
+
| `-x264-params info=0` | ✗ 被 ffmpeg 的封装吃掉了,无效 |
|
|
91
|
+
| **`-bsf:v filter_units=remove_types=6`** | ✓ 干净利落 |
|
|
92
|
+
|
|
93
|
+
**堵法:** `-bsf:v filter_units=remove_types=6`(6 = SEI 的 NAL 类型)
|
|
94
|
+
|
|
95
|
+
**重要:它在 `-c:v copy` 下照样工作。** 这是 copy 模式能成立的关键——
|
|
96
|
+
不重编画面也能摘掉 SEI。实测抽出前后的 H.264 码流 `cmp`,除了被摘掉的 SEI 之外逐字节一致。
|
|
97
|
+
|
|
98
|
+
### 但这把刀太钝 ⚠
|
|
99
|
+
|
|
100
|
+
ffmpeg 只给得起 **NAL 级**的粒度:
|
|
101
|
+
|
|
102
|
+
- `filter_units` 只能按 NAL 类型删,删不了单个 SEI payload
|
|
103
|
+
- `h264_metadata` 也没有对应选项(它能 `insert` SEI,不能选择性 `remove`)
|
|
104
|
+
|
|
105
|
+
所以 `remove_types=6` 是**全部 SEI 一起删**。SEI 里还住着:
|
|
106
|
+
|
|
107
|
+
- **HDR 静态元数据**——mastering display colour volume / content light level。
|
|
108
|
+
删了 HDR 片子会掉色,tone mapping 直接崩。
|
|
109
|
+
- **CEA-608/708 内嵌字幕**——删了字幕没了。
|
|
110
|
+
- `pic_timing` / `buffering_period`——个别播放器会挑剔。
|
|
111
|
+
|
|
112
|
+
**所以策略是有条件动刀**(`seiPlan()`):
|
|
113
|
+
|
|
114
|
+
1. 源片是 HDR → **一律不删**,哪怕有身份串,也只出告警
|
|
115
|
+
2. 码流里没查到身份串 → 不必动刀
|
|
116
|
+
3. 其余情况 → 删
|
|
117
|
+
|
|
118
|
+
HDR 的判定看 `color_transfer`(`smpte2084` / `arib-std-b67`)、`color_primaries`(`bt2020`)
|
|
119
|
+
和像素格式(`10le` / `12le` / `p010`)。
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## 5. `handler_name`
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
VideoHandler / SoundHandler
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**堵法:** 显式写值。
|
|
130
|
+
|
|
131
|
+
**坑:** `-metadata:s:v:0 handler_name=`(置空)**会退回 ffmpeg 的默认值** `VideoHandler`,
|
|
132
|
+
等于没清。要真空白得写一个**单空格**:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
-metadata:s:v:0 handler_name=" "
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
实测:单空格 → 输出的 handler_name 为空,文件里 `VideoHandler` 出现 0 次。
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 不在这五处、但同样要命的:独立的元数据轨
|
|
143
|
+
|
|
144
|
+
**GoPro 和 DJI 的 GPS 不在任何 tag 里**,在一条独立的定时元数据轨上
|
|
145
|
+
(GoPro 是 `gpmd` handler,整条 GPMF 遥测流:轨迹、速度、陀螺仪)。
|
|
146
|
+
|
|
147
|
+
你把 tag 清光了,`ffprobe -show_format` 看着干干净净,**一整条行动轨迹还躺在文件里**。
|
|
148
|
+
|
|
149
|
+
**堵法:** 白名单选流。
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
-map 0:v:0 -map "0:a:0?"
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
只显式挑视频和音频,其余一概不带过去——data 轨、timecode 轨、附件、字幕轨全掉。
|
|
156
|
+
配合 `-map_chapters -1` 把章节也挡住。
|
|
157
|
+
|
|
158
|
+
这就是「流构成」单独占一道门的原因:**不是形式主义,是这类源片唯一的防线。**
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 完整配方
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
ffmpeg -v error -y -i <src> \
|
|
166
|
+
-map 0:v:0 -map "0:a:0?" \
|
|
167
|
+
-map_metadata -1 -map_chapters -1 \
|
|
168
|
+
-c:v copy \ # 或 -c:v libx264 -crf 18
|
|
169
|
+
-c:a aac -b:a 192k \ # 音频必须重编,见第 3 条
|
|
170
|
+
-bsf:v "filter_units=remove_types=6" \ # 第 4 条,有条件
|
|
171
|
+
-fflags +bitexact \ # 第 1 条,bare/quicktime 档
|
|
172
|
+
-flags:a +bitexact \ # 第 3 条
|
|
173
|
+
-metadata:s:v:0 encoder= \ # 第 2 条
|
|
174
|
+
-metadata:s:a:0 encoder= \
|
|
175
|
+
-metadata:s:v:0 handler_name="<profile 的值>" \ # 第 5 条
|
|
176
|
+
-metadata:s:a:0 handler_name="<profile 的值>" \
|
|
177
|
+
-movflags +faststart \
|
|
178
|
+
<out>
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## 字节级扫描的两条讲究
|
|
184
|
+
|
|
185
|
+
验收时把源片的元数据字符串当「针」在输出里扫,有两个实现细节不能省:
|
|
186
|
+
|
|
187
|
+
**针要 ≥5 字节。** 更短的串会在压缩数据里随机撞出假阳性——踩过:一次扫描报告
|
|
188
|
+
`Lavc` 和 `x264` 有残留,查偏移才发现是压缩数据里的巧合。跳过的针要在报告里列出来,
|
|
189
|
+
不能默默忽略。
|
|
190
|
+
|
|
191
|
+
**通用串不当针。** 分界线是**能不能把范围缩小到某个人、某台设备、某次导出**:
|
|
192
|
+
|
|
193
|
+
| 串 | 当针? | 为什么 |
|
|
194
|
+
| --- | --- | --- |
|
|
195
|
+
| `wesley@example.com` | ✓ | 指向一个人 |
|
|
196
|
+
| `vid:v1e00fgi0000...` | ✓ | 平台的视频 ID |
|
|
197
|
+
| `iPhone 15 Pro` | ✓ | 指向设备型号 |
|
|
198
|
+
| `Lavf58.45.100` | ✓ | 钉死了一个版本 |
|
|
199
|
+
| `VideoHandler` | ✗ | 满世界都是,信息量为零 |
|
|
200
|
+
| `isom` | ✗ | 结构性 tag,输出里必然还有,当针会自己扎自己 |
|
|
201
|
+
|
|
202
|
+
**还有一类要豁免:profile 自己写回去的值。** 如果源片也是 ffmpeg 封的、版本号还恰好相同,
|
|
203
|
+
输出的 `encoder` 会和源片一模一样——但它是 muxer 现写的,不是漏过来的。
|
|
204
|
+
这个豁免不开口子:有 `-map_metadata -1` 在,源片的 `encoder` 字段**结构上就到不了**输出。
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: video-short-maker
|
|
3
|
+
description: "Create short clips from local video files using ffmpeg, with optional local Whisper subtitles. Use when Codex is asked to turn a long local video into a short, trim boring pauses, remove dead air, cut silence, create a 30-60 second clip, export a vertical 9:16 MP4, generate captions/subtitles, burn subtitles into a video, or generate a simple edit report. Base editing is ffmpeg-based; subtitles use local whisper.cpp and do not require an API key. Runs in AICUT: the film is film.html, a page per shot, drawn by `aicut look` and `aicut render`."
|
|
4
|
+
license: MIT
|
|
5
|
+
source: "Kappaemme-git/codex-video-short-maker-skill"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Video Short Maker
|
|
9
|
+
|
|
10
|
+
## Running it in AICUT
|
|
11
|
+
|
|
12
|
+
AICUT's film is `film.html`: it cuts pages, footage, pictures and sound together on tracks. A page is a web page that
|
|
13
|
+
sets `window.film = { frame(t) }` and draws that moment — no framework, no build step, no composition object, no
|
|
14
|
+
`registerRoot`. Five shots are five pages cut together, not one page that changes scene, so each shot stays trimmable
|
|
15
|
+
and replaceable in Studio.
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
npx -y @autoaiai/aicut@latest # the manual: the format and the commands, always current
|
|
19
|
+
npx -y @autoaiai/aicut@latest open . # make this folder a film and print Studio's address
|
|
20
|
+
npx -y @autoaiai/aicut@latest look # a contact sheet of the whole film, its sound, and a determinism check
|
|
21
|
+
npx -y @autoaiai/aicut@latest look 4.5 # one frame, full size — look at the PNG, not at the code
|
|
22
|
+
npx -y @autoaiai/aicut@latest render # the MP4, beside film.html
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Run the manual before the first film: it is authoritative for the format, and this skill is about the method above it.
|
|
26
|
+
|
|
27
|
+
Where the words below name another program's part, it becomes this:
|
|
28
|
+
|
|
29
|
+
| elsewhere | in AICUT |
|
|
30
|
+
|---|---|
|
|
31
|
+
| composition, timeline, project file | `film.html`; tracks and clips inside it |
|
|
32
|
+
| a scene, a sequence, a slide | a page (`pages/<name>.html`) cut onto a track |
|
|
33
|
+
| `useCurrentFrame()`, `interpolate()` | `frame(t)` — the picture depends only on `t`, never on state or `Date.now()` |
|
|
34
|
+
| a still, a screengrab | `aicut look <t>` |
|
|
35
|
+
| `render` / `build` / `export` | `aicut render` (the person can also export from Studio) |
|
|
36
|
+
| a dev server, a preview window | `aicut open` and the Studio address it prints |
|
|
37
|
+
|
|
38
|
+
Hard rules that hold whatever the method says: the picture depends only on `t`; every value in the person's prompt is
|
|
39
|
+
binding; look at the frames `look` writes before saying a film is done.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## Overview
|
|
43
|
+
|
|
44
|
+
Use this skill to turn a local video into a shorter MP4 by detecting silence and keeping the strongest non-silent parts. The base workflow depends only on `ffmpeg` and `ffprobe`. Captions are optional and use local `whisper.cpp`.
|
|
45
|
+
|
|
46
|
+
## Workflow
|
|
47
|
+
|
|
48
|
+
1. Identify the input video path and output goal.
|
|
49
|
+
- Default target duration: `45s`.
|
|
50
|
+
- Default format: landscape/same aspect ratio.
|
|
51
|
+
- Default quality: `high` for crisp text in screen recordings.
|
|
52
|
+
- Use vertical 9:16 only when the user asks for TikTok/Reels/Shorts/vertical.
|
|
53
|
+
- Use captions only when the user asks for subtitles/captions.
|
|
54
|
+
|
|
55
|
+
2. Run the bundled script:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
python3 /Users/francescomistero/.codex/skills/video-short-maker/scripts/make_short.py INPUT_VIDEO --duration 45
|
|
59
|
+
```
|
|
60
|
+
```
|
|
61
|
+
For vertical output:
|
|
62
|
+
```
|
|
63
|
+
```bash
|
|
64
|
+
python3 /Users/francescomistero/.codex/skills/video-short-maker/scripts/make_short.py INPUT_VIDEO --duration 45 --vertical
|
|
65
|
+
```
|
|
66
|
+
```
|
|
67
|
+
For a custom output path:
|
|
68
|
+
```
|
|
69
|
+
```bash
|
|
70
|
+
python3 /Users/francescomistero/.codex/skills/video-short-maker/scripts/make_short.py INPUT_VIDEO --duration 45 --output ./short.mp4
|
|
71
|
+
```
|
|
72
|
+
```
|
|
73
|
+
For smaller files:
|
|
74
|
+
```
|
|
75
|
+
```bash
|
|
76
|
+
python3 /Users/francescomistero/.codex/skills/video-short-maker/scripts/make_short.py INPUT_VIDEO --duration 45 --quality small
|
|
77
|
+
```
|
|
78
|
+
```
|
|
79
|
+
For local captions:
|
|
80
|
+
```
|
|
81
|
+
```bash
|
|
82
|
+
python3 /Users/francescomistero/.codex/skills/video-short-maker/scripts/make_short.py INPUT_VIDEO --duration 45 --vertical --captions
|
|
83
|
+
```
|
|
84
|
+
```
|
|
85
|
+
3. Report the result succinctly:
|
|
86
|
+
- output file path
|
|
87
|
+
- duration target
|
|
88
|
+
- number of segments kept
|
|
89
|
+
- report path
|
|
90
|
+
- whether vertical crop was applied
|
|
91
|
+
- quality preset
|
|
92
|
+
- subtitle and captioned video paths when captions were used
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Quality Presets
|
|
96
|
+
|
|
97
|
+
- `high`: CRF 18, slower encode, sharper text, larger file. Default.
|
|
98
|
+
- `balanced`: CRF 20, faster encode, good quality/size balance.
|
|
99
|
+
- `small`: CRF 24, smaller file, visibly more compression.
|
|
100
|
+
|
|
101
|
+
## Captions
|
|
102
|
+
|
|
103
|
+
Captions are optional and local. They do not require an API key.
|
|
104
|
+
|
|
105
|
+
When the user asks for subtitles/captions:
|
|
106
|
+
|
|
107
|
+
1. Check whether `whisper-cli` or `whisper-cpp` exists.
|
|
108
|
+
2. If missing, run or suggest:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
python3 /Users/francescomistero/.codex/skills/video-short-maker/scripts/setup_captions.py
|
|
112
|
+
```
|
|
113
|
+
```
|
|
114
|
+
3. Run `make_short.py` with `--captions`.
|
|
115
|
+
|
|
116
|
+
Caption outputs:
|
|
117
|
+
|
|
118
|
+
- `*.srt`: generated subtitle file
|
|
119
|
+
- `*.captioned.mp4`: final video with burned-in subtitles
|
|
120
|
+
|
|
121
|
+
Burned-in captions are rendered with Python/Pillow so they work even when the local ffmpeg build does not include the `subtitles` filter.
|
|
122
|
+
|
|
123
|
+
Default caption model: `tiny.en`.
|
|
124
|
+
|
|
125
|
+
For Italian or non-English speech, use the multilingual model and language:
|
|
126
|
+
```
|
|
127
|
+
```bash
|
|
128
|
+
python3 /Users/francescomistero/.codex/skills/video-short-maker/scripts/setup_captions.py --model base
|
|
129
|
+
python3 /Users/francescomistero/.codex/skills/video-short-maker/scripts/make_short.py INPUT_VIDEO --captions --caption-model ~/.cache/video-short-maker/models/ggml-base.bin --caption-language it
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Editing Behavior
|
|
133
|
+
|
|
134
|
+
The script:
|
|
135
|
+
|
|
136
|
+
- detects silent ranges with ffmpeg `silencedetect`
|
|
137
|
+
- converts them into non-silent candidate segments
|
|
138
|
+
- supports `--cut-style light|normal|aggressive`
|
|
139
|
+
- keeps `0.5s` of silence on both sides of each cut by default in `normal`, so speech feels less abrupt
|
|
140
|
+
- drops very short fragments
|
|
141
|
+
- keeps earlier non-silent segments until the target duration is reached
|
|
142
|
+
- concatenates selected segments
|
|
143
|
+
- optionally crops/scales to 9:16
|
|
144
|
+
- exports H.264 MP4 with AAC audio
|
|
145
|
+
- optionally extracts audio, transcribes with local Whisper, writes SRT, and burns captions
|
|
146
|
+
- writes an edit report JSON next to the output
|
|
147
|
+
|
|
148
|
+
This is not content-aware yet. It removes dead air and compresses the video, but it does not understand the spoken content.
|
|
149
|
+
|
|
150
|
+
## Output Guidance
|
|
151
|
+
|
|
152
|
+
Keep responses short. Do not paste full ffmpeg logs unless the command fails.
|
|
153
|
+
|
|
154
|
+
Use this format:
|
|
155
|
+
|
|
156
|
+
```markdown
|
|
157
|
+
Created short:
|
|
158
|
+
`/path/to/output.short.mp4`
|
|
159
|
+
|
|
160
|
+
- Target: 45s
|
|
161
|
+
- Kept segments: 6
|
|
162
|
+
- Vertical: yes/no
|
|
163
|
+
- Quality: high/balanced/small
|
|
164
|
+
- Report: `/path/to/output.report.json`
|
|
165
|
+
- Subtitles: `/path/to/output.srt` if used
|
|
166
|
+
- Captioned video: `/path/to/output.captioned.mp4` if used
|
|
167
|
+
```
|
|
168
|
+
If the result is rough, say so plainly and suggest the next useful option:
|
|
169
|
+
|
|
170
|
+
- use `--cut-style aggressive` if it barely cut anything
|
|
171
|
+
- use `--cut-style light` if cuts feel too jumpy
|
|
172
|
+
- increase `--keep-silence` to make cuts feel softer
|
|
173
|
+
- increase `--duration` if context is missing
|
|
174
|
+
- use `--vertical` for Shorts/Reels/TikTok
|
|
175
|
+
- use `--quality balanced` or `--quality small` if the file is too large
|
|
176
|
+
- use `--captions` when subtitles are needed
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Source
|
|
180
|
+
|
|
181
|
+
Rewritten for AICUT from [`Kappaemme-git/codex-video-short-maker-skill`](https://github.com/Kappaemme-git/codex-video-short-maker-skill)
|
|
182
|
+
(MIT), video-short-maker/SKILL.md. The method is that skill's own; the way it runs is AICUT's.
|