@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,180 @@
|
|
|
1
|
+
# Remotion Patterns and Best Practices
|
|
2
|
+
|
|
3
|
+
Key patterns used in claude-shorts, verified against Remotion v4.0.422.
|
|
4
|
+
|
|
5
|
+
## Bundle-Once-Render-Many
|
|
6
|
+
|
|
7
|
+
For batch rendering multiple shorts, bundle the project once and reuse the Chrome instance:
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
import { bundle } from "@remotion/bundler";
|
|
11
|
+
import { renderMedia, selectComposition, openBrowser } from "@remotion/renderer";
|
|
12
|
+
|
|
13
|
+
// Bundle once
|
|
14
|
+
const serveUrl = await bundle({ entryPoint: "src/index.ts" });
|
|
15
|
+
|
|
16
|
+
// Open shared browser
|
|
17
|
+
const browser = await openBrowser("chrome");
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
for (const segment of segments) {
|
|
21
|
+
// selectComposition resolves calculateMetadata for dynamic duration
|
|
22
|
+
const composition = await selectComposition({
|
|
23
|
+
serveUrl,
|
|
24
|
+
id: "ShortVideo",
|
|
25
|
+
inputProps: segment.props,
|
|
26
|
+
puppeteerInstance: browser,
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
await renderMedia({
|
|
30
|
+
composition,
|
|
31
|
+
serveUrl,
|
|
32
|
+
codec: "h264",
|
|
33
|
+
crf: 18,
|
|
34
|
+
outputLocation: segment.outputPath,
|
|
35
|
+
inputProps: segment.props,
|
|
36
|
+
puppeteerInstance: browser,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
} finally {
|
|
40
|
+
await browser.close();
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Critical**: Always use `selectComposition()` before `renderMedia()`. Never pass inline composition objects. `selectComposition()` evaluates `calculateMetadata` to resolve dynamic duration per segment.
|
|
45
|
+
|
|
46
|
+
## OffthreadVideo + CSS Reframing
|
|
47
|
+
|
|
48
|
+
Reframing is done via CSS transforms on OffthreadVideo, not FFmpeg pre-processing:
|
|
49
|
+
|
|
50
|
+
```tsx
|
|
51
|
+
const scale = outputWidth / crop.w;
|
|
52
|
+
const translateX = -crop.x * scale;
|
|
53
|
+
const translateY = -crop.y * scale;
|
|
54
|
+
|
|
55
|
+
<div style={{ width: 1080, height: 1920, overflow: "hidden" }}>
|
|
56
|
+
<OffthreadVideo
|
|
57
|
+
src={clipPath}
|
|
58
|
+
style={{
|
|
59
|
+
width: sourceWidth * scale,
|
|
60
|
+
height: sourceHeight * scale,
|
|
61
|
+
transform: `translate(${translateX}px, ${translateY}px)`,
|
|
62
|
+
}}
|
|
63
|
+
/>
|
|
64
|
+
</div>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This avoids double-encoding. Remotion handles the crop during render.
|
|
68
|
+
|
|
69
|
+
## Spring Animations
|
|
70
|
+
|
|
71
|
+
Spring configs for each caption style:
|
|
72
|
+
|
|
73
|
+
```ts
|
|
74
|
+
// Bold: Snappy pop-in, slight overshoot
|
|
75
|
+
spring({ frame, fps, config: { mass: 1, damping: 12, stiffness: 200 } });
|
|
76
|
+
// ~0.4s settle, overshoots to ~1.05
|
|
77
|
+
|
|
78
|
+
// Bounce: Very bouncy, visible overshoot
|
|
79
|
+
spring({ frame, fps, config: { mass: 1, damping: 8, stiffness: 180 } });
|
|
80
|
+
// ~0.6s settle, overshoots to ~1.2
|
|
81
|
+
|
|
82
|
+
// Clean style uses interpolate(), not spring
|
|
83
|
+
interpolate(localFrame, [0, 6], [0, 1], { extrapolateRight: "clamp" });
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Spring values guide:
|
|
87
|
+
- `damping < 10`: Visible bounce
|
|
88
|
+
- `damping 10-15`: Slight overshoot, professional feel
|
|
89
|
+
- `damping > 20`: No overshoot, smooth ease
|
|
90
|
+
- `stiffness > 150`: Fast, snappy
|
|
91
|
+
- `stiffness < 100`: Slow, gentle
|
|
92
|
+
|
|
93
|
+
## @remotion/captions API
|
|
94
|
+
|
|
95
|
+
```ts
|
|
96
|
+
import { createTikTokStyleCaptions } from "@remotion/captions";
|
|
97
|
+
|
|
98
|
+
// Input captions format
|
|
99
|
+
type Caption = {
|
|
100
|
+
text: string;
|
|
101
|
+
startMs: number;
|
|
102
|
+
endMs: number;
|
|
103
|
+
timestampMs: null; // required field, always null for our use
|
|
104
|
+
confidence: null; // required field, always null for our use
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// Create pages (groups of words)
|
|
108
|
+
const { pages } = createTikTokStyleCaptions({
|
|
109
|
+
captions: remotionCaptions,
|
|
110
|
+
combineTokensWithinMilliseconds: 800, // adjust per style
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
// Page structure
|
|
114
|
+
type TikTokPage = {
|
|
115
|
+
text: string; // Combined text of all tokens
|
|
116
|
+
startMs: number; // Start time of first token
|
|
117
|
+
durationMs: number; // Duration until end of last token
|
|
118
|
+
tokens: Array<{
|
|
119
|
+
text: string;
|
|
120
|
+
fromMs: number;
|
|
121
|
+
toMs: number;
|
|
122
|
+
}>;
|
|
123
|
+
};
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## calculateMetadata for Dynamic Duration
|
|
127
|
+
|
|
128
|
+
Each segment has a different duration. Use `calculateMetadata` in the Composition:
|
|
129
|
+
|
|
130
|
+
```tsx
|
|
131
|
+
<Composition
|
|
132
|
+
id="ShortVideo"
|
|
133
|
+
component={ShortVideo}
|
|
134
|
+
width={1080}
|
|
135
|
+
height={1920}
|
|
136
|
+
fps={30}
|
|
137
|
+
durationInFrames={30 * 30} // default, overridden by calculateMetadata
|
|
138
|
+
schema={ShortVideoPropsSchema}
|
|
139
|
+
defaultProps={defaultProps}
|
|
140
|
+
calculateMetadata={({ props }) => ({
|
|
141
|
+
durationInFrames: Math.ceil(props.durationInSeconds * 30),
|
|
142
|
+
fps: 30,
|
|
143
|
+
width: 1080,
|
|
144
|
+
height: 1920,
|
|
145
|
+
})}
|
|
146
|
+
/>
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Zod Schema Validation
|
|
150
|
+
|
|
151
|
+
Always define inputProps with Zod schemas for type safety:
|
|
152
|
+
|
|
153
|
+
```ts
|
|
154
|
+
import { z } from "zod";
|
|
155
|
+
|
|
156
|
+
const ShortVideoPropsSchema = z.object({
|
|
157
|
+
clipSrc: z.string(),
|
|
158
|
+
sourceWidth: z.number(),
|
|
159
|
+
sourceHeight: z.number(),
|
|
160
|
+
crop: CropSchema,
|
|
161
|
+
captions: z.array(CaptionSchema),
|
|
162
|
+
captionStyle: z.enum(["bold", "bounce", "clean"]),
|
|
163
|
+
hookLine1: z.string().optional().default(""),
|
|
164
|
+
hookLine2: z.string().optional().default(""),
|
|
165
|
+
showProgressBar: z.boolean().optional().default(true),
|
|
166
|
+
durationInSeconds: z.number(),
|
|
167
|
+
});
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## File Paths in Render
|
|
171
|
+
|
|
172
|
+
When rendering headless, `clipSrc` must be an `http://` URL. Remotion's renderer proxy does not support `file://` URLs. The render script starts a local HTTP server on a random port (e.g., `http://127.0.0.1:PORT/clip_01.mp4`) to serve clip files. Do NOT use `staticFile()` for dynamic clip sources — that's for bundled assets only.
|
|
173
|
+
|
|
174
|
+
## Performance Tips
|
|
175
|
+
|
|
176
|
+
- Use `OffthreadVideo` (not `Video`) — decodes frames in a separate thread
|
|
177
|
+
- Pre-extract segments before rendering (don't seek through long files)
|
|
178
|
+
- Use `codec: "h264"` with `crf: 18` for good quality-size balance
|
|
179
|
+
- Share browser instance across renders (`openBrowser` + `puppeteerInstance`)
|
|
180
|
+
- Bundle once, render many
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Segment Scoring Rubric
|
|
2
|
+
|
|
3
|
+
When analyzing a transcript for shortform candidates, score each segment on these 5 dimensions. Each dimension is scored 0-100, then weighted to produce a final score.
|
|
4
|
+
|
|
5
|
+
## Dimensions
|
|
6
|
+
|
|
7
|
+
### 1. Hook Strength (Weight: 0.30)
|
|
8
|
+
|
|
9
|
+
The first 3 seconds determine whether a viewer scrolls past or stays. Score based on which hook archetype is present:
|
|
10
|
+
|
|
11
|
+
| Archetype | Example | Score Range |
|
|
12
|
+
|-----------|---------|-------------|
|
|
13
|
+
| Bold/Contrarian | "Everything you know about X is wrong" | 80-100 |
|
|
14
|
+
| Curiosity Gap | "There's one thing nobody tells you about..." | 75-95 |
|
|
15
|
+
| Value Promise | "Here's the exact framework I used to..." | 70-90 |
|
|
16
|
+
| Pattern Interrupt | "Wait, let me show you something weird" | 70-90 |
|
|
17
|
+
| Payoff Preview | "By the end of this you'll know how to..." | 65-85 |
|
|
18
|
+
| Mid-Action Start | [Starts mid-sentence with energy] | 60-80 |
|
|
19
|
+
| Hidden Knowledge | "The secret that [authority figures] don't share" | 60-80 |
|
|
20
|
+
| Weak/Generic | "So today I want to talk about..." | 10-40 |
|
|
21
|
+
|
|
22
|
+
**Boosters** (+5-10 each):
|
|
23
|
+
- Contains a specific number ("3 steps", "$50K", "in 30 days")
|
|
24
|
+
- Names a recognizable entity (person, company, tool)
|
|
25
|
+
- Implies personal experience ("I tested", "I spent 6 months")
|
|
26
|
+
|
|
27
|
+
### 2. Standalone Coherence (Weight: 0.25)
|
|
28
|
+
|
|
29
|
+
The segment must make complete sense to someone who hasn't seen the rest of the video.
|
|
30
|
+
|
|
31
|
+
| Criteria | Score |
|
|
32
|
+
|----------|-------|
|
|
33
|
+
| Complete self-contained narrative arc (setup → development → resolution) | 85-100 |
|
|
34
|
+
| Complete idea with minor context gaps (viewer can infer) | 65-84 |
|
|
35
|
+
| Mostly standalone but references earlier content ("as I said before") | 40-64 |
|
|
36
|
+
| Requires prior context to understand ("so going back to that point") | 10-39 |
|
|
37
|
+
| Fragment — starts or ends mid-thought | 0-9 |
|
|
38
|
+
|
|
39
|
+
**Red flags** (automatic low score):
|
|
40
|
+
- "As I mentioned earlier..."
|
|
41
|
+
- "Going back to what we discussed..."
|
|
42
|
+
- Pronouns without clear referents ("he said that...")
|
|
43
|
+
- Cuts off mid-sentence at the end
|
|
44
|
+
|
|
45
|
+
### 3. Emotional Intensity (Weight: 0.20)
|
|
46
|
+
|
|
47
|
+
Strong emotions drive shares and comments.
|
|
48
|
+
|
|
49
|
+
| Signal | Score Range |
|
|
50
|
+
|--------|-------------|
|
|
51
|
+
| Passionate rant / strong opinion with conviction | 80-100 |
|
|
52
|
+
| Surprise reveal / unexpected twist | 75-95 |
|
|
53
|
+
| Genuine humor / laughter | 70-90 |
|
|
54
|
+
| Personal vulnerability / honest failure story | 70-90 |
|
|
55
|
+
| Enthusiastic explanation of something fascinating | 60-80 |
|
|
56
|
+
| Calm but insightful observation | 40-60 |
|
|
57
|
+
| Monotone recitation of facts | 10-30 |
|
|
58
|
+
|
|
59
|
+
### 4. Value Density (Weight: 0.15)
|
|
60
|
+
|
|
61
|
+
How much actionable content is packed per second.
|
|
62
|
+
|
|
63
|
+
| Content Type | Score Range |
|
|
64
|
+
|--------------|-------------|
|
|
65
|
+
| Step-by-step process / exact method | 80-100 |
|
|
66
|
+
| Framework / mental model with examples | 75-95 |
|
|
67
|
+
| Specific data points / research findings | 70-90 |
|
|
68
|
+
| Counter-intuitive insight with explanation | 65-85 |
|
|
69
|
+
| General advice with some specifics | 40-60 |
|
|
70
|
+
| Vague platitudes ("work harder", "be consistent") | 10-30 |
|
|
71
|
+
|
|
72
|
+
**Duration adjustment**: Penalize segments where >30% of time is filler, repetition, or tangents.
|
|
73
|
+
|
|
74
|
+
### 5. Payoff Quality (Weight: 0.10)
|
|
75
|
+
|
|
76
|
+
How satisfying the ending feels.
|
|
77
|
+
|
|
78
|
+
| Ending Type | Score Range |
|
|
79
|
+
|-------------|-------------|
|
|
80
|
+
| Punchline / satisfying reveal | 85-100 |
|
|
81
|
+
| Clear call-to-action with specific next step | 75-90 |
|
|
82
|
+
| Complete thought — natural stopping point | 65-80 |
|
|
83
|
+
| Fades into next topic (can be cut cleanly) | 40-60 |
|
|
84
|
+
| Cuts off mid-thought / no resolution | 10-30 |
|
|
85
|
+
|
|
86
|
+
## Scoring Formula
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
final_score = (hook * 0.30) + (coherence * 0.25) + (emotion * 0.20) + (value * 0.15) + (payoff * 0.10)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Candidate Selection Guidelines
|
|
93
|
+
|
|
94
|
+
1. **Target 8-12 candidates** from a typical 30-60 minute video
|
|
95
|
+
2. **Duration sweet spot**: 15-55 seconds (peak engagement at 25-40s)
|
|
96
|
+
3. **Minimum score threshold**: 60 (below this, skip the segment)
|
|
97
|
+
4. **Diversity**: Don't select 5 segments about the same subtopic
|
|
98
|
+
5. **Spacing**: Prefer segments at least 2 minutes apart in source
|
|
99
|
+
6. **Natural boundaries**: Align start/end with sentence boundaries, not mid-word
|
|
100
|
+
|
|
101
|
+
## Hook Text Generation
|
|
102
|
+
|
|
103
|
+
For each selected segment, write a hook overlay:
|
|
104
|
+
- **Line 1**: 4-8 words, the attention-grabbing statement (white, large)
|
|
105
|
+
- **Line 2**: 3-6 words, context or subtitle (cyan, smaller)
|
|
106
|
+
- Lines should NOT duplicate the first spoken words — they complement the audio
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: smart-video-editor
|
|
3
|
+
description: "把多段原始素材剪成一条成片——先用视觉模型看懂每段画面拍了什么、哪几秒可用,再决定取舍、顺序、时长、调色和 BGM,最后用 ffmpeg 渲染。适用于\"我给你几段视频,帮我剪一条小红书/朋友圈/vlog\"这类需求。当用户提供视频文件并希望剪辑、拼接、配乐、调色、转成竖屏时使用。不做 AI 生成视频。 Runs in AICUT: the film is film.html, a page per shot, drawn by `aicut look` and `aicut render`."
|
|
4
|
+
license: MIT
|
|
5
|
+
source: "Fagan1024/smart-video-editor"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Smart Video Editor
|
|
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
|
+
纯剪辑。核心区别在于**先看懂素材再动手**,而不是按文件名顺序机械拼接。
|
|
43
|
+
|
|
44
|
+
## 三个阶段
|
|
45
|
+
|
|
46
|
+
### 阶段一:看懂素材
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
python3 {baseDir}/scripts/probe.py <素材目录或文件列表>
|
|
50
|
+
```
|
|
51
|
+
```
|
|
52
|
+
拿到每段的时长、分辨率、朝向、帧率、有无音轨。
|
|
53
|
+
|
|
54
|
+
然后**对每一段抽帧,逐帧用 `vision_analyze` 看**:
|
|
55
|
+
```
|
|
56
|
+
```bash
|
|
57
|
+
python3 {baseDir}/scripts/extract_frames.py <video> /tmp/sve-frames --interval 1.5 --max 8
|
|
58
|
+
```
|
|
59
|
+
```
|
|
60
|
+
帧文件名形如 `clip1__t3.5.jpg`,`t` 后面就是它在原片中的秒数——视觉判断能直接映射回时间轴。
|
|
61
|
+
|
|
62
|
+
对每帧问这些(一次问清,不要分多次):
|
|
63
|
+
|
|
64
|
+
> 这一帧里是什么内容(主体、场景、动作)?构图如何?是否存在下列问题:明显模糊/失焦、剧烈抖动、过曝或死黑、镜头遮挡、无内容的空镜、正在转场的中间态?给画面可用性打 1-5 分。
|
|
65
|
+
|
|
66
|
+
**素材多时用 `session_spawn` 并行分析**,每个子任务负责 1-2 段,让它把结论按 `{时间戳: 内容, 可用性, 问题}` 结构化返回。
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 阶段二:做剪辑决策
|
|
70
|
+
|
|
71
|
+
拿到全部画面信息后,自己判断这几件事——这是这个 skill 真正的价值所在,不要跳过:
|
|
72
|
+
|
|
73
|
+
**取舍**:可用性低于 3 分的时间段直接不要。一段 10 秒素材里只有 4 秒有内容,就只取那 4 秒。
|
|
74
|
+
|
|
75
|
+
**顺序**:按叙事逻辑排,不要按文件名。常用结构:
|
|
76
|
+
- 空间叙事:全景开场 → 中景 → 细节特写 → 人物/收尾
|
|
77
|
+
- 时间叙事:按事件发生顺序
|
|
78
|
+
- 情绪叙事:平静起 → 高潮 → 回落收尾
|
|
79
|
+
|
|
80
|
+
**节奏**:短视频(15-30 秒)单段 1.5-3 秒;慢节奏 vlog 可以 4-6 秒。同类画面连续出现要缩短,避免观感重复。有 BGM 时让切点尽量落在节拍上。
|
|
81
|
+
|
|
82
|
+
**调性**:根据画面内容选 `look`,不要默认套一个。
|
|
83
|
+
|
|
84
|
+
**竖屏处理**:横屏素材进竖屏成片时,主体在中间用 `crop`,主体偏移或不能裁的用 `blur_pad`。
|
|
85
|
+
|
|
86
|
+
把决策写成 EDL(JSON):
|
|
87
|
+
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"output": "/绝对路径/成片.mp4",
|
|
91
|
+
"aspect": "9:16",
|
|
92
|
+
"fps": 30,
|
|
93
|
+
"look": "film",
|
|
94
|
+
"fill_mode": "crop",
|
|
95
|
+
"transition": { "type": "dissolve", "duration": 0.4 },
|
|
96
|
+
"keep_original_audio": false,
|
|
97
|
+
"bgm": {
|
|
98
|
+
"path": "/绝对路径/bgm.mp3",
|
|
99
|
+
"volume": 0.85,
|
|
100
|
+
"start": 0,
|
|
101
|
+
"fade_in": 1.0,
|
|
102
|
+
"fade_out": 1.5,
|
|
103
|
+
"original_volume": 0.25
|
|
104
|
+
},
|
|
105
|
+
"title": {
|
|
106
|
+
"ass": "/绝对路径/title.ass",
|
|
107
|
+
"fonts_dir": "~/.cola/assets/fonts"
|
|
108
|
+
},
|
|
109
|
+
"segments": [
|
|
110
|
+
{ "src": "/绝对路径/clip1.mov", "in": 2.4, "out": 5.1 },
|
|
111
|
+
{ "src": "/绝对路径/clip3.mov", "in": 0.5, "out": 3.0, "speed": 1.0 }
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
字段说明:
|
|
116
|
+
|
|
117
|
+
| 字段 | 说明 |
|
|
118
|
+
|------|------|
|
|
119
|
+
| `aspect` | `9:16` 竖屏 / `16:9` 横屏 / `1:1` / `4:5` / `3:4` |
|
|
120
|
+
| `resolution` | 可选,`[宽,高]`,给了就覆盖 aspect |
|
|
121
|
+
| `look` | `none` `clean` `film` `warm` `cool` `soft` `vivid` `fresh` `bw` |
|
|
122
|
+
| `fill_mode` | `crop` 裁满 / `pad` 黑边 / `blur_pad` 模糊铺底 |
|
|
123
|
+
| `transition.type` | `cut` `fade` `dissolve` `fadeblack` `wipeleft` `slideleft` `smoothleft` |
|
|
124
|
+
| `keep_original_audio` | 是否保留原声;和 BGM 同时开会自动混音 |
|
|
125
|
+
| `bgm.original_volume` | 混音时原声的压低倍数 |
|
|
126
|
+
| `segments[].in/out` | 该片段在源素材中的起止秒 |
|
|
127
|
+
| `segments[].speed` | 可选,`2.0` 快放一倍,`0.5` 慢放 |
|
|
128
|
+
| `title` | 可选,标题字幕。`ass` 指向 make_title.py 生成的文件 |
|
|
129
|
+
|
|
130
|
+
调性参考:
|
|
131
|
+
|
|
132
|
+
| look | 适合 |
|
|
133
|
+
|------|------|
|
|
134
|
+
| `clean` | 通用,轻微提对比和锐度,最安全 |
|
|
135
|
+
| `film` | 电影感,中对比曲线 + 轻暗角 + 冷调阴影 |
|
|
136
|
+
| `warm` | 食物、室内、人物、日落 |
|
|
137
|
+
| `cool` | 城市、雪景、雨天、科技感 |
|
|
138
|
+
| `soft` | 日系清淡、柔和小清新 |
|
|
139
|
+
| `vivid` | 风景、明亮活泼、需要抓眼球(注意易过饱和、灰色物体会偏色) |
|
|
140
|
+
| `fresh` | 阴天/漫射光下的户外素材,提通透但不染色,绿植类首选 |
|
|
141
|
+
| `bw` | 黑白 |
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### 阶段二半:标题动画(可选)
|
|
145
|
+
|
|
146
|
+
需要片头字时,用 `make_title.py` 生成 ASS 字幕,再在 EDL 里挂 `title` 字段。
|
|
147
|
+
**绝不用系统默认字体**——默认黑体一眼就是"没设计过"。
|
|
148
|
+
|
|
149
|
+
#### 选字体
|
|
150
|
+
|
|
151
|
+
字体库索引在 `~/.cola/assets/fonts/FONTS.md`,**先读它再决定**,表里有每个字体的
|
|
152
|
+
family name、风格、许可和适用场景:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
cat ~/.cola/assets/fonts/FONTS.md
|
|
156
|
+
```
|
|
157
|
+
```
|
|
158
|
+
选择依据是**画面调性**,不是随便挑:
|
|
159
|
+
|
|
160
|
+
| 画面类型 | 字体方向 |
|
|
161
|
+
|---------|---------|
|
|
162
|
+
| 运动、骑行、city walk、潮流 | 倾斜粗黑(得意黑),有速度感和张力 |
|
|
163
|
+
| 风景、旅行、治愈、慢生活 | 楷体或宋体(霞鹜文楷、思源宋体),文艺质感 |
|
|
164
|
+
| 产品、UI、数据、干货 | 现代无衬线(思源黑体、Inter),干净克制 |
|
|
165
|
+
| 生活记录、日常、轻松 | 圆体或手写体,亲和力强 |
|
|
166
|
+
| 纯英文/数字标题 | Bebas Neue(粗压缩)、Playfair Display(高衬线) |
|
|
167
|
+
|
|
168
|
+
**`--font` 传的是字体内部的 family name,不是文件名。** 从 FONTS.md 表里取;
|
|
169
|
+
新装的字体要自己查:
|
|
170
|
+
```
|
|
171
|
+
```bash
|
|
172
|
+
python3 -c "
|
|
173
|
+
from fontTools.ttLib import TTFont
|
|
174
|
+
t=TTFont('<字体路径>', fontNumber=0)
|
|
175
|
+
print({r.toUnicode() for r in t['name'].names if r.nameID==1})
|
|
176
|
+
"
|
|
177
|
+
```
|
|
178
|
+
```
|
|
179
|
+
#### 生成标题
|
|
180
|
+
```
|
|
181
|
+
```bash
|
|
182
|
+
python3 {baseDir}/scripts/make_title.py \
|
|
183
|
+
--text "标题文字" --font "Smiley Sans" \
|
|
184
|
+
--out /path/title.ass \
|
|
185
|
+
--anim fade-up --start 0.4 --duration 2.6 --size 96
|
|
186
|
+
```
|
|
187
|
+
```
|
|
188
|
+
主要参数:
|
|
189
|
+
|
|
190
|
+
| 参数 | 说明 |
|
|
191
|
+
|------|------|
|
|
192
|
+
| `--text` | 主标题,`\N` 换行 |
|
|
193
|
+
| `--subtitle` | 副标题,比主标题晚 `--sub-delay` 秒出现 |
|
|
194
|
+
| `--font` / `--sub-font` | family name |
|
|
195
|
+
| `--anim` | 入场动画,见下表 |
|
|
196
|
+
| `--start` / `--duration` | 出现时间 / 停留时长 |
|
|
197
|
+
| `--fade-in` / `--fade-out` | 淡入淡出时长 |
|
|
198
|
+
| `--size` / `--sub-size` | 字号(1080 宽基准) |
|
|
199
|
+
| `--color` / `--sub-color` | `#RRGGBB` |
|
|
200
|
+
| `--y` | 垂直位置比例,0.42 略高于中心(视觉重心更稳) |
|
|
201
|
+
| `--outline` / `--shadow` | 描边 / 阴影,保证亮背景上也能读 |
|
|
202
|
+
| `--stagger` | typewriter 每字间隔 |
|
|
203
|
+
|
|
204
|
+
动画类型:
|
|
205
|
+
|
|
206
|
+
| anim | 效果 | 适合 |
|
|
207
|
+
|------|------|------|
|
|
208
|
+
| `fade` | 纯淡入淡出 | 最安全,任何场景 |
|
|
209
|
+
| `fade-up` | 从下方升起 + 淡入 | 通用首选,有呼吸感 |
|
|
210
|
+
| `zoom-in` | 88% 放大到 100% | 有力量感,适合运动 |
|
|
211
|
+
| `zoom-out` | 112% 收到 100% | 沉稳收束 |
|
|
212
|
+
| `blur-in` | 模糊到清晰 + 轻微放大 | 最柔和,适合风景/治愈 |
|
|
213
|
+
| `typewriter` | 逐字出现 | 有叙事感,字数少时用 |
|
|
214
|
+
| `slide-left` | 从右滑入 | 有方向性 |
|
|
215
|
+
|
|
216
|
+
#### 可读性硬要求
|
|
217
|
+
|
|
218
|
+
视频上放字,背景是动的,必须做对比保护,否则遇到亮画面就糊了:
|
|
219
|
+
|
|
220
|
+
- 深色背景:白字 + `--shadow 1.5`(默认值够用)
|
|
221
|
+
- 亮背景或明暗交替:加 `--outline 2` 描边
|
|
222
|
+
- 复杂背景:加大描边 `--outline 3`,或把 `--y` 挪到画面较暗的区域
|
|
223
|
+
|
|
224
|
+
#### 挂到 EDL
|
|
225
|
+
```
|
|
226
|
+
```json
|
|
227
|
+
"title": { "ass": "/path/title.ass", "fonts_dir": "~/.cola/assets/fonts" }
|
|
228
|
+
```
|
|
229
|
+
标题作用于**整条时间线**(不是单个片段),所以 `--start` 是相对成片开头的秒数。
|
|
230
|
+
|
|
231
|
+
#### 验证
|
|
232
|
+
|
|
233
|
+
渲染后抽标题动画全过程的帧(出现前、淡入中、稳定、消失后),用 `vision_analyze` 确认
|
|
234
|
+
文字内容和时序。
|
|
235
|
+
|
|
236
|
+
**但要注意验证的边界**:`vision_analyze` 能可靠判断"有没有字/是什么字/清不清晰",
|
|
237
|
+
**分不清楷体和黑体**——它常把楷体误判成"系统默认黑体"。所以不要用它判断字体是否生效。
|
|
238
|
+
|
|
239
|
+
`--font` 写错时 libass 会**静默 fallback 到系统默认字体**,不报错。要客观验证,
|
|
240
|
+
故意用一个不存在的字体名再渲一版当对照组,比 PSNR:
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
# PSNR 明显低于 inf(15-20dB 量级)= 两版画面不同 = 字体确实生效了
|
|
244
|
+
ffmpeg -y -i 待验证.png -i fallback对照.png -lavfi psnr -f null - 2>&1 \
|
|
245
|
+
| grep -o "average:[0-9.]*"
|
|
246
|
+
|
|
247
|
+
### 阶段三:渲染
|
|
248
|
+
|
|
249
|
+
先干跑校验:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
python3 {baseDir}/scripts/build.py edl.json --dry-run
|
|
253
|
+
```
|
|
254
|
+
```
|
|
255
|
+
确认时长和滤镜链无误后正式渲染:
|
|
256
|
+
```
|
|
257
|
+
```bash
|
|
258
|
+
python3 {baseDir}/scripts/build.py edl.json
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
## 交付时要说明的
|
|
262
|
+
|
|
263
|
+
- 成片绝对路径、时长、分辨率
|
|
264
|
+
- **每段素材为什么这么剪**(用了哪几秒、砍了什么、为什么这个顺序),这是用户判断要不要返工的依据
|
|
265
|
+
- 明确指出被丢弃的素材及原因
|
|
266
|
+
|
|
267
|
+
## BGM 处理
|
|
268
|
+
|
|
269
|
+
用户没提供 BGM 时,不要直接出无声版就算完事——按下面顺序处理。
|
|
270
|
+
|
|
271
|
+
### 1. 先自己找无版权音乐
|
|
272
|
+
|
|
273
|
+
先看本地有没有缓存:
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
ls ~/.cola/assets/bgm/ 2>/dev/null
|
|
277
|
+
```
|
|
278
|
+
```
|
|
279
|
+
没有则从下表的源找:
|
|
280
|
+
|
|
281
|
+
| 源 | 说明 |
|
|
282
|
+
|-----|------|
|
|
283
|
+
| Pixabay Music | https://pixabay.com/music/ — 全部免费商用,无需署名,首选 |
|
|
284
|
+
| Free Music Archive | https://freemusicarchive.org — 限定 License 筛 CC0 |
|
|
285
|
+
| Incompetech(Kevin MacLeod) | https://incompetech.com — CC-BY,需署名 |
|
|
286
|
+
| Musopen | https://musopen.org — 公领域古典乐 |
|
|
287
|
+
|
|
288
|
+
用 `web_search` / `web_fetch` 找直链,下载到 `~/.cola/assets/bgm/` 方便下次复用:
|
|
289
|
+
```
|
|
290
|
+
```bash
|
|
291
|
+
mkdir -p ~/.cola/assets/bgm
|
|
292
|
+
curl -sL "<直链>" -o ~/.cola/assets/bgm/<描述性名字>.mp3
|
|
293
|
+
```
|
|
294
|
+
```
|
|
295
|
+
下载后必须验证是真音频而不是 HTML 错页:
|
|
296
|
+
```
|
|
297
|
+
```
|
|
298
|
+
拿到可用音频就直接用它渲染,交付时说明曲名、来源、许可协议(CC-BY 要提醒用户发布时署名)。
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### 2. 找不到就给选曲指引
|
|
302
|
+
|
|
303
|
+
自动下载失败时,**先渲染一份无声版交付**(让用户先看到剪辑效果),同时基于已分析过的画面内容给出具体选曲建议。不要只说"你自己找个 BGM",必须包含:
|
|
304
|
+
|
|
305
|
+
- **风格关键词**(3-5 个,中英文都给,方便直接搜)——如 lo-fi hip hop / 日系钢琴 / ambient folk
|
|
306
|
+
- **BPM 区间**——跟成片切点密度匹配:单段 1.5-2 秒配 100-130 BPM,单段 4-6 秒配 60-90 BPM
|
|
307
|
+
- **情绪描述**——如"平静、稍带怀旧,不要高潮"
|
|
308
|
+
- **时长需求**——至少比成片长 2 秒
|
|
309
|
+
- **去哪找**——上表的具体网站,或小红书/抖音站内音乐库
|
|
310
|
+
|
|
311
|
+
拿到用户的音乐后,只需在原 EDL 里补上 `bgm` 字段重新渲染一次,不要重新分析素材。
|
|
312
|
+
|
|
313
|
+
### 3. 绝不做的事
|
|
314
|
+
|
|
315
|
+
不从 YouTube、网易云、QQ 音乐、Spotify 等平台抓取有版权的商业音乐——发到小红书/抖音会被静音或限流。
|
|
316
|
+
|
|
317
|
+
## 约束
|
|
318
|
+
|
|
319
|
+
- 素材路径一律用绝对路径。
|
|
320
|
+
- 渲染前必须 `--dry-run` 校验一次。
|
|
321
|
+
- 输出成片放进对应项目的 workspace,不要散落在临时目录。
|
|
322
|
+
- 抽帧产生的临时文件用完清理掉。
|
|
323
|
+
|
|
324
|
+
## Source
|
|
325
|
+
|
|
326
|
+
Rewritten for AICUT from [`Fagan1024/smart-video-editor`](https://github.com/Fagan1024/smart-video-editor)
|
|
327
|
+
(MIT), SKILL.md. The method is that skill's own; the way it runs is AICUT's.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# 本地字体库索引
|
|
2
|
+
|
|
3
|
+
位置:`~/.cola/assets/fonts/`
|
|
4
|
+
用途:视频标题动画 / ASS 字幕渲染。
|
|
5
|
+
|
|
6
|
+
**ASS / ffmpeg 用法**:`Fontname` 必须填下表的 **family name**(不是文件名):
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
ffmpeg -i in.mp4 -vf "subtitles=title.ass:fontsdir=/Users/yunf/.cola/assets/fonts" out.mp4
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
下表所有 family name 都已实测在 libass 里正确命中(对照"不存在的字体名"的 fallback 渲染做过 md5 差异校验),不会静默回退到系统字体。
|
|
13
|
+
|
|
14
|
+
预览图:`PREVIEW.png`(每格渲染「骑行Ag8」)。
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 索引表
|
|
19
|
+
|
|
20
|
+
| 文件名 | family name(ass 里用的) | 风格描述 | 许可 | 适合场景 | 是否含中文 |
|
|
21
|
+
|---|---|---|---|---|---|
|
|
22
|
+
| `SmileySans-Oblique.ttf` | `Smiley Sans Oblique` | 得意黑。倾斜粗黑,字面紧、笔画有切角,张力极强,横向压缩显得凌厉 | SIL OFL 1.1 | 短视频大标题首选、运动/潮流/城市探索、需要冲击力的开场字卡 | ✅ 9440 字形 |
|
|
23
|
+
| `Alibaba-PuHuiTi-Bold.otf` | `Alibaba PuHuiTi B` | 阿里巴巴普惠体 Bold。方正现代黑体,字重饱满但不臃肿,字形规整中性 | 阿里巴巴免费商用授权(可商用,**不得再分发/改名/修改**) | 通用标题主力、口播字幕、需要"干净不出错"的商业向内容 | ✅ 28937 字形(全字符集) |
|
|
24
|
+
| `Alibaba-PuHuiTi-Heavy.otf` | `Alibaba PuHuiTi H` | 普惠体 Heavy。极粗黑,笔画间空隙很小,重量感强 | 同上 | 封面大字、数字/价格强调、需要压满画面的粗标题 | ✅ 8167 字形(常用字全覆盖) |
|
|
25
|
+
| `NotoSansSC-Bold.otf` | `Noto Sans SC` | 思源黑体 SC Bold。开源黑体标杆,中性、易读、无个性偏向 | SIL OFL 1.1 | 正文字幕、说明性文字、多语言混排的安全选择 | ✅ 30890 字形 |
|
|
26
|
+
| `NotoSansSC-Black.otf` | `Noto Sans SC Black` | 思源黑体 SC Black。最粗字重,厚重扎实,比 Bold 明显更压 | SIL OFL 1.1 | 标题黑底白字、需要粗但要求"不花哨"的场景、纯商用可再分发场景替代普惠体 | ✅ 30890 字形 |
|
|
27
|
+
| `NotoSerifSC-Bold.otf` | `Noto Serif SC` | 思源宋体 SC Bold。粗细对比明显的现代宋,横细竖粗,端庄有质感 | SIL OFL 1.1 | 文艺向标题、旅拍/人文纪录片、片头引言、需要"高级感"的场景 | ✅ 30928 字形 |
|
|
28
|
+
| `LXGWWenKai-Regular.ttf` | `LXGW WenKai` | 霞鹜文楷。楷体骨架 + 手写笔意,笔画起收有明显运笔感,柔和不锐利 | SIL OFL 1.1 | 文艺向首选、日记/vlog 旁白、散文式字幕、治愈系内容 | ✅ 46490 字形(覆盖最广) |
|
|
29
|
+
| `LXGWWenKaiMono-Regular.ttf` | `LXGW WenKai Mono` | 霞鹜文楷等宽版。西文/数字等宽,中文同文楷;纵向对齐整齐 | SIL OFL 1.1 | 需要逐字对齐的字幕动画(打字机效果)、代码/数据类字卡、时间轴标注 | ✅ 46510 字形 |
|
|
30
|
+
| `ChillRoundGothic_Bold.otf` | `Chill Round Gothic Bold` | 寒蝉圆黑体 Bold。粗圆体,笔画端头全圆角,可爱但不幼稚 | SIL OFL 1.1 | 生活化/轻松向标题、美食、萌宠、亲子、种草类 | ✅ 27148 字形 |
|
|
31
|
+
| `ZCOOLKuaiLe-Regular.ttf` | `ZCOOL KuaiLe` | 站酷快乐体。粗方块化笔画,几何切割感,字形歪斜跳跃,很"玩" | SIL OFL 1.1 | 综艺花字、搞笑/反转字卡、儿童向、需要活泼感的贴片 | ✅ 7053 字形(常用字覆盖) |
|
|
32
|
+
| `ZCOOLQingKeHuangYou-Regular.ttf` | `ZCOOL QingKe HuangYou` | 站酷庆科黄油体。中细字重,字形瘦长带复古装饰味,笔画收尾有小曲折 | SIL OFL 1.1 | 复古/胶片风标题、咖啡馆/文创、需要"有点旧"氛围的场景 | ✅ 9429 字形 |
|
|
33
|
+
| `MaShanZheng-Regular.ttf` | `Ma Shan Zheng` | 马善政毛笔楷书。真毛笔手写,笔画连带倾斜,行气流动,个性极强 | SIL OFL 1.1 | 书法感标题、节气/国风、题字式片头、单行短句(长文会难读) | ✅ 7015 字形(常用字覆盖) |
|
|
34
|
+
| `BebasNeue-Regular.ttf` | `Bebas Neue` | 高瘦压缩全大写无衬线,字宽极窄,纵向拉伸,无小写字母 | SIL OFL 1.1 | 英文标题、大号数字(日期/里程/时间码)、海报式竖排排版 | ❌ 仅拉丁 461 字形 |
|
|
35
|
+
| `PlayfairDisplay-VF.ttf` | `Playfair Display` | 高对比度衬线(Didone 风),细横粗竖,衬线锋利优雅 | SIL OFL 1.1 | 英文文艺标题、杂志风、时尚/旅行、与思源宋体中西混排 | ❌ 仅拉丁 659 字形 |
|
|
36
|
+
| `Inter-VF.ttf` | `Inter` | 现代 UI 无衬线,x-height 高、字腔开阔,小字号仍清晰;可变字重 100–900 | SIL OFL 1.1 | 英文正文/小字标注、UI 截图配字、数据标签、与思源黑体混排 | ❌ 仅拉丁/西里尔/希腊 2849 字形 |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 快速选型
|
|
41
|
+
|
|
42
|
+
- **要冲击力** → `Smiley Sans Oblique`(倾斜)/ `Alibaba PuHuiTi H`(正)/ `Noto Sans SC Black`
|
|
43
|
+
- **要文艺** → `Noto Serif SC`(宋)/ `LXGW WenKai`(楷)/ `Ma Shan Zheng`(毛笔)
|
|
44
|
+
- **要轻松** → `Chill Round Gothic Bold`(圆)/ `ZCOOL KuaiLe`(跳)
|
|
45
|
+
- **要复古** → `ZCOOL QingKe HuangYou`
|
|
46
|
+
- **要稳妥不出错** → `Noto Sans SC` / `Alibaba PuHuiTi B`
|
|
47
|
+
- **中西混排推荐组合**:思源宋体 SC + Playfair Display;思源黑体 SC + Inter;普惠体 H + Bebas Neue
|
|
48
|
+
|
|
49
|
+
## 可变字体说明
|
|
50
|
+
|
|
51
|
+
`Inter-VF.ttf` 和 `PlayfairDisplay-VF.ttf` 是可变字体(VF)。libass 只会用默认实例(Regular / wght 400)。需要粗体时用 ASS 的 `Bold: -1` 让 libass 做合成加粗,或另行下载静态字重文件。
|
|
52
|
+
|
|
53
|
+
## 许可注意
|
|
54
|
+
|
|
55
|
+
- 除普惠体外全部为 **SIL OFL 1.1**:可商用、可嵌入视频、可再分发(保留版权声明,衍生字体不得用保留名称)。
|
|
56
|
+
- **阿里巴巴普惠体**:官方永久免费商用,但授权条款禁止再分发字体文件本身、禁止修改和改名。用在视频渲染输出上没问题;不要把 `.otf` 文件打包进对外分发的软件包。
|
|
57
|
+
- 得意黑(Smiley Sans):OFL 1.1,商用无需授权。
|