kasaframe 0.0.0-stage → 0.1.3
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/LICENSE +21 -0
- package/NOTICE +148 -0
- package/README.md +92 -2
- package/app/package.json +12 -0
- package/app/server/engine.ts +533 -0
- package/app/server/main.ts +209 -0
- package/app/web/env.d.ts +2 -0
- package/app/web/icons.ts +31 -0
- package/app/web/index.html +21 -0
- package/app/web/main.ts +1195 -0
- package/app/web/style.css +463 -0
- package/bin/hooks.mjs +64 -0
- package/bin/kf.mjs +32 -0
- package/docs/AGENTS.md +286 -0
- package/music/README.md +37 -0
- package/package.json +44 -4
- package/packages/adapters/package.json +36 -0
- package/packages/adapters/src/css.ts +11 -0
- package/packages/adapters/src/gsap.ts +26 -0
- package/packages/adapters/src/index.ts +9 -0
- package/packages/adapters/src/lottie.ts +22 -0
- package/packages/adapters/src/media.ts +59 -0
- package/packages/adapters/src/page.ts +229 -0
- package/packages/adapters/src/project.ts +214 -0
- package/packages/adapters/src/react.ts +36 -0
- package/packages/adapters/src/svelte.ts +22 -0
- package/packages/adapters/src/three.ts +18 -0
- package/packages/adapters/src/vue.ts +27 -0
- package/packages/check/package.json +19 -0
- package/packages/check/src/check.ts +280 -0
- package/packages/check/src/cli.ts +70 -0
- package/packages/check/src/image.ts +146 -0
- package/packages/check/src/index.ts +9 -0
- package/packages/check/src/ocr.swift +37 -0
- package/packages/check/src/probe.ts +328 -0
- package/packages/check/src/report.ts +44 -0
- package/packages/check/src/rules/assets.ts +45 -0
- package/packages/check/src/rules/beats.ts +212 -0
- package/packages/check/src/rules/camera.ts +217 -0
- package/packages/check/src/rules/captions.ts +49 -0
- package/packages/check/src/rules/flash.ts +235 -0
- package/packages/check/src/rules/frames.ts +136 -0
- package/packages/check/src/rules/layout.ts +281 -0
- package/packages/check/src/rules/page.ts +87 -0
- package/packages/check/src/rules/runs.ts +20 -0
- package/packages/check/src/rules/text.ts +326 -0
- package/packages/check/src/scan.ts +240 -0
- package/packages/check/src/serve.ts +67 -0
- package/packages/check/src/types.ts +80 -0
- package/packages/check/src/video.ts +137 -0
- package/packages/cli/package.json +30 -0
- package/packages/cli/src/blur.ts +80 -0
- package/packages/cli/src/browser.ts +203 -0
- package/packages/cli/src/command.ts +44 -0
- package/packages/cli/src/commands/app.ts +25 -0
- package/packages/cli/src/commands/beats.ts +36 -0
- package/packages/cli/src/commands/bench.ts +123 -0
- package/packages/cli/src/commands/blender.ts +293 -0
- package/packages/cli/src/commands/check.ts +25 -0
- package/packages/cli/src/commands/direct.ts +210 -0
- package/packages/cli/src/commands/doctor.ts +30 -0
- package/packages/cli/src/commands/gen.ts +173 -0
- package/packages/cli/src/commands/look.ts +46 -0
- package/packages/cli/src/commands/lyrics.ts +157 -0
- package/packages/cli/src/commands/make.ts +1121 -0
- package/packages/cli/src/commands/music.ts +78 -0
- package/packages/cli/src/commands/narrate.ts +238 -0
- package/packages/cli/src/commands/new.ts +185 -0
- package/packages/cli/src/commands/preview.ts +43 -0
- package/packages/cli/src/commands/render.ts +250 -0
- package/packages/cli/src/commands/series.ts +110 -0
- package/packages/cli/src/commands/setup.ts +102 -0
- package/packages/cli/src/commands/sheet.ts +114 -0
- package/packages/cli/src/commands/skill.ts +43 -0
- package/packages/cli/src/commands/still.ts +40 -0
- package/packages/cli/src/commands/theme.ts +172 -0
- package/packages/cli/src/commands/transitions.ts +40 -0
- package/packages/cli/src/deps.ts +122 -0
- package/packages/cli/src/ffmpeg.ts +81 -0
- package/packages/cli/src/index.ts +8 -0
- package/packages/cli/src/kf.ts +64 -0
- package/packages/cli/src/lock.ts +72 -0
- package/packages/cli/src/mix.ts +131 -0
- package/packages/cli/src/out.ts +13 -0
- package/packages/cli/src/pool.ts +34 -0
- package/packages/cli/src/segments.ts +402 -0
- package/packages/cli/src/serve.ts +124 -0
- package/packages/clock/package.json +14 -0
- package/packages/clock/src/index.ts +25 -0
- package/packages/clock/src/install.ts +351 -0
- package/packages/clock/src/types.ts +45 -0
- package/packages/core/package.json +9 -0
- package/packages/core/src/beats.ts +283 -0
- package/packages/core/src/ease.ts +87 -0
- package/packages/core/src/frame.ts +99 -0
- package/packages/core/src/index.ts +27 -0
- package/packages/core/src/project.ts +157 -0
- package/packages/core/src/rand.ts +56 -0
- package/packages/core/src/spring.ts +52 -0
- package/packages/core/src/style.ts +100 -0
- package/packages/core/src/time.ts +88 -0
- package/packages/director/package.json +23 -0
- package/packages/director/src/assemble.ts +361 -0
- package/packages/director/src/brief.ts +122 -0
- package/packages/director/src/catalog.ts +49 -0
- package/packages/director/src/content.ts +343 -0
- package/packages/director/src/fallback.ts +58 -0
- package/packages/director/src/index.ts +13 -0
- package/packages/director/src/pattern.ts +90 -0
- package/packages/director/src/patterns/fill/cells.ts +115 -0
- package/packages/director/src/patterns/formula/stack.ts +93 -0
- package/packages/director/src/patterns/util.ts +58 -0
- package/packages/director/src/scene.ts +62 -0
- package/packages/director/src/select.ts +163 -0
- package/packages/director/src/transitions.ts +115 -0
- package/packages/gen/PROVIDERS.md +90 -0
- package/packages/gen/package.json +9 -0
- package/packages/gen/src/ask.ts +132 -0
- package/packages/gen/src/audio.ts +91 -0
- package/packages/gen/src/blender.ts +54 -0
- package/packages/gen/src/capabilities.ts +151 -0
- package/packages/gen/src/generate.ts +206 -0
- package/packages/gen/src/image/codex.ts +117 -0
- package/packages/gen/src/image/og.ts +133 -0
- package/packages/gen/src/index.ts +26 -0
- package/packages/gen/src/keys.ts +86 -0
- package/packages/gen/src/media.ts +150 -0
- package/packages/gen/src/music/elevenlabs.ts +41 -0
- package/packages/gen/src/music/index.ts +120 -0
- package/packages/gen/src/music/library.ts +73 -0
- package/packages/gen/src/music/lyria.ts +52 -0
- package/packages/gen/src/music/types.ts +28 -0
- package/packages/gen/src/plan.ts +106 -0
- package/packages/gen/src/registry.ts +54 -0
- package/packages/gen/src/seam.ts +103 -0
- package/packages/gen/src/tts/dashscope.ts +64 -0
- package/packages/gen/src/tts/elevenlabs.ts +84 -0
- package/packages/gen/src/tts/gemini.ts +73 -0
- package/packages/gen/src/tts/index.ts +241 -0
- package/packages/gen/src/tts/local.ts +42 -0
- package/packages/gen/src/tts/types.ts +44 -0
- package/packages/gen/src/types.ts +90 -0
- package/packages/gen/src/video/fal.ts +140 -0
- package/packages/gen/src/video/h3.ts +112 -0
- package/packages/gen/src/video/http.ts +44 -0
- package/packages/gen/src/video/ltx.ts +60 -0
- package/packages/gen/src/video/minimax.ts +55 -0
- package/packages/gen/src/video/veo.ts +71 -0
- package/packages/jizura/package.json +16 -0
- package/packages/jizura/src/deny.ts +73 -0
- package/packages/jizura/src/index.ts +7 -0
- package/packages/jizura/src/install.ts +269 -0
- package/packages/jizura/src/layer.ts +325 -0
- package/packages/jizura/src/lyrics.ts +81 -0
- package/packages/jizura/src/pin.ts +8 -0
- package/packages/jizura/src/vendor.ts +140 -0
- package/packages/jizura/src/vite.ts +63 -0
- package/packages/jizura/vendor/JIZURA_LICENSE.txt +21 -0
- package/packages/jizura/vendor/NOTICE +43 -0
- package/packages/jizura/vendor/engine.json +47 -0
- package/packages/jizura/vendor/fonts/BlackHanSans-Regular.woff2 +0 -0
- package/packages/jizura/vendor/fonts/DotGothic16-Regular.woff2 +0 -0
- package/packages/jizura/vendor/fonts/GowunBatang-Bold.woff2 +0 -0
- package/packages/jizura/vendor/fonts/IBMPlexMono-Medium.ttf +0 -0
- package/packages/jizura/vendor/fonts/IBMPlexMono-SemiBold.ttf +0 -0
- package/packages/jizura/vendor/fonts/NotoSansKR-VF.woff2 +0 -0
- package/packages/jizura/vendor/fonts/NotoSerifKR-VF.woff2 +0 -0
- package/packages/jizura/vendor/fonts/OFL-blackhansans.txt +93 -0
- package/packages/jizura/vendor/fonts/OFL-dotgothic16.txt +93 -0
- package/packages/jizura/vendor/fonts/OFL-gowunbatang.txt +94 -0
- package/packages/jizura/vendor/fonts/OFL-ibmplexmono.txt +93 -0
- package/packages/jizura/vendor/fonts/OFL-notosanskr.txt +93 -0
- package/packages/jizura/vendor/fonts/OFL-notoserifkr.txt +94 -0
- package/packages/jizura/vendor/fonts/fonts.json +52 -0
- package/packages/jizura/vendor/jizura_engine.js +35024 -0
- package/packages/motion/README.md +153 -0
- package/packages/motion/package.json +30 -0
- package/packages/motion/src/camera.ts +97 -0
- package/packages/motion/src/captions.ts +487 -0
- package/packages/motion/src/enter.ts +128 -0
- package/packages/motion/src/hangul.ts +129 -0
- package/packages/motion/src/impact.ts +100 -0
- package/packages/motion/src/index.ts +17 -0
- package/packages/motion/src/moves/brushWipe.ts +103 -0
- package/packages/motion/src/moves/cloneArray.ts +111 -0
- package/packages/motion/src/moves/curtains.ts +81 -0
- package/packages/motion/src/moves/dress.ts +191 -0
- package/packages/motion/src/moves/echoStack.ts +70 -0
- package/packages/motion/src/moves/fit.ts +70 -0
- package/packages/motion/src/moves/flood.ts +61 -0
- package/packages/motion/src/moves/ghostStack.ts +88 -0
- package/packages/motion/src/moves/gridFloor.ts +100 -0
- package/packages/motion/src/moves/imageSwarm.ts +113 -0
- package/packages/motion/src/moves/index.ts +38 -0
- package/packages/motion/src/moves/irisBlades.ts +113 -0
- package/packages/motion/src/moves/karaokeLine.ts +108 -0
- package/packages/motion/src/moves/ledBoard.ts +94 -0
- package/packages/motion/src/moves/liquidTab.ts +72 -0
- package/packages/motion/src/moves/markerWrite.ts +63 -0
- package/packages/motion/src/moves/menu.ts +138 -0
- package/packages/motion/src/moves/morphBox.ts +96 -0
- package/packages/motion/src/moves/neonSign.ts +78 -0
- package/packages/motion/src/moves/panelPop.ts +78 -0
- package/packages/motion/src/moves/paperTear.ts +75 -0
- package/packages/motion/src/moves/path.ts +64 -0
- package/packages/motion/src/moves/pathText.ts +107 -0
- package/packages/motion/src/moves/pointSphere.ts +109 -0
- package/packages/motion/src/moves/ransomLetters.ts +73 -0
- package/packages/motion/src/moves/shapeMorph.ts +143 -0
- package/packages/motion/src/moves/slamWords.ts +96 -0
- package/packages/motion/src/moves/sparkTrail.ts +130 -0
- package/packages/motion/src/moves/speedLines.ts +91 -0
- package/packages/motion/src/moves/splitFlap.ts +149 -0
- package/packages/motion/src/moves/stepWords.ts +128 -0
- package/packages/motion/src/moves/strikeOut.ts +98 -0
- package/packages/motion/src/moves/sunburst.ts +58 -0
- package/packages/motion/src/moves/tickerRows.ts +91 -0
- package/packages/motion/src/moves/tokenPicker.ts +115 -0
- package/packages/motion/src/moves/truchet.ts +85 -0
- package/packages/motion/src/moves/wordWall.ts +78 -0
- package/packages/motion/src/moves/worldRoll.ts +32 -0
- package/packages/motion/src/particles.ts +102 -0
- package/packages/motion/src/react/index.tsx +21 -0
- package/packages/motion/src/react/parts.tsx +431 -0
- package/packages/motion/src/react/time.tsx +97 -0
- package/packages/motion/src/text.ts +103 -0
- package/packages/motion/src/transition.ts +82 -0
- package/packages/motion/src/transition3d/cards.ts +65 -0
- package/packages/motion/src/transition3d/chain.ts +84 -0
- package/packages/motion/src/transition3d/dive.ts +181 -0
- package/packages/motion/src/transition3d/fold.ts +110 -0
- package/packages/motion/src/transition3d/gl.ts +219 -0
- package/packages/motion/src/transition3d/index.ts +235 -0
- package/packages/motion/src/transition3d/live.ts +70 -0
- package/packages/motion/src/transition3d/portal.ts +115 -0
- package/packages/motion/src/transition3d/react.tsx +29 -0
- package/packages/motion/src/transition3d/rig.ts +600 -0
- package/packages/motion/src/transition3d/shatter.ts +104 -0
- package/packages/motion/src/transition3d/space.ts +173 -0
- package/packages/motion/src/transition3d/whip.ts +78 -0
- package/packages/motion/src/transition3d/world.ts +737 -0
- package/packages/motion/src/transition3d/zoomOut.ts +114 -0
- package/packages/motion/src/transitions2d/catalog.ts +127 -0
- package/packages/motion/src/transitions2d/css.d.ts +2 -0
- package/packages/motion/src/transitions2d/cult-ui/LICENSE.md +9 -0
- package/packages/motion/src/transitions2d/cult-ui/RollingNumber.tsx +43 -0
- package/packages/motion/src/transitions2d/gl-transitions/LICENSE +25 -0
- package/packages/motion/src/transitions2d/gl-transitions/shaders.ts +1931 -0
- package/packages/motion/src/transitions2d/index.ts +2 -0
- package/packages/motion/src/transitions2d/kokonutui/LICENSE +21 -0
- package/packages/motion/src/transitions2d/kokonutui/MatrixText.css +16 -0
- package/packages/motion/src/transitions2d/kokonutui/MatrixText.tsx +94 -0
- package/packages/motion/src/transitions2d/magicui/HyperText.css +15 -0
- package/packages/motion/src/transitions2d/magicui/HyperText.tsx +115 -0
- package/packages/motion/src/transitions2d/magicui/LICENSE.md +21 -0
- package/packages/motion/src/transitions2d/magicui/MorphingText.css +25 -0
- package/packages/motion/src/transitions2d/magicui/MorphingText.tsx +130 -0
- package/packages/motion/src/transitions2d/magicui/WordRotate.tsx +42 -0
- package/packages/motion/src/transitions2d/react.ts +13 -0
- package/packages/motion/src/transitions2d/skiper-ui/ClipDiv.css +39 -0
- package/packages/motion/src/transitions2d/skiper-ui/ClipDiv.tsx +32 -0
- package/packages/motion/src/transitions2d/smoothui/LICENSE +21 -0
- package/packages/motion/src/transitions2d/smoothui/SharedAxisY.tsx +50 -0
- package/packages/motion/src/transitions2d/smoothui/TextMorph.tsx +90 -0
- package/packages/motion/src/transitions2d/smoothui/shaders.ts +223 -0
- package/packages/motion/src/transitions2d/unlumen/LICENSE +21 -0
- package/packages/motion/src/transitions2d/unlumen/ScrambleText.tsx +114 -0
- package/packages/motion/src/transitions2d/vengeance-ui/LICENSE +21 -0
- package/packages/motion/src/transitions2d/vengeance-ui/MorphText.css +69 -0
- package/packages/motion/src/transitions2d/vengeance-ui/MorphText.tsx +45 -0
- package/packages/motion/src/type.ts +131 -0
- package/packages/motion/src/ui.ts +172 -0
- package/packages/patterns/package.json +15 -0
- package/packages/patterns/src/bars/rank.ts +119 -0
- package/packages/patterns/src/before-after/shrink.ts +127 -0
- package/packages/patterns/src/before-after/strike.ts +125 -0
- package/packages/patterns/src/code/terminal.ts +133 -0
- package/packages/patterns/src/compare/bars.ts +142 -0
- package/packages/patterns/src/compare/duel.ts +103 -0
- package/packages/patterns/src/end/lockup.ts +85 -0
- package/packages/patterns/src/end/slam.ts +91 -0
- package/packages/patterns/src/flow/graph.ts +250 -0
- package/packages/patterns/src/hook-number/counter.ts +101 -0
- package/packages/patterns/src/hook-number/roll.ts +179 -0
- package/packages/patterns/src/hook-number/slam.ts +91 -0
- package/packages/patterns/src/index.ts +38 -0
- package/packages/patterns/src/kit.ts +449 -0
- package/packages/patterns/src/limit/gauge.ts +117 -0
- package/packages/patterns/src/list/cards.ts +131 -0
- package/packages/patterns/src/list/cycle.ts +22 -0
- package/packages/patterns/src/media/panels.ts +100 -0
- package/packages/patterns/src/objects.ts +234 -0
- package/packages/patterns/src/quote/karaoke.ts +126 -0
- package/packages/patterns/src/quote/slam.ts +22 -0
- package/packages/patterns/src/screen/focus.ts +85 -0
- package/packages/patterns/src/steps/path.ts +137 -0
- package/packages/patterns/src/steps/stack.ts +111 -0
- package/packages/patterns/src/term-reveal/chips.ts +92 -0
- package/packages/patterns/src/term-reveal/expand.ts +127 -0
- package/packages/patterns/src/timeline/axis.ts +144 -0
- package/packages/patterns/src/title/mask.ts +85 -0
- package/packages/patterns/src/title/slam.ts +23 -0
- package/packages/patterns/src/toggle-sim/switch.ts +92 -0
- package/packages/patterns/src/trend/columns.ts +108 -0
- package/packages/patterns/src/trend/draw.ts +140 -0
- package/packages/patterns/src/types.ts +67 -0
- package/packages/patterns/src/words/moves.ts +42 -0
- package/packages/patterns/src/words/slam.ts +4 -0
- package/packages/plan/package.json +15 -0
- package/packages/plan/src/asks.ts +256 -0
- package/packages/plan/src/brief.ts +383 -0
- package/packages/plan/src/captions.ts +78 -0
- package/packages/plan/src/detect.ts +93 -0
- package/packages/plan/src/index.ts +27 -0
- package/packages/plan/src/layout.ts +176 -0
- package/packages/plan/src/llm.ts +172 -0
- package/packages/plan/src/look.ts +222 -0
- package/packages/plan/src/plan.ts +179 -0
- package/packages/plan/src/request.ts +55 -0
- package/packages/plan/src/series.ts +76 -0
- package/packages/plan/src/studio.ts +53 -0
- package/packages/plan/src/templates.ts +42 -0
- package/packages/plan/src/themes.ts +48 -0
- package/packages/plan/src/types.ts +157 -0
- package/packages/studio/package.json +12 -0
- package/packages/studio/src/index.ts +1 -0
- package/packages/studio/src/plugin.ts +236 -0
- package/packages/studio/src/ui/main.ts +503 -0
- package/packages/studio/src/ui/studio.css +165 -0
- package/packages/studio/src/ui/timeline.ts +317 -0
- package/packages/themes/kit/THEME-MAKE.md +68 -0
- package/packages/themes/kit/THEME.md +30 -0
- package/packages/themes/kit/briefs/og-intro-15s/brief.json +16 -0
- package/packages/themes/kit/briefs/og-intro-15s/facts.ts +29 -0
- package/packages/themes/kit/briefs/og-intro-15s/logo.svg +12 -0
- package/packages/themes/kit/effects.ts +5 -0
- package/packages/themes/kit/sample/index.html +11 -0
- package/packages/themes/kit/sample/main.ts +9 -0
- package/packages/themes/kit/sample/scenes/scene.ts +15 -0
- package/packages/themes/package.json +19 -0
- package/packages/themes/src/factory.ts +296 -0
- package/packages/themes/src/fx.ts +14 -0
- package/packages/themes/src/index.ts +114 -0
- package/packages/themes/src/slotkit.ts +79 -0
- package/packages/themes/src/slots.ts +46 -0
- package/packages/themes/src/stage3d.ts +197 -0
- package/packages/themes/src/types.ts +58 -0
- package/presets/kawaii-pastel.json +94 -0
- package/presets/neutral-dark.json +82 -0
- package/presets/og.json +98 -0
- package/series/og-shorts.json +14 -0
- package/skills/kasaframe/SKILL.md +33 -0
- package/templates/_shared/project/index.html +11 -0
- package/templates/_shared/project/lib/react.ts +22 -0
- package/templates/_shared/project/lib/stage.ts +292 -0
- package/templates/_shared/project/main.ts +9 -0
- package/templates/_shared/scenes/default.ts +21 -0
- package/templates/_shared/scenes/drop.ts +33 -0
- package/templates/_shared/scenes/end.ts +26 -0
- package/templates/_shared/scenes/hook.ts +18 -0
- package/templates/_shared/scenes/seam.ts +41 -0
- package/templates/_shared/scenes/step.ts +49 -0
- package/templates/ad/preview.png +0 -0
- package/templates/ad/template.json +151 -0
- package/templates/demo/preview.png +0 -0
- package/templates/demo/template.json +141 -0
- package/templates/explainer/preview.png +0 -0
- package/templates/explainer/template.json +193 -0
- package/templates/launch/preview.png +0 -0
- package/templates/launch/template.json +163 -0
- package/templates/mv/preview.png +0 -0
- package/templates/mv/scenes/default.ts +98 -0
- package/templates/mv/template.json +178 -0
- package/templates/promo/preview.png +0 -0
- package/templates/promo/template.json +185 -0
- package/templates/shorts/preview.png +0 -0
- package/templates/shorts/scenes/hook.ts +37 -0
- package/templates/shorts/template.json +196 -0
- package/templates/square/preview.png +0 -0
- package/templates/square/template.json +133 -0
- package/themes/debug-hud/THEME.md +39 -0
- package/themes/debug-hud/effects.ts +389 -0
- package/themes/debug-hud/sample/assets/og/logo.svg +12 -0
- package/themes/debug-hud/sample/beats.json +1 -0
- package/themes/debug-hud/sample/index.html +11 -0
- package/themes/debug-hud/sample/kf.json +59 -0
- package/themes/debug-hud/sample/lib/hudkit.ts +49 -0
- package/themes/debug-hud/sample/lib/og.ts +29 -0
- package/themes/debug-hud/sample/main.ts +9 -0
- package/themes/debug-hud/sample/scenes/end.ts +62 -0
- package/themes/debug-hud/sample/scenes/gather.ts +67 -0
- package/themes/debug-hud/sample/scenes/models.ts +70 -0
- package/themes/debug-hud/sample/scenes/price.ts +79 -0
- package/themes/debug-hud/sample/style.json +91 -0
- package/themes/debug-hud/slots.ts +99 -0
- package/themes/debug-hud/still.png +0 -0
- package/themes/debug-hud/style.json +91 -0
- package/themes/debug-hud/theme.json +68 -0
- package/themes/og-measure/THEME.md +47 -0
- package/themes/og-measure/effects.ts +432 -0
- package/themes/og-measure/sample/assets/brand/og-logo-full.svg +12 -0
- package/themes/og-measure/sample/assets/brand/og-logo.svg +12 -0
- package/themes/og-measure/sample/assets/data/measure.json +353 -0
- package/themes/og-measure/sample/beats.json +1 -0
- package/themes/og-measure/sample/index.html +11 -0
- package/themes/og-measure/sample/kf.json +66 -0
- package/themes/og-measure/sample/lib/data.ts +62 -0
- package/themes/og-measure/sample/main.ts +9 -0
- package/themes/og-measure/sample/measure.ts +78 -0
- package/themes/og-measure/sample/scenes/end.ts +47 -0
- package/themes/og-measure/sample/scenes/gather.ts +51 -0
- package/themes/og-measure/sample/scenes/models.ts +34 -0
- package/themes/og-measure/sample/scenes/one.ts +39 -0
- package/themes/og-measure/sample/scenes/price.ts +56 -0
- package/themes/og-measure/sample/style.json +97 -0
- package/themes/og-measure/slots.ts +88 -0
- package/themes/og-measure/still.png +0 -0
- package/themes/og-measure/style.json +97 -0
- package/themes/og-measure/theme.json +79 -0
- package/themes/riso-zine/THEME.md +43 -0
- package/themes/riso-zine/effects.ts +321 -0
- package/themes/riso-zine/sample/assets/og/logo.svg +12 -0
- package/themes/riso-zine/sample/beats.json +1 -0
- package/themes/riso-zine/sample/index.html +11 -0
- package/themes/riso-zine/sample/kf.json +59 -0
- package/themes/riso-zine/sample/lib/og.ts +29 -0
- package/themes/riso-zine/sample/lib/shot.ts +86 -0
- package/themes/riso-zine/sample/lib/zine.ts +42 -0
- package/themes/riso-zine/sample/main.ts +9 -0
- package/themes/riso-zine/sample/scenes/end.ts +61 -0
- package/themes/riso-zine/sample/scenes/gather.ts +62 -0
- package/themes/riso-zine/sample/scenes/models.ts +52 -0
- package/themes/riso-zine/sample/scenes/price.ts +82 -0
- package/themes/riso-zine/sample/style.json +99 -0
- package/themes/riso-zine/slots.ts +81 -0
- package/themes/riso-zine/still.png +0 -0
- package/themes/riso-zine/style.json +99 -0
- package/themes/riso-zine/theme.json +75 -0
- package/tools/beats/beats.py +372 -0
- package/tools/beats/requirements.txt +3 -0
- package/tools/lyrics/align.py +164 -0
- package/tools/lyrics/requirements.txt +9 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 2rami
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/NOTICE
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
kasaframe — 빌려 온 코드의 출처와 라이선스
|
|
2
|
+
|
|
3
|
+
packages/motion/src/transitions2d/ 는 geono-hub(src/transitions, 커밋 a884b15)가 각 출처의 원본에서 옮긴
|
|
4
|
+
판을 그대로 들였다. 받은 원본의 커밋·경로는 geono-hub vendor/transitions/README.md 에 있다. 폴더마다 원본
|
|
5
|
+
LICENSE 를 함께 둔다. React Bits·Animate UI(MIT + Commons Clause)와 Aceternity UI(원본 재배포 금지)는 들이지 않는다.
|
|
6
|
+
|
|
7
|
+
----------------------------------------------------------------------
|
|
8
|
+
gl-transitions — packages/motion/src/transitions2d/gl-transitions/
|
|
9
|
+
https://github.com/gl-transitions/gl-transitions (커밋 902218a1)
|
|
10
|
+
MIT — Copyright (c) 2017-present gl-transitions contributors (LICENSE 원문은 그 폴더)
|
|
11
|
+
셰이더마다 머리에 저작자·라이선스가 있다. 둘은 BSD 다 — 아래 원문을 지킨다.
|
|
12
|
+
getFromColor·getToColor 를 감싸는 머리(packages/motion/src/transition3d/gl.ts)는 gl-transition(MIT, gre)의 래퍼와 같은 꼴이다.
|
|
13
|
+
|
|
14
|
+
InvertedPageCurl — BSD 3 Clause
|
|
15
|
+
Copyright (c) 2010 Hewlett-Packard Development Company, L.P. All rights reserved.
|
|
16
|
+
Adapted by Sergey Kosarevsky.
|
|
17
|
+
|
|
18
|
+
Redistribution and use in source and binary forms, with or without
|
|
19
|
+
modification, are permitted provided that the following conditions are
|
|
20
|
+
met:
|
|
21
|
+
|
|
22
|
+
* Redistributions of source code must retain the above copyright
|
|
23
|
+
notice, this list of conditions and the following disclaimer.
|
|
24
|
+
* Redistributions in binary form must reproduce the above
|
|
25
|
+
copyright notice, this list of conditions and the following disclaimer
|
|
26
|
+
in the documentation and/or other materials provided with the
|
|
27
|
+
distribution.
|
|
28
|
+
* Neither the name of Hewlett-Packard nor the names of its
|
|
29
|
+
contributors may be used to endorse or promote products derived from
|
|
30
|
+
this software without specific prior written permission.
|
|
31
|
+
|
|
32
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
33
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
34
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
35
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
36
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
37
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
38
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
39
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
40
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
41
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
42
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
43
|
+
|
|
44
|
+
StereoViewer — BSD 2 Clause
|
|
45
|
+
Copyright (c) 2016, Theodore K Schundler
|
|
46
|
+
All rights reserved.
|
|
47
|
+
|
|
48
|
+
Redistribution and use in source and binary forms, with or without modification,
|
|
49
|
+
are permitted provided that the following conditions are met:
|
|
50
|
+
|
|
51
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
52
|
+
list of conditions and the following disclaimer.
|
|
53
|
+
|
|
54
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
55
|
+
this list of conditions and the following disclaimer in the documentation
|
|
56
|
+
and/or other materials provided with the distribution.
|
|
57
|
+
|
|
58
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
59
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
60
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
61
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
62
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
63
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
64
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
65
|
+
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
66
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
67
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
68
|
+
|
|
69
|
+
----------------------------------------------------------------------
|
|
70
|
+
MIT 웹 부품 — 원본 LICENSE 는 각 폴더
|
|
71
|
+
|
|
72
|
+
SmoothUI https://github.com/educlopez/smoothui Copyright (c) 2024 Eduardo Calvo smoothui/
|
|
73
|
+
Magic UI https://github.com/magicuidesign/magicui Copyright (c) Magic UI magicui/
|
|
74
|
+
Cult UI https://github.com/nolly-studio/cult-ui Copyright (c) 2023 Jordan-Gilliam cult-ui/
|
|
75
|
+
KokonutUI https://github.com/kokonut-labs/kokonutui Copyright (c) 2025 kokonutUI kokonutui/
|
|
76
|
+
unlumen UI https://github.com/leovvx/unlumen-ui-docs Copyright (c) 2026 Léo Wicki unlumen/
|
|
77
|
+
Vengeance UI https://github.com/Ashutoshx7/VengeanceUI Copyright (c) 2025-2026 Ashutoshx7 vengeance-ui/
|
|
78
|
+
|
|
79
|
+
SmoothUI 셰이더 덮개(smooth:reveal-*·smooth:sdf-*)의 조각 셰이더는 원본 그대로이고, 진행 박자만 영상용으로 바꿨다
|
|
80
|
+
(packages/motion/src/transition3d/gl.ts).
|
|
81
|
+
|
|
82
|
+
----------------------------------------------------------------------
|
|
83
|
+
Skiper UI 무료판 — skiper-ui/
|
|
84
|
+
https://skiper-ui.com — 무료판은 출처 표기가 조건이다.
|
|
85
|
+
Clip Div 는 Skiper UI skiper66(https://skiper-ui.com/v1/skiper66)을 옮긴 판이다. 원작자 표기는 파일 머리에 있다.
|
|
86
|
+
|
|
87
|
+
----------------------------------------------------------------------
|
|
88
|
+
vocaloid-style-mv-pipeline — tools/blender/kfb.py
|
|
89
|
+
https://github.com/EGSECDA/vocaloid-style-mv-pipeline (로컬 클론 커밋 13b380d)
|
|
90
|
+
MIT — Copyright (c) 2026 NikusonP
|
|
91
|
+
툰 재질(Diffuse → Shader to RGB → 계단 ColorRamp → 방출, 해 세기 π 기준·각도 0), 카메라 광선만 하늘색을 보는 하늘,
|
|
92
|
+
Grease Pencil Line Art 설정, sRGB→선형 변환은 그 레포 template/tools/blender_common.py 와 template/blender/shots/_shared.py
|
|
93
|
+
를 줄여 옮겼다. tools/blender/ 는 bpy 를 써서 GPL-3.0-or-later 로 따로 둔다(그 폴더 README.md·LICENSE) — MIT 코드를
|
|
94
|
+
GPL 파일에 들이는 것은 허용되고, 아래 MIT 고지를 지킨다.
|
|
95
|
+
|
|
96
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
97
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
98
|
+
in the Software without restriction, including without limitation the rights
|
|
99
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
100
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
101
|
+
furnished to do so, subject to the following conditions:
|
|
102
|
+
|
|
103
|
+
The above copyright notice and this permission notice shall be included in all
|
|
104
|
+
copies or substantial portions of the Software.
|
|
105
|
+
|
|
106
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
107
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
108
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
109
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
110
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
111
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
112
|
+
SOFTWARE.
|
|
113
|
+
|
|
114
|
+
----------------------------------------------------------------------
|
|
115
|
+
JIZURA 字面 — packages/jizura/vendor/jizura_engine.js (실려 있다)
|
|
116
|
+
https://github.com/852wa/JIZURA (고정 커밋 fc16bfe43ea4a6c25a21f1caf04d17326de14f00, v0.10.1)
|
|
117
|
+
MIT — Copyright (c) 2026 hakoniwa
|
|
118
|
+
고정 커밋의 src/*.js(편집기 UI 12_ui.js 빼고)를 업스트림 build.py 와 같은 순서로 한 파일로 이었다. 업스트림 파일은
|
|
119
|
+
고치지 않았다. 원본 LICENSE 는 옆 JIZURA_LICENSE.txt, 출처·고정 커밋·MIT 원문은 packages/jizura/vendor/NOTICE.
|
|
120
|
+
다시 만들기: node packages/jizura/src/vendor.ts. 가사 층으로 낸 영상에는 "JIZURA 字面 (c) 2026 hakoniwa (github.com/852wa), MIT" 를 적는다.
|
|
121
|
+
글꼴 — google/fonts 고정 커밋 51303ca 의 SIL Open Font License 1.1 글꼴. 자주 쓰는 Noto Sans KR·Noto Serif KR·Black Han Sans·
|
|
122
|
+
Gowun Batang·DotGothic16 은 한글·영숫자·문장부호만 남긴 서브셋으로, IBM Plex Mono 는 원본 그대로 packages/jizura/vendor/fonts 에
|
|
123
|
+
OFL-<폴더>.txt 원문과 함께 실려 있다. 그 밖의 얼굴은 처음 쓸 때 같은 커밋의 원본을 ~/.cache/kasaframe/jizura/fonts 로 받는다.
|
|
124
|
+
|
|
125
|
+
vocaloid-style-mv-pipeline — packages/jizura/src/layer.ts·deny.ts·vendor.ts, tools/lyrics/align.py
|
|
126
|
+
https://github.com/EGSECDA/vocaloid-style-mv-pipeline (로컬 클론 커밋 13b380d)
|
|
127
|
+
MIT — Copyright (c) 2026 NikusonP
|
|
128
|
+
엔진 묶기 순서(template/tools/build_jizura_bundle.mjs), 플랜 만들기와 색 구성 고르기 schemes 'dark'·'light'
|
|
129
|
+
(template/jizura/app/jizura_adapter.js), 부품 거부 목록(references/06-jizura.md §5 와 그 틀로 만든 뮤비의 timeline.js)을
|
|
130
|
+
옮겼다. 가사 정렬은 MMS 강제 정렬(가중치 CC-BY-NC)을 쓰지 않고 demucs + stable-ts align 길로 새로 짰다.
|
|
131
|
+
|
|
132
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
133
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
134
|
+
in the Software without restriction, including without limitation the rights
|
|
135
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
136
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
137
|
+
furnished to do so, subject to the following conditions:
|
|
138
|
+
|
|
139
|
+
The above copyright notice and this permission notice shall be included in all
|
|
140
|
+
copies or substantial portions of the Software.
|
|
141
|
+
|
|
142
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
143
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
144
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
145
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
146
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
147
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
148
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,93 @@
|
|
|
1
|
-
#
|
|
1
|
+
# kasaframe
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
말로 시키는 코드 영상 엔진. 장면을 「시각 t 에서 화면이 어떻게 생겼나」를 그리는 웹 코드(TypeScript)로 짜면, kasaframe 이 헤드리스 크롬으로 1/60초마다 찍어 MP4 로 굽고, 멈춤·빈 화면·글 깨짐·화면 밖 글·대비·섬광을 검사한다. 곡이 있으면 박·마디·드롭을 재서 장면 경계를 거기에 붙인다.
|
|
4
|
+
|
|
5
|
+
쇼츠·홍보·설명·공개·시연·광고·피드·뮤직비디오 — 용도마다 틀(`templates/`)이 있고, Claude Code 같은 코딩 에이전트에게 「영상 만들어」 한 줄로 맡길 수 있게 장면 지시서까지 낸다.
|
|
6
|
+
|
|
7
|
+
## 설치
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm i -g kasaframe
|
|
11
|
+
kf setup # Playwright 크롬 + librosa(곡 분석) 받기
|
|
12
|
+
kf doctor # ffmpeg·크롬·librosa·OG 키 점검 — 없는 것은 까는 명령을 알려 준다
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 요구 사항
|
|
16
|
+
|
|
17
|
+
| 무엇 | 왜 | 깔기 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| Node 22.18 이상 | `kf` 자체 | https://nodejs.org |
|
|
20
|
+
| ffmpeg·ffprobe | MP4 굽기·검사 | macOS `brew install ffmpeg` · 데비안/우분투 `sudo apt-get install -y ffmpeg` |
|
|
21
|
+
| 크롬(Playwright chromium) | 장면 찍기 | `kf setup chrome` — 리눅스는 시스템 라이브러리도: `kf setup` 이 알려 주는 `install-deps` 명령 |
|
|
22
|
+
| python3 + librosa | 곡에 박을 맞출 때만(`--music`·`kf beats`) | `kf setup beats` — `~/.cache/kasaframe/py/beats` venv 에 깐다(`KF_PYTHON` 으로 바꿀 수 있다) |
|
|
23
|
+
| OG 키 | 그림 생성·`kf make` OG 모드만 | 아래 「OG 모드」 |
|
|
24
|
+
|
|
25
|
+
리눅스 상자에서 글꼴 CDN 이 막혀 있으면 한글이 두부로 나온다 — `sudo apt-get install -y fonts-noto-cjk`. macOS 에서는 검사가 화면 글을 읽는 데 `swiftc`(Xcode 명령줄 도구)를 쓰고, 없으면 그 검사만 건너뛴다.
|
|
26
|
+
|
|
27
|
+
## 빨리 해 보기
|
|
28
|
+
|
|
29
|
+
```sh
|
|
30
|
+
kf new hello --template shorts # 용도: promo · shorts · explainer · launch · demo · ad · square · mv
|
|
31
|
+
kf preview hello # 미리보기 주소 — 저장하면 바로 반영
|
|
32
|
+
kf render hello --tabs 2 # → hello/out/render.mp4
|
|
33
|
+
kf check hello # 검사 보고(종료 코드 0 통과 · 1 오류)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
`kf new` 는 `kf.json`(장면 시간표)과 `scenes/*.ts`(장면 뼈대)를 만든다. 장면을 채우는 법·규칙은 패키지의 `docs/AGENTS.md` 에 있다. 곡이 있으면 `--music 곡.mp3` — 박을 재서 장면 경계를 드롭·마디에 붙인다(곡은 패키지에 없다. 곡 모음 폴더는 `KF_MUSIC_DIR`).
|
|
37
|
+
|
|
38
|
+
## 말로 시키기
|
|
39
|
+
|
|
40
|
+
```sh
|
|
41
|
+
kf skill install # ~/.claude/skills/kasaframe 에 스킬 링크
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
새 Claude Code 세션에서 「OG 소개 쇼츠 30초, 리소 느낌으로」처럼 말하면 스킬이 `kf make` 로 간다. Claude Code 안에서 `kf make` 는 용도·테마·곡을 고르고 뼈대와 장면 지시서(`MAKE.md`)까지 만든 뒤 멈춘다 — 세션이 장면을 채우고 `kf look`(장면 모음을 직접 보기) → `kf make --finish` 로 렌더·검사·표지까지 간다. 다른 모델을 부르지 않고, 돈이 드는 그림 생성도 묻지 않고 하지 않는다.
|
|
45
|
+
|
|
46
|
+
## OG 모드
|
|
47
|
+
|
|
48
|
+
[OpenGateway](https://opengateway.ai) 키가 있으면 쓸 수 있는 것:
|
|
49
|
+
|
|
50
|
+
- `kf make "<요청>"`(Claude Code 밖) — OG 모델이 장면까지 쓰고 렌더·검사·고치기를 끝까지 돈다(`--model` 로 모델을 고른다)
|
|
51
|
+
- `kf gen img` — gpt-image 로 장면에 쓸 그림 생성(캐시·예산 상한)
|
|
52
|
+
- `kf look --vision-model <모델>` — 그림을 못 보는 세션 대신 그림 보는 모델이 장면마다 글로 보고
|
|
53
|
+
|
|
54
|
+
키는 환경 변수 `OPENGATEWAY_API_KEY` 또는 파일 `~/.config/opengateway.key`(한 줄). 없으면 이 셋만 빠지고 — 생성 대신 키를 둘 자리를 알려 준다 — 장면·렌더·검사는 그대로 돈다.
|
|
55
|
+
|
|
56
|
+
## 목소리·곡
|
|
57
|
+
|
|
58
|
+
쇼츠·설명은 차분한 TTS 내레이션과 깊은 앰비언트 곡(`deep`)이 기본이다. 목소리가 장면 길이를 정하고, 렌더가 곡을 말 아래로 덕킹해 -14 LUFS 로 섞는다. 곡은 틀이 박은 분위기(`deep`)대로 매번 같고, 목소리는 만들기 전에 묻는다(로컬 Qwen3·ElevenLabs·자막만·그 밖 차례). 엔진·곡이 없으면 다른 것으로 넘어가지 않고 키 넣기·다른 엔진·빼기를 묻는다.
|
|
59
|
+
|
|
60
|
+
| 쓰는 것 | 키 | 상태 |
|
|
61
|
+
|---|---|---|
|
|
62
|
+
| Gemini TTS(`gemini-3.8-flash-tts`) · Lyria 3.5 음악 | `GEMINI_API_KEY` 또는 `~/.config/gemini.key` | 실호출로 확인 |
|
|
63
|
+
| ElevenLabs TTS(with-timestamps — 낱말 시각까지) · Eleven Music | `ELEVENLABS_API_KEY` | 문서대로 짰고 **실호출 안 함** |
|
|
64
|
+
| Qwen TTS(DashScope `qwen3-tts-flash`) | `DASHSCOPE_API_KEY` | 문서대로 짰고 **실호출 안 함** |
|
|
65
|
+
| 로컬 Qwen3-TTS(`tools/tts/qwen3_tts_server.py`) | `KF_QWEN3_TTS_URL` | 서버 주소가 있을 때만 — **실호출 안 함** |
|
|
66
|
+
|
|
67
|
+
키가 하나도 없으면 목소리 없이 자막 트랙만 간다. 단가·라이선스: `packages/gen/PROVIDERS.md`.
|
|
68
|
+
|
|
69
|
+
## 명령
|
|
70
|
+
|
|
71
|
+
| 명령 | 하는 일 |
|
|
72
|
+
|---|---|
|
|
73
|
+
| `kf new` | 용도 틀에서 프로젝트 뼈대 — 곡 분석·박에 맞춘 장면 시간표·장면 파일 |
|
|
74
|
+
| `kf make` | 요청 한 줄로 끝까지 — 용도 판별·계획·장면·렌더·검사 |
|
|
75
|
+
| `kf preview` | 미리보기 — 곡이 기준 시계, 타임라인·박·드롭·프레임 이동 |
|
|
76
|
+
| `kf render` | MP4(또는 ProRes·PNG 묶음)로 굽기 — 탭 병렬, 곡 얹기, 자막 |
|
|
77
|
+
| `kf check` | 검사 — 멈춤·빈 화면·글 깨짐·화면 밖 글·대비·섬광·박 경계·움직임 규칙 |
|
|
78
|
+
| `kf still` · `kf sheet` · `kf look` | 한 장 · 장면 모음 · 장면별 확인표 |
|
|
79
|
+
| `kf beats` | 곡을 재서 `beats.json` — 박·마디·프레이즈·구간·드롭·대역 에너지 |
|
|
80
|
+
| `kf gen` | 그림·영상 생성(OG · fal · MiniMax · Veo · LTX) |
|
|
81
|
+
| `kf narrate` | 내레이션 먼저 — 장면별 문장을 TTS 로 읽혀 장면 길이를 목소리에 맞추고(곡이 있으면 박에), 자막을 목소리 시각으로 |
|
|
82
|
+
| `kf music` | 곡 모음(분위기 태그) 보기·넣기, 음악 생성(Lyria · Eleven Music) |
|
|
83
|
+
| `kf transitions` | 전환 목록 — 이름·출처·라이선스 |
|
|
84
|
+
| `kf theme list` · `kf theme sheet` | 테마 — `riso-zine` · `debug-hud` · `og-measure`, 같은 문장 한 장면을 테마마다 찍은 견본 격자 |
|
|
85
|
+
| `kf app` | 작업실 — 요청 칸·실시간 미리보기·렌더·검사 보고를 브라우저로(:5150) |
|
|
86
|
+
| `kf doctor` · `kf setup` | 바깥 도구 점검 · 깔기 |
|
|
87
|
+
| `kf skill` | Claude Code 스킬 링크 |
|
|
88
|
+
|
|
89
|
+
`kf <명령> --help` 로 인자를 본다. 렌더·검사는 한 기계에서 하나씩 돈다(잠금 — 다른 렌더가 쥐고 있으면 기다린다).
|
|
90
|
+
|
|
91
|
+
## 라이선스
|
|
92
|
+
|
|
93
|
+
MIT © 2rami — `LICENSE`. 들여온 전환·셰이더의 출처와 라이선스(MIT·BSD 등)는 `NOTICE`.
|