@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.
Files changed (796) hide show
  1. package/MANUAL.md +10 -0
  2. package/package.json +1 -1
  3. package/product.json +2 -1
  4. package/skills/30x-web-to-video/SKILL.md +421 -0
  5. package/skills/30x-web-to-video/examples/INDEX.md +26 -0
  6. package/skills/30x-web-to-video/references/animations.md +539 -0
  7. package/skills/30x-web-to-video/references/audio.md +256 -0
  8. package/skills/30x-web-to-video/references/components.md +340 -0
  9. package/skills/30x-web-to-video/references/lottie.md +174 -0
  10. package/skills/30x-web-to-video/references/visual-effects.md +157 -0
  11. package/skills/30x-web-to-video/remotion-best-practices/rules/audio.md +169 -0
  12. package/skills/30x-web-to-video/remotion-best-practices/rules/calculate-metadata.md +134 -0
  13. package/skills/30x-web-to-video/remotion-best-practices/rules/charts.md +120 -0
  14. package/skills/30x-web-to-video/remotion-best-practices/rules/compositions.md +154 -0
  15. package/skills/30x-web-to-video/remotion-best-practices/rules/ffmpeg.md +38 -0
  16. package/skills/30x-web-to-video/remotion-best-practices/rules/fonts.md +152 -0
  17. package/skills/3d-asset-generation/SKILL.md +142 -0
  18. package/skills/action-fight-prompt/SKILL.md +136 -0
  19. package/skills/action-fight-prompt/references/camera-and-impact.md +64 -0
  20. package/skills/action-fight-prompt/references/example-15s-duel.md +59 -0
  21. package/skills/action-fight-prompt/references/scene-patterns.md +80 -0
  22. package/skills/ad-creative-video/SKILL.md +205 -0
  23. package/skills/ad-creative-video/references/batch-ad-pipeline.md +289 -0
  24. package/skills/ad-creative-video/references/platform-specs.md +72 -0
  25. package/skills/after-effects/SKILL.md +123 -0
  26. package/skills/after-effects/references/export-recipes.md +168 -0
  27. package/skills/after-effects/references/expression-library.md +184 -0
  28. package/skills/after-effects/references/expressions.md +134 -0
  29. package/skills/after-effects/references/performance-triage.md +138 -0
  30. package/skills/after-effects/references/project-hygiene.md +188 -0
  31. package/skills/ai-media-quality-review/SKILL.md +72 -0
  32. package/skills/ai-product-video/SKILL.md +296 -0
  33. package/skills/ai-product-video/references/aesthetic-rules.md +177 -0
  34. package/skills/ai-product-video/references/final-review.md +110 -0
  35. package/skills/ai-product-video/references/guided-free-creation.md +194 -0
  36. package/skills/ai-product-video/references/music-beat-sync.md +219 -0
  37. package/skills/ai-product-video/references/pipeline.md +392 -0
  38. package/skills/ai-product-video/references/sequences/promo-energy-arc.md +50 -0
  39. package/skills/ai-product-video/references/shots/ATTRIBUTION.md +65 -0
  40. package/skills/ai-product-video/references/shots/camera/basic-3d-scene.md +37 -0
  41. package/skills/ai-product-video/references/shots/camera/crash-zoom-punch.md +39 -0
  42. package/skills/ai-product-video/references/shots/camera/cursor-flyover.md +38 -0
  43. package/skills/ai-product-video/references/shots/camera/depth-layer-moves.md +40 -0
  44. package/skills/ai-product-video/references/shots/camera/graze-face-tour.md +57 -0
  45. package/skills/aicut/SKILL.md +4 -4
  46. package/skills/aicut/references/commands.md +15 -15
  47. package/skills/aicut/references/film-format.md +1 -1
  48. package/skills/aicut/references/recipes.md +4 -4
  49. package/skills/aicut/references/troubleshooting.md +2 -2
  50. package/skills/aicut-motion/SKILL.md +6 -6
  51. package/skills/aicut-motion/references/design-systems/README.md +1 -1
  52. package/skills/aicut-motion/references/pages.md +1 -1
  53. package/skills/anidoodle/SKILL.md +185 -0
  54. package/skills/anidoodle/references/anatomy.md +91 -0
  55. package/skills/anidoodle/references/backends-and-adapters.md +82 -0
  56. package/skills/anidoodle/references/camera.md +148 -0
  57. package/skills/anidoodle/references/craft-bar.md +72 -0
  58. package/skills/anidoodle/references/determinism-and-contract.md +46 -0
  59. package/skills/anidoodle/references/formats.md +121 -0
  60. package/skills/anidoodle/references/motion-grammar.md +234 -0
  61. package/skills/anidoodle/references/music/compose.md +388 -0
  62. package/skills/anidoodle/references/music/sound-design.md +245 -0
  63. package/skills/anidoodle/references/music/sounds-licenses.md +69 -0
  64. package/skills/anidoodle/references/music/styles/lofi-electronic.md +112 -0
  65. package/skills/anidoodle/references/music/styles/music-box.md +57 -0
  66. package/skills/animated-component-libraries/SKILL.md +820 -0
  67. package/skills/animated-component-libraries/references/customization_guide.md +699 -0
  68. package/skills/animated-component-libraries/references/magic_ui_components.md +422 -0
  69. package/skills/animated-component-libraries/references/react_bits_components.md +587 -0
  70. package/skills/animated-infographic/SKILL.md +211 -0
  71. package/skills/animated-infographic/references/sequenced-infographic.md +286 -0
  72. package/skills/appshot-core/SKILL.md +872 -0
  73. package/skills/article-highlights/SKILL.md +151 -0
  74. package/skills/avatar-mix/SKILL.md +301 -0
  75. package/skills/bang-motion/SKILL.md +583 -0
  76. package/skills/bang-motion/references/ae-bridge-higgsfield.md +160 -0
  77. package/skills/bang-motion/references/anti-ppt.md +110 -0
  78. package/skills/bang-motion/references/architecture.md +188 -0
  79. package/skills/bang-motion/references/explainer.md +579 -0
  80. package/skills/bang-motion/references/kartun-panggung.md +221 -0
  81. package/skills/bang-motion/references/opener-konsep.md +817 -0
  82. package/skills/bang-motion/references/roadmap.md +85 -0
  83. package/skills/bang-motion/references/techniques.md +690 -0
  84. package/skills/beat-sync-edit/SKILL.md +148 -0
  85. package/skills/book-video-factory/SKILL.md +139 -0
  86. package/skills/book-video-factory/references/first-run.md +50 -0
  87. package/skills/book-video-factory/references/paper-collage-explainer.md +127 -0
  88. package/skills/book-video-factory/references/quality-gates.md +87 -0
  89. package/skills/book-video-production/SKILL.md +211 -0
  90. package/skills/brag/SKILL.md +195 -0
  91. package/skills/brag/references/audio.md +312 -0
  92. package/skills/brag/references/step-1-inspect.md +125 -0
  93. package/skills/brag/references/step-2-plan.md +234 -0
  94. package/skills/brag/references/step-3-compose.md +199 -0
  95. package/skills/brag/references/step-4-deliver.md +141 -0
  96. package/skills/brag/references/tones.md +231 -0
  97. package/skills/brand-setup/SKILL.md +228 -0
  98. package/skills/brewreel/SKILL.md +491 -0
  99. package/skills/brewreel/docs/broll.en.md +252 -0
  100. package/skills/brewreel/docs/broll.md +252 -0
  101. package/skills/brewreel/docs/custom-shot.en.md +66 -0
  102. package/skills/brewreel/docs/custom-shot.md +103 -0
  103. package/skills/brewreel/docs/faq.en.md +90 -0
  104. package/skills/brewreel/docs/faq.md +90 -0
  105. package/skills/brewreel/docs/features.en.md +157 -0
  106. package/skills/brewreel/docs/features.md +157 -0
  107. package/skills/brewreel/docs/gallery.en.md +44 -0
  108. package/skills/brewreel/docs/gallery.md +44 -0
  109. package/skills/brewreel/docs/how-it-works.en.md +64 -0
  110. package/skills/brewreel/docs/how-it-works.md +64 -0
  111. package/skills/caption-animation/SKILL.md +216 -0
  112. package/skills/caption-animation/references/word-timed-captions.md +254 -0
  113. package/skills/cartcut-editing/SKILL.md +615 -0
  114. package/skills/cartcut-editing/references/html-typography.md +277 -0
  115. package/skills/cassette-video-edit/SKILL.md +129 -0
  116. package/skills/ccvideo/SKILL.md +264 -0
  117. package/skills/chekhov-dramaturgy/SKILL.md +367 -0
  118. package/skills/chekhov-dramaturgy/reference.md +375 -0
  119. package/skills/chengfeng-check-updates/SKILL.md +283 -0
  120. package/skills/cinematic-product-promo-skill/SKILL.md +295 -0
  121. package/skills/cinematic-product-promo-skill/references/aesthetic-rules.md +187 -0
  122. package/skills/cinematic-product-promo-skill/references/final-review.md +116 -0
  123. package/skills/cinematic-product-promo-skill/references/guided-free-creation.md +199 -0
  124. package/skills/cinematic-product-promo-skill/references/jianying-export.md +183 -0
  125. package/skills/cinematic-product-promo-skill/references/music-beat-sync.md +257 -0
  126. package/skills/cinematic-product-promo-skill/references/pipeline.md +393 -0
  127. package/skills/cinematic-product-promo-skill/references/sequences/promo-energy-arc.md +50 -0
  128. package/skills/cinematic-product-promo-skill/references/shots/ATTRIBUTION.md +65 -0
  129. package/skills/cinematic-product-promo-skill/references/shots/camera/basic-3d-scene.md +37 -0
  130. package/skills/cinematic-product-promo-skill/references/shots/camera/crash-zoom-punch.md +39 -0
  131. package/skills/cinematic-product-promo-skill/references/shots/camera/cursor-flyover.md +38 -0
  132. package/skills/cinematic-product-promo-skill/references/shots/camera/depth-layer-moves.md +40 -0
  133. package/skills/claude-gif/SKILL.md +211 -0
  134. package/skills/claude-gif/references/gif-optimization.md +209 -0
  135. package/skills/claude-gif/references/perfect-loops.md +295 -0
  136. package/skills/claude-gif/references/platform-specs.md +138 -0
  137. package/skills/claude-gif/references/prompt-engineering.md +211 -0
  138. package/skills/claude-gif/references/remotion-gif.md +560 -0
  139. package/skills/codex-video-pipeline/SKILL.md +213 -0
  140. package/skills/codex-video-pipeline/examples/ai-meeting-notes/INPUT.md +10 -0
  141. package/skills/codex-video-pipeline/examples/ai-meeting-notes/expected/action-list.md +22 -0
  142. package/skills/codex-video-pipeline/references/captions.md +39 -0
  143. package/skills/codex-video-pipeline/references/cover-system.md +72 -0
  144. package/skills/codex-video-pipeline/references/cross-platform.md +77 -0
  145. package/skills/codex-video-pipeline/references/example-run.md +54 -0
  146. package/skills/codex-video-pipeline/references/first-run.md +130 -0
  147. package/skills/codex-video-pipeline/references/project-contract.md +54 -0
  148. package/skills/codex-video-pipeline/references/quality-gates.md +44 -0
  149. package/skills/codex-video-pipeline/references/research-and-script.md +50 -0
  150. package/skills/collage-broll-explainers/SKILL.md +429 -0
  151. package/skills/create-onboarding-video/SKILL.md +233 -0
  152. package/skills/cs-shotcraft-skill/SKILL.md +218 -0
  153. package/skills/cs-shotcraft-skill/references/aesthetic-rules.md +207 -0
  154. package/skills/cs-shotcraft-skill/references/camera-table.md +88 -0
  155. package/skills/cs-shotcraft-skill/references/engineering.md +132 -0
  156. package/skills/cs-shotcraft-skill/references/final-review.md +118 -0
  157. package/skills/cs-shotcraft-skill/references/guided-free-creation.md +199 -0
  158. package/skills/cs-shotcraft-skill/references/jianying-export.md +183 -0
  159. package/skills/cs-shotcraft-skill/references/music-beat-sync.md +257 -0
  160. package/skills/cs-shotcraft-skill/references/pipeline.md +408 -0
  161. package/skills/cs-shotcraft-skill/references/product-machine.md +56 -0
  162. package/skills/cs-shotcraft-skill/references/sequences/promo-energy-arc.md +50 -0
  163. package/skills/cs-shotcraft-skill/references/shots/ATTRIBUTION.md +65 -0
  164. package/skills/cs-shotcraft-skill/references/shots/camera/basic-3d-scene.md +37 -0
  165. package/skills/cut-video/SKILL.md +387 -0
  166. package/skills/cyxj-hyperframes-overlay/SKILL.md +75 -0
  167. package/skills/cyxj-remotion-evolve/SKILL.md +123 -0
  168. package/skills/cyxj-remotion-evolve-vibe-motion/SKILL.md +123 -0
  169. package/skills/demo-video-creation-skill/SKILL.md +152 -0
  170. package/skills/demo-video-creation-skill/references/capture-workflow.md +74 -0
  171. package/skills/demo-video-creation-skill/references/qc-checklist.md +61 -0
  172. package/skills/demo-video-creation-skill/references/remotion-ffmpeg.md +94 -0
  173. package/skills/demo-video-creation-skill/references/storytelling.md +86 -0
  174. package/skills/demo-video-creation-skill/references/visual-system.md +83 -0
  175. package/skills/demoday/SKILL.md +148 -0
  176. package/skills/develop-premiere-pro-mcp/SKILL.md +131 -0
  177. package/skills/diagram-animation/SKILL.md +200 -0
  178. package/skills/diagram-animation/references/diagram-and-chart-recipes.md +218 -0
  179. package/skills/diagram-tour/SKILL.md +287 -0
  180. package/skills/diagram-tour/examples/agent-architecture/agent-architecture-tour.md +78 -0
  181. package/skills/docvideoer/SKILL.md +139 -0
  182. package/skills/draftcut/SKILL.md +104 -0
  183. package/skills/draftcut/docs/agent-bootstrap.md +64 -0
  184. package/skills/draftcut/docs/approvals.md +45 -0
  185. package/skills/draftcut/docs/audio-first-migration.md +35 -0
  186. package/skills/draftcut/docs/configuration.md +54 -0
  187. package/skills/draftcut/docs/getting-started.md +63 -0
  188. package/skills/draftcut/docs/harness-case-study.en.md +23 -0
  189. package/skills/draftcut/docs/harness-case-study.md +47 -0
  190. package/skills/draftcut/references/01-plan.md +30 -0
  191. package/skills/draftcut/references/03-deliver.md +26 -0
  192. package/skills/draftcut/references/04-reference-theme-prompt.md +7 -0
  193. package/skills/draftcut/references/05-social-loudness.md +58 -0
  194. package/skills/draftcut/references/06-modern-components.md +72 -0
  195. package/skills/easyedit/SKILL.md +66 -0
  196. package/skills/erduo-broll-loop-engineering/SKILL.md +136 -0
  197. package/skills/erduo-broll-loop-engineering/references/animation-craft.md +208 -0
  198. package/skills/erduo-broll-loop-engineering/references/first-run-onboarding.md +107 -0
  199. package/skills/erduo-broll-loop-engineering/references/handoff-template.md +70 -0
  200. package/skills/erduo-broll-loop-engineering/references/motion-layout-lint.md +122 -0
  201. package/skills/erduo-broll-loop-engineering/references/parent-review-checklist.md +171 -0
  202. package/skills/erduo-broll-loop-engineering/references/prompt-first-workflow.md +322 -0
  203. package/skills/erduo-broll-loop-engineering/references/remotion-backend.md +334 -0
  204. package/skills/erduo-broll-loop-engineering/references/runtime/remotion-hyperframes-map.md +76 -0
  205. package/skills/erduo-broll-loop-engineering/references/runtime/runtime-contract.md +174 -0
  206. package/skills/erduo-broll-loop-engineering/references/runtime/runtime-selection.md +135 -0
  207. package/skills/erduo-broll-loop-engineering/references/shotcraft/remotion-sources/SOURCE.md +7 -0
  208. package/skills/erduo-broll-loop-engineering/references/shotcraft/upstream-attribution.md +65 -0
  209. package/skills/explainer-assets/SKILL.md +98 -0
  210. package/skills/explainer-video/SKILL.md +146 -0
  211. package/skills/framewright/SKILL.md +324 -0
  212. package/skills/framewright/references/audio.md +230 -0
  213. package/skills/framewright/references/guide.md +276 -0
  214. package/skills/framewright/references/painting.md +425 -0
  215. package/skills/framewright/references/photo.md +75 -0
  216. package/skills/framewright/references/questionnaire.md +115 -0
  217. package/skills/framewright/references/styles.md +388 -0
  218. package/skills/framewright/references/troubleshooting.md +119 -0
  219. package/skills/framewright/references/world.md +215 -0
  220. package/skills/gbro-collage-broll/SKILL.md +435 -0
  221. package/skills/gbro-collage-info/SKILL.md +135 -0
  222. package/skills/gbro-collage-info/references/motion-grammar.md +66 -0
  223. package/skills/gbro-collage-info/references/production.md +67 -0
  224. package/skills/gbro-collage-info/references/style-system.md +38 -0
  225. package/skills/gemini-tts/SKILL.md +208 -0
  226. package/skills/gemini-tts/references/prompting-guide.md +169 -0
  227. package/skills/gen/SKILL.md +282 -0
  228. package/skills/ghost-editor/SKILL.md +437 -0
  229. package/skills/ghost-editor/docs/HOW-IT-WORKS.md +82 -0
  230. package/skills/ghost-editor/docs/PLAYBOOK.md +139 -0
  231. package/skills/ghost-editor/docs/THIRD_PARTY/audio.md +17 -0
  232. package/skills/ghost-editor/docs/THIRD_PARTY/audioqa.md +13 -0
  233. package/skills/ghost-editor/docs/THIRD_PARTY/captions.md +20 -0
  234. package/skills/ghost-editor/docs/THIRD_PARTY/fonts.md +17 -0
  235. package/skills/ghost-editor/docs/THIRD_PARTY/kinetic.md +22 -0
  236. package/skills/ghost-editor/docs/THIRD_PARTY/looks.md +22 -0
  237. package/skills/ghost-editor/docs/THIRD_PARTY/matte.md +20 -0
  238. package/skills/ghost-editor/docs/THIRD_PARTY/models.md +11 -0
  239. package/skills/ghost-editor/docs/THIRD_PARTY/runtime.md +13 -0
  240. package/skills/ghost-editor/docs/THIRD_PARTY/shaders.md +15 -0
  241. package/skills/git-story-film/SKILL.md +220 -0
  242. package/skills/git-story-film/examples/raven-story/FONTS.md +8 -0
  243. package/skills/git-story-film/examples/raven-story/OUTLINE.md +93 -0
  244. package/skills/git-story-film/references/craft.md +148 -0
  245. package/skills/git-story-film/references/directing.md +185 -0
  246. package/skills/git-story-film/references/forms.md +150 -0
  247. package/skills/git-story-film/references/production.md +150 -0
  248. package/skills/git-story-film/references/story.md +137 -0
  249. package/skills/git-story-film/references/text-and-fonts.md +90 -0
  250. package/skills/guizang-product-video-skill/SKILL.md +96 -0
  251. package/skills/guizang-product-video-skill/references/audio-and-qa.md +113 -0
  252. package/skills/guizang-product-video-skill/references/audio-sourcing.md +80 -0
  253. package/skills/guizang-product-video-skill/references/case-study.md +63 -0
  254. package/skills/guizang-product-video-skill/references/component-pipeline.md +86 -0
  255. package/skills/guizang-product-video-skill/references/cover.md +43 -0
  256. package/skills/guizang-product-video-skill/references/direction.md +91 -0
  257. package/skills/guizang-product-video-skill/references/onboarding.md +98 -0
  258. package/skills/guizang-product-video-skill/references/repo-and-style.md +44 -0
  259. package/skills/guizang-product-video-skill/references/review.md +38 -0
  260. package/skills/guizang-product-video-skill/references/starter.md +168 -0
  261. package/skills/guizang-product-video-skill/references/story-and-copy.md +88 -0
  262. package/skills/guizang-product-video-skill/references/visual-vocabulary.md +78 -0
  263. package/skills/guofeng-paper-video/SKILL.md +159 -0
  264. package/skills/guofeng-paper-video/style/design.md +43 -0
  265. package/skills/guofeng-paper-video/style/palette.md +21 -0
  266. package/skills/guofeng-paper-video/style/prompts/01-/345/210/206/351/225/234/350/241/250.md +19 -0
  267. package/skills/guofeng-paper-video/style/prompts/02-/347/224/237/346/210/220/347/272/270/347/211/207.md +37 -0
  268. package/skills/guofeng-paper-video/style/prompts/03-/351/205/215/351/237/263/350/204/232/346/234/254.md +27 -0
  269. 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
  270. 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
  271. package/skills/hand-drawn-explainer-video-nikola/SKILL.md +113 -0
  272. package/skills/hand-drawn-explainer-video-nikola/docs/ARCHITECTURE.md +18 -0
  273. package/skills/hand-drawn-explainer-video-nikola/docs/CONFIGURATION.md +22 -0
  274. package/skills/hand-drawn-explainer-video-nikola/docs/STYLES.md +28 -0
  275. package/skills/hand-drawn-explainer-video-nikola/docs/TROUBLESHOOTING.md +35 -0
  276. package/skills/hand-drawn-explainer-video-nikola/examples/program-animation/skill-demo/DESIGN.md +24 -0
  277. package/skills/hand-drawn-explainer-video-nikola/references/automation-workflow.md +67 -0
  278. package/skills/hand-drawn-explainer-video-nikola/references/output-example.md +79 -0
  279. package/skills/hand-drawn-explainer-video-nikola/references/preflight-and-recovery.md +49 -0
  280. package/skills/hand-drawn-explainer-video-nikola/references/style-guide.md +82 -0
  281. package/skills/hand-drawn-explainer-video-nikola/references/style-selection-and-updates.md +39 -0
  282. package/skills/hand-drawn-explainer-video-nikola/references/upstream-whiteboard-review.md +30 -0
  283. package/skills/hand-drawn-explainer-video-nikola/references/voiceover.md +37 -0
  284. package/skills/hbg-life-simulation/SKILL.md +285 -0
  285. package/skills/hbg-life-simulation/references/image-generation.md +53 -0
  286. package/skills/hbg-life-simulation/references/local-account-api.md +112 -0
  287. package/skills/hbg-life-simulation/references/opening-system.md +45 -0
  288. package/skills/hbg-life-simulation/references/project-spec.md +62 -0
  289. package/skills/hbg-life-simulation/references/render-and-qa.md +107 -0
  290. package/skills/hbg-life-simulation/references/storyboarding.md +69 -0
  291. package/skills/hbg-life-simulation/references/style-system.md +80 -0
  292. package/skills/hbg-life-simulation/references/visual-system.md +44 -0
  293. package/skills/heygen-avatar/SKILL.md +489 -0
  294. package/skills/heygen-avatar/references/asset-routing.md +86 -0
  295. package/skills/heygen-avatar/references/avatar-creation.md +181 -0
  296. package/skills/heygen-avatar/references/troubleshooting.md +137 -0
  297. package/skills/heytea-doodle-poster/SKILL.md +132 -0
  298. package/skills/heytea-doodle-poster/references/desktop-pet-character-modes.md +103 -0
  299. package/skills/heytea-doodle-poster/references/desktop-pet-environment.md +122 -0
  300. package/skills/heytea-doodle-poster/references/desktop-pet-pack.md +106 -0
  301. package/skills/heytea-doodle-poster/references/desktop-pet-workflow.md +264 -0
  302. package/skills/heytea-doodle-poster/references/evaluation.md +246 -0
  303. package/skills/heytea-doodle-poster/references/lettering-guide.md +213 -0
  304. package/skills/heytea-doodle-poster/references/mixed-media-style-guide.md +101 -0
  305. package/skills/heytea-doodle-poster/references/monster-poster-workflow.md +56 -0
  306. package/skills/heytea-doodle-poster/references/style-guide.md +412 -0
  307. package/skills/heytea-doodle-poster-hosted/SKILL.md +132 -0
  308. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-character-modes.md +103 -0
  309. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-environment.md +122 -0
  310. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-pack.md +106 -0
  311. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-workflow.md +264 -0
  312. package/skills/heytea-doodle-poster-hosted/references/evaluation.md +246 -0
  313. package/skills/heytea-doodle-poster-hosted/references/lettering-guide.md +213 -0
  314. package/skills/heytea-doodle-poster-hosted/references/mixed-media-style-guide.md +101 -0
  315. package/skills/heytea-doodle-poster-hosted/references/monster-poster-workflow.md +56 -0
  316. package/skills/heytea-doodle-poster-hosted/references/style-guide.md +412 -0
  317. package/skills/html2video/SKILL.md +290 -0
  318. package/skills/html2video/references/cjk-type.md +173 -0
  319. package/skills/html2video/references/editorial.md +145 -0
  320. package/skills/html2video/references/narration.md +111 -0
  321. package/skills/html2video/references/pitfalls.md +238 -0
  322. package/skills/html2video/references/shots.md +198 -0
  323. package/skills/html2video/references/storyboard.md +323 -0
  324. package/skills/hyperdirector/SKILL.md +202 -0
  325. package/skills/hyperdirector/docs/audio-workflow.md +160 -0
  326. package/skills/hyperdirector/docs/audio-workflow.zh-CN.md +244 -0
  327. package/skills/hyperdirector/docs/brand-kit-setup.md +322 -0
  328. package/skills/hyperdirector/docs/brand-kit-setup.zh-CN.md +277 -0
  329. package/skills/hyperdirector/docs/cursor-development-notes.md +474 -0
  330. package/skills/hyperdirector/docs/faq.md +285 -0
  331. package/skills/hyperdirector/docs/faq.zh-CN.md +198 -0
  332. package/skills/hyperdirector/docs/first-video.md +320 -0
  333. package/skills/hyperdirector/docs/first-video.zh-CN.md +265 -0
  334. package/skills/hyperdirector/docs/installation.md +254 -0
  335. package/skills/hyperdirector/docs/installation.zh-CN.md +222 -0
  336. package/skills/hyperdirector/docs/quickstart.md +203 -0
  337. package/skills/hyperframes/SKILL.md +117 -0
  338. package/skills/hyperframes/references/captions.md +46 -0
  339. package/skills/hyperframes/references/film.md +48 -0
  340. package/skills/hyperframes/references/format.md +158 -0
  341. package/skills/hyperframes/references/look.md +69 -0
  342. package/skills/hyperframes/references/motion.md +95 -0
  343. package/skills/hyperframes/references/overlays.md +39 -0
  344. package/skills/hyperframes/references/review.md +51 -0
  345. package/skills/hyperframes/references/runtimes.md +69 -0
  346. package/skills/hyperframes/references/skill-lifecycle.md +49 -0
  347. package/skills/hyperframes/references/sound.md +43 -0
  348. package/skills/hyperframes/references/spec.md +76 -0
  349. package/skills/hyperframes/references/story.md +103 -0
  350. package/skills/hyperframes-motion-director/SKILL.md +920 -0
  351. package/skills/hyperframes-motion-director/references/asset-choreography-and-render-qa.md +185 -0
  352. package/skills/hyperframes-motion-director/references/audio-sync.md +83 -0
  353. package/skills/hyperframes-motion-director/references/design-engineering.md +156 -0
  354. package/skills/hyperframes-motion-director/references/gsap-choreography.md +202 -0
  355. package/skills/hyperframes-motion-director/references/hyperframes-stability.md +99 -0
  356. package/skills/hyperframes-motion-director/references/imagegen-asset-pipeline.md +227 -0
  357. package/skills/hyperframes-motion-director/references/motion-background-system.md +165 -0
  358. package/skills/hyperframes-motion-director/references/motion-craft.md +182 -0
  359. package/skills/hyperframes-motion-director/references/premium-product-promo.md +287 -0
  360. package/skills/hyperframes-motion-director/references/text-over-background-layout.md +221 -0
  361. package/skills/hyperframes-motion-director/references/visual-standard.md +174 -0
  362. package/skills/hyperframes-motion-director/references/workflow.md +320 -0
  363. package/skills/hypit/SKILL.md +367 -0
  364. package/skills/hypit/references/creation/brief.md +93 -0
  365. package/skills/hypit/references/creation/script-and-time.md +259 -0
  366. package/skills/hypit/references/creation/transformations.md +143 -0
  367. package/skills/hypit/references/playbooks/craft/b-roll.md +94 -0
  368. package/skills/hypit/references/playbooks/craft/caption-tracking.md +126 -0
  369. package/skills/hypit/references/playbooks/craft/captions.md +253 -0
  370. package/skills/hypit/references/playbooks/craft/generated-dependencies.md +38 -0
  371. package/skills/hypit/references/playbooks/craft/graphic-compositions.md +85 -0
  372. package/skills/hypit/references/playbooks/craft/motion-graphics.md +68 -0
  373. package/skills/hypit/references/playbooks/craft/screen-demonstrations.md +51 -0
  374. package/skills/hypit/references/playbooks/craft/sound-mix.md +70 -0
  375. package/skills/hypit/references/playbooks/formats/narration-led-demo.md +87 -0
  376. package/skills/image/SKILL.md +153 -0
  377. package/skills/image/references/characters.md +86 -0
  378. package/skills/image/references/creative-direction.md +137 -0
  379. package/skills/image/references/de-slop.md +95 -0
  380. package/skills/image/references/dimensional.md +88 -0
  381. package/skills/image/references/editing.md +112 -0
  382. package/skills/image/references/golden-rules.md +198 -0
  383. package/skills/image/references/gpt-image.md +228 -0
  384. package/skills/image/references/models.md +78 -0
  385. package/skills/image/references/multi-panel.md +354 -0
  386. package/skills/image/references/nano-banana.md +150 -0
  387. package/skills/image/references/patterns/character-design.md +150 -0
  388. package/skills/image/references/patterns/ecommerce.md +124 -0
  389. package/skills/image-smixs/SKILL.md +153 -0
  390. package/skills/image-smixs/references/characters.md +86 -0
  391. package/skills/image-smixs/references/creative-direction.md +137 -0
  392. package/skills/image-smixs/references/de-slop.md +95 -0
  393. package/skills/image-smixs/references/dimensional.md +88 -0
  394. package/skills/image-smixs/references/editing.md +112 -0
  395. package/skills/image-smixs/references/golden-rules.md +198 -0
  396. package/skills/image-smixs/references/gpt-image.md +228 -0
  397. package/skills/image-smixs/references/models.md +78 -0
  398. package/skills/image-smixs/references/multi-panel.md +354 -0
  399. package/skills/image-smixs/references/nano-banana.md +150 -0
  400. package/skills/image-smixs/references/patterns/character-design.md +150 -0
  401. package/skills/image-smixs/references/patterns/ecommerce.md +124 -0
  402. package/skills/image-story-video-wizard/SKILL.md +148 -0
  403. package/skills/image-story-video-wizard/docs/ARTICLE_ALIGNMENT.md +29 -0
  404. package/skills/image-story-video-wizard/references/host-routing.md +44 -0
  405. package/skills/image-story-video-wizard/references/state-schema.md +79 -0
  406. package/skills/image-story-video-wizard/references/workflow.md +203 -0
  407. package/skills/image-story-video-wizard/references/writing-and-review.md +60 -0
  408. package/skills/ip-as-logo/SKILL.md +151 -0
  409. package/skills/ip-as-logo-s1dashu/SKILL.md +151 -0
  410. package/skills/jtxvideo-skill/SKILL.md +337 -0
  411. package/skills/kinetic-reel/SKILL.md +140 -0
  412. package/skills/kinetic-reel/examples/work-reel-26/STORYBOARD.md +51 -0
  413. package/skills/kinetic-reel/references/sound.md +40 -0
  414. package/skills/kinetic-reel/references/style-guide.md +79 -0
  415. package/skills/knowledge-explainer-skill/SKILL.md +149 -0
  416. package/skills/knowledge-explainer-skill/examples/ai_video_3steps.md +61 -0
  417. package/skills/knowledge-explainer-skill/examples/algorithm_bubble.md +20 -0
  418. package/skills/knowledge-explainer-skill/examples/before_after_demo.md +38 -0
  419. package/skills/knowledge-explainer-skill/examples/cta_outro.md +11 -0
  420. package/skills/knowledge-explainer-skill/examples/double_pendulum.md +20 -0
  421. package/skills/knowledge-explainer-skill/examples/paper_fold.md +20 -0
  422. package/skills/knowledge-explainer-skill/examples/script.md +40 -0
  423. package/skills/lanshu-create-ai-presenter-video/SKILL.md +253 -0
  424. package/skills/lanshu-create-ai-presenter-video/references/editing.md +67 -0
  425. package/skills/lanshu-create-ai-presenter-video/references/generation.md +94 -0
  426. package/skills/lanshu-create-ai-presenter-video/references/qa-recovery.md +83 -0
  427. package/skills/lanshu-create-ai-presenter-video/references/styled-explainer.md +189 -0
  428. package/skills/laoxu-video-script/SKILL.md +117 -0
  429. package/skills/laoxu-video-script/references/cases.md +305 -0
  430. package/skills/laoxu-video-script/references/de-ai.md +32 -0
  431. package/skills/laoxu-video-script/references/diagnostics.md +67 -0
  432. package/skills/laoxu-video-script/references/format.md +62 -0
  433. package/skills/laoxu-video-script/references/formulas.md +43 -0
  434. package/skills/laoxu-video-script/references/method.md +115 -0
  435. package/skills/laoxu-video-script/references/motifs-and-lines.md +829 -0
  436. package/skills/laoxu-video-script/references/persona.md +38 -0
  437. package/skills/laoxu-video-script/references/qihao-path.md +35 -0
  438. package/skills/laoxu-video-script/references/qihao-xinfa.md +39 -0
  439. package/skills/laoxu-video-script/references/redlines.md +26 -0
  440. package/skills/lemo-opuscar/SKILL.md +67 -0
  441. package/skills/lipnardo/SKILL.md +308 -0
  442. package/skills/lipnardo/examples/batch-personalized.md +44 -0
  443. package/skills/lipnardo/examples/photo-to-avatar-pipeline.md +56 -0
  444. package/skills/lipnardo/examples/single-video.md +44 -0
  445. package/skills/lipnardo/references/avatar-types.md +42 -0
  446. package/skills/lipnardo/references/credit-costs.md +39 -0
  447. package/skills/lipnardo/references/error-codes.md +66 -0
  448. package/skills/lipnardo/references/heygen-api-reference.md +416 -0
  449. package/skills/ll-video-decomposer/SKILL.md +105 -0
  450. package/skills/ll-video-decomposer/references/audiovisual-analysis-guide.md +44 -0
  451. package/skills/ll-video-decomposer/references/evidence-and-confidence-rules.md +41 -0
  452. package/skills/ll-video-decomposer/references/multi-video-comparison-template.md +48 -0
  453. package/skills/ll-video-decomposer/references/single-video-report-template.md +47 -0
  454. package/skills/ll-video-decomposer/references/tool-discovery-workflow.md +30 -0
  455. package/skills/ll-video-decomposer/references/transcription-routing.md +65 -0
  456. package/skills/ll-video-decomposer/references/video-acquisition-workflow.md +30 -0
  457. package/skills/ltx2-video/SKILL.md +193 -0
  458. package/skills/ltx2-video/references/mode_ux.md +293 -0
  459. package/skills/make-ai-short/SKILL.md +130 -0
  460. package/skills/make-blender-education-video/SKILL.md +247 -0
  461. package/skills/make-blender-education-video/references/evidence-and-explanation.md +62 -0
  462. package/skills/make-blender-education-video/references/github-workflow-discovery.md +55 -0
  463. package/skills/make-blender-education-video/references/production-workflow.md +62 -0
  464. package/skills/make-blender-education-video/references/story-patterns.md +65 -0
  465. package/skills/make-blender-education-video/references/visual-quality.md +82 -0
  466. package/skills/manage-storyboard-projects/SKILL.md +128 -0
  467. package/skills/manim-composer/SKILL.md +176 -0
  468. package/skills/manim-composer/references/narrative-patterns.md +125 -0
  469. package/skills/manim-composer/references/scene-examples.md +216 -0
  470. package/skills/manim-composer/references/visual-techniques.md +223 -0
  471. package/skills/manim-composer/templates/scenes-template.md +147 -0
  472. package/skills/monet-ai-editor-monet/SKILL.md +367 -0
  473. package/skills/motion-graphics/SKILL.md +206 -0
  474. package/skills/motion-graphics/references/craft.md +136 -0
  475. package/skills/motion-graphics/references/engine.md +130 -0
  476. package/skills/motion-graphics/references/export.md +67 -0
  477. package/skills/motion-graphics/references/physics.md +100 -0
  478. package/skills/motion-graphics/references/verify.md +124 -0
  479. package/skills/motion-video/SKILL.md +133 -0
  480. package/skills/motion-video/references/audio-and-beat-sync.md +109 -0
  481. package/skills/motion-video/references/composition-contract.md +107 -0
  482. package/skills/motion-video/references/production-pipeline.md +147 -0
  483. package/skills/motion-video/references/style-comic-spiderverse.md +87 -0
  484. package/skills/motion-video/references/style-glass-keynote.md +69 -0
  485. package/skills/motion-video-maker/SKILL.md +1452 -0
  486. package/skills/motion-video-maker/reference/components.md +451 -0
  487. package/skills/motion-video-maker/reference/workflow.md +190 -0
  488. package/skills/motioncraft/SKILL.md +221 -0
  489. package/skills/motioncraft/references/animation-system.md +57 -0
  490. package/skills/motioncraft/references/assets-and-licensing.md +21 -0
  491. package/skills/motioncraft/references/customization.md +52 -0
  492. package/skills/motioncraft/references/gpu-cloud-render.md +15 -0
  493. package/skills/motioncraft/references/music.md +43 -0
  494. package/skills/motioncraft/references/phase1-planning-and-preview.md +74 -0
  495. package/skills/motioncraft/references/phase2-timeline-audio.md +33 -0
  496. package/skills/motioncraft/references/phase3-pixel-review.md +13 -0
  497. package/skills/motioncraft/references/phase4-templates.md +30 -0
  498. package/skills/motioncraft/references/preflight.md +27 -0
  499. package/skills/motioncraft/references/qa.md +53 -0
  500. package/skills/motioncraft/references/reference-analysis.md +37 -0
  501. package/skills/narrator-ai-cli/SKILL.md +256 -0
  502. package/skills/narrator-ai-cli/references/magic-video.md +205 -0
  503. package/skills/narrator-ai-cli/references/operations.md +230 -0
  504. package/skills/narrator-ai-cli/references/resources.md +126 -0
  505. package/skills/narrator-ai-cli/references/workflows.md +332 -0
  506. package/skills/newcut-video-clipping/SKILL.md +194 -0
  507. package/skills/newcut-video-clipping/references/examples.md +59 -0
  508. package/skills/newcut-video-clipping/references/provider-config.md +110 -0
  509. package/skills/newcut-video-clipping/references/quality-check.md +35 -0
  510. package/skills/newcut-video-clipping/references/semantic-plan.md +65 -0
  511. package/skills/notes-to-video/SKILL.md +476 -0
  512. package/skills/openchatcut/SKILL.md +100 -0
  513. package/skills/openchatcut/references/editing-workflow.md +54 -0
  514. package/skills/openchatcut/references/getting-started.md +106 -0
  515. package/skills/openchatcut/references/known-errors.md +62 -0
  516. package/skills/openstoryline-install/SKILL.md +228 -0
  517. package/skills/orca-motion/SKILL.md +100 -0
  518. package/skills/orca-motion/references/api.md +100 -0
  519. package/skills/orca-motion/references/integration.md +59 -0
  520. package/skills/orca-motion/references/kinetic-type.md +59 -0
  521. package/skills/orca-motion/references/principles.md +76 -0
  522. package/skills/package-talking-head-video/SKILL.md +90 -0
  523. package/skills/package-talking-head-video/docs/EXAMPLES.md +18 -0
  524. package/skills/package-talking-head-video/docs/TROUBLESHOOTING.md +29 -0
  525. package/skills/package-talking-head-video/docs/USAGE.md +83 -0
  526. package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-multicolor-center-speaker.md +144 -0
  527. package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-semantic-template-system-v2.md +1099 -0
  528. package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-multicolor-center-speaker-design.md +154 -0
  529. package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-semantic-template-system-v2-design.md +365 -0
  530. package/skills/package-talking-head-video/examples/auto-editing-0/GATE_A.md +56 -0
  531. package/skills/package-talking-head-video/examples/auto-editing-0/GATE_D.md +8 -0
  532. package/skills/package-talking-head-video/examples/auto-editing-0/QA_REPORT.md +34 -0
  533. package/skills/package-talking-head-video/references/director-rules.md +29 -0
  534. package/skills/package-talking-head-video/references/motion-and-illustration.md +25 -0
  535. package/skills/paper-cut/SKILL.md +164 -0
  536. package/skills/paper-cut/references/asset-spec.md +47 -0
  537. package/skills/paper-cut/references/audio-and-chatcut.md +26 -0
  538. package/skills/paper-cut/references/hyperframes-assembly.md +47 -0
  539. package/skills/paper-cut/references/image-led-production.md +65 -0
  540. package/skills/paper-cut/references/storyboard-schema.md +48 -0
  541. package/skills/paper-cut/references/workflow.md +39 -0
  542. package/skills/personal-ip-brand-intro/SKILL.md +216 -0
  543. package/skills/personal-ip-brand-intro/references/intake-schema.md +79 -0
  544. package/skills/personal-ip-brand-intro/references/music-upload-workflow.md +40 -0
  545. package/skills/personal-ip-brand-intro/references/originality-rules.md +42 -0
  546. package/skills/personal-ip-brand-intro/references/qa-checklist.md +60 -0
  547. package/skills/personal-ip-brand-intro/references/rhythm-routing.md +41 -0
  548. package/skills/personal-ip-brand-intro/references/storyboard-contract.md +42 -0
  549. package/skills/pixel2motion/SKILL.md +279 -0
  550. package/skills/pixel2motion/references/html-delivery-template.md +42 -0
  551. package/skills/pixel2motion/references/motion-personality.md +109 -0
  552. package/skills/pixel2motion/references/reveal-patterns.md +163 -0
  553. package/skills/pixel2motion/references/ribbon-fitting.md +90 -0
  554. package/skills/pixel2motion/references/twelve-principles-for-logos.md +116 -0
  555. package/skills/premiere-batch-delivery/SKILL.md +71 -0
  556. package/skills/premiere-pro-mcp/SKILL.md +161 -0
  557. package/skills/promo-creator-skills/SKILL.md +209 -0
  558. package/skills/promo-creator-skills/references/mureka_prompt_guide.md +251 -0
  559. package/skills/promo-creator-skills/references/product_promo_bgm_prompting.md +100 -0
  560. package/skills/promo-video/SKILL.md +408 -0
  561. package/skills/qisi-video-remix/SKILL.md +134 -0
  562. package/skills/qisi-video-remix/examples/creative-plan.md +133 -0
  563. package/skills/qisi-video-remix/references/delivery-guide.md +63 -0
  564. package/skills/reel-video/SKILL.md +237 -0
  565. package/skills/remotion-ad-video/SKILL.md +252 -0
  566. package/skills/remotion-ad-video/references/ad-aesthetic-qa.md +60 -0
  567. package/skills/remotion-ad-video/references/ad-brief-contract.md +235 -0
  568. package/skills/remotion-ad-video/references/ad-exemplars.md +186 -0
  569. package/skills/remotion-ad-video/references/ad-intake.md +54 -0
  570. package/skills/remotion-ad-video/references/asset-harvest.md +56 -0
  571. package/skills/remotion-ad-video/references/audio-caption-system.md +202 -0
  572. package/skills/remotion-ad-video/references/concept-contract.md +128 -0
  573. package/skills/remotion-ad-video/references/creative-direction.md +146 -0
  574. package/skills/remotion-ad-video/references/fast-test-workflow.md +86 -0
  575. package/skills/remotion-ad-video/references/game-ad-patterns.md +75 -0
  576. package/skills/remotion-ad-video/references/hyperframes-output.md +90 -0
  577. package/skills/remotion-ad-video/references/industry-angle-library.md +71 -0
  578. package/skills/remotion-ads/SKILL.md +278 -0
  579. package/skills/remotion-ads/references/ad-copywriting.md +229 -0
  580. package/skills/remotion-ads/references/animations.md +693 -0
  581. package/skills/remotion-ads/references/brand-config-template.md +355 -0
  582. package/skills/remotion-ads/references/captions.md +529 -0
  583. package/skills/remotion-ads/references/carousels.md +580 -0
  584. package/skills/remotion-ads/references/components.md +897 -0
  585. package/skills/remotion-ads/references/copy-frameworks.md +144 -0
  586. package/skills/remotion-ads/references/formats.md +436 -0
  587. package/skills/remotion-ads/references/gemini-tts.md +473 -0
  588. package/skills/remotion-ads/references/html-in-canvas.md +555 -0
  589. package/skills/remotion-ads/references/local-assets.md +543 -0
  590. package/skills/remotion-ads/references/music.md +656 -0
  591. package/skills/remotion-code-motion-explainer/SKILL.md +178 -0
  592. package/skills/remotion-code-motion-explainer/references/code-motion-design.md +86 -0
  593. package/skills/remotion-code-motion-explainer/references/motion-production-patterns.md +93 -0
  594. package/skills/remotion-code-motion-explainer/references/production-and-qc.md +99 -0
  595. package/skills/remotion-code-motion-explainer/references/reference-reconstruction.md +48 -0
  596. package/skills/remotion-code-motion-explainer/references/ui-motion-shot-library.md +62 -0
  597. package/skills/remotion-motion-graphics/SKILL.md +169 -0
  598. package/skills/remotion-motion-graphics/references/patterns.md +355 -0
  599. package/skills/remotion-motion-graphics/references/polish.md +102 -0
  600. package/skills/remotion-motion-graphics/references/scaffold.md +144 -0
  601. package/skills/remotion-motion-graphics/references/traps.md +152 -0
  602. package/skills/remotion-resemble-ai/SKILL.md +879 -0
  603. package/skills/remotion-resemble-ai/rules/resemble-captions.md +350 -0
  604. package/skills/remotion-resemble-ai/rules/resemble-remotion-integration.md +305 -0
  605. package/skills/remotion-resemble-ai/rules/resemble-setup.md +284 -0
  606. package/skills/remotion-resemble-ai/rules/resemble-streaming-tts.md +225 -0
  607. package/skills/remotion-resemble-ai/rules/resemble-sync-tts.md +239 -0
  608. package/skills/remotion-resemble-ai/rules/resemble-voices.md +213 -0
  609. package/skills/remotion-resemble-ai/rules/visual-animations.md +567 -0
  610. package/skills/riffkit/SKILL.md +196 -0
  611. package/skills/riffkit/examples/any-look-styles.md +11 -0
  612. package/skills/riffkit/examples/faceless-and-auto.md +16 -0
  613. package/skills/riffkit/examples/localize-spanish.md +18 -0
  614. package/skills/riffkit/examples/tiktok-shop-product.md +22 -0
  615. package/skills/riffkit/references/anchor.md +62 -0
  616. package/skills/riffkit/references/api.md +806 -0
  617. package/skills/riffkit/references/details.md +153 -0
  618. package/skills/riffkit/references/errors.md +69 -0
  619. package/skills/riffkit/references/intents.md +29 -0
  620. package/skills/saas-motion-video/SKILL.md +71 -0
  621. package/skills/script-to-video/SKILL.md +2627 -0
  622. package/skills/shorts/SKILL.md +372 -0
  623. package/skills/shorts/references/caption-styles.md +105 -0
  624. package/skills/shorts/references/platform-specs.md +149 -0
  625. package/skills/shorts/references/remotion-patterns.md +180 -0
  626. package/skills/shorts/references/scoring-rubric.md +106 -0
  627. package/skills/smart-video-editor/SKILL.md +327 -0
  628. package/skills/smart-video-editor/docs/FONTS.md +57 -0
  629. package/skills/story-telling/SKILL.md +222 -0
  630. package/skills/story-telling/rules/composition.md +130 -0
  631. package/skills/story-telling/rules/images.md +119 -0
  632. package/skills/story-telling/rules/models.md +98 -0
  633. package/skills/story-telling/rules/narration.md +87 -0
  634. package/skills/story-telling/rules/pitfalls.md +140 -0
  635. package/skills/story-telling/rules/story-formats.md +108 -0
  636. package/skills/story-telling/rules/story-json.md +143 -0
  637. package/skills/story-telling/rules/voices.md +114 -0
  638. package/skills/story-telling/rules/workflow.md +105 -0
  639. package/skills/story-to-handdrawn-video/SKILL.md +216 -0
  640. package/skills/story-to-handdrawn-video/references/asset-workflow.md +24 -0
  641. package/skills/story-to-handdrawn-video/references/reference-style-workflow.md +27 -0
  642. package/skills/su-card-to-video/SKILL.md +103 -0
  643. package/skills/talking-head-video-pipeline/SKILL.md +224 -0
  644. package/skills/talking-head-video-pipeline/examples/prompts.md +217 -0
  645. package/skills/talking-head-video-pipeline/references/asr-adapters.md +51 -0
  646. package/skills/talking-head-video-pipeline/references/caption-workflow.md +53 -0
  647. package/skills/talking-head-video-pipeline/references/export-recipes.md +78 -0
  648. package/skills/talking-head-video-pipeline/references/layout-safety.md +49 -0
  649. package/skills/talking-head-video-pipeline/references/video-use-integration.md +71 -0
  650. package/skills/talking-head-video-pipeline/references/workflows/captions.md +52 -0
  651. package/skills/talking-head-video-pipeline/references/workflows/design.md +77 -0
  652. package/skills/talking-head-video-pipeline/references/workflows/doctor.md +51 -0
  653. package/skills/talking-head-video-pipeline/references/workflows/export.md +50 -0
  654. package/skills/talking-head-video-pipeline/references/workflows/init.md +51 -0
  655. package/skills/talking-head-video-pipeline/references/workflows/learn.md +36 -0
  656. package/skills/text-to-lottie/SKILL.md +202 -0
  657. package/skills/text-to-lottie/references/chapterization-transition-grammar.md +132 -0
  658. package/skills/text-to-lottie/references/design-taste.md +292 -0
  659. package/skills/text-to-lottie/references/lottie-spec-map.md +82 -0
  660. package/skills/text-to-lottie/references/motion-taste.md +260 -0
  661. package/skills/text-to-lottie/references/player-contract.md +325 -0
  662. package/skills/text-to-lottie/references/recipe-camera-scene-motion.md +65 -0
  663. package/skills/text-to-lottie/references/recipe-data-stats.md +104 -0
  664. package/skills/text-to-lottie/references/recipe-diagram-technical.md +106 -0
  665. package/skills/text-to-lottie/references/recipe-loaders-icons.md +70 -0
  666. package/skills/text-to-lottie/references/recipe-logo.md +72 -0
  667. package/skills/text-to-lottie/references/recipe-lower-thirds.md +62 -0
  668. package/skills/text-to-lottie/references/recipe-product-promo.md +99 -0
  669. package/skills/ultrademo/SKILL.md +212 -0
  670. package/skills/video-assemble/SKILL.md +101 -0
  671. package/skills/video-assemble-zenstory-ai/SKILL.md +153 -0
  672. package/skills/video-assemble-zenstory-ai/references/audio-modes.md +63 -0
  673. package/skills/video-assemble-zenstory-ai/references/explicit-audio-mix.md +77 -0
  674. package/skills/video-assemble-zenstory-ai/references/jianying/SOURCE.md +14 -0
  675. package/skills/video-assemble-zenstory-ai/references/narration-adoption.md +103 -0
  676. package/skills/video-assemble-zenstory-ai/references/packaging.md +44 -0
  677. package/skills/video-assemble-zenstory-ai/references/source-score.md +146 -0
  678. package/skills/video-assemble-zenstory-ai/references/subtitle-track.md +202 -0
  679. package/skills/video-editing/SKILL.md +688 -0
  680. package/skills/video-explainer/SKILL.md +163 -0
  681. package/skills/video-explainer/references/brief-to-script.md +56 -0
  682. package/skills/video-explainer/references/errors-and-privacy.md +18 -0
  683. package/skills/video-explainer/references/motion-storyboard.md +82 -0
  684. package/skills/video-explainer/references/render-and-verify.md +62 -0
  685. package/skills/video-explainer/references/review-gate.md +82 -0
  686. package/skills/video-explainer/references/setup-and-doctor.md +33 -0
  687. package/skills/video-script-builder/SKILL.md +329 -0
  688. package/skills/video-script-builder/examples/quick-start-transcript.md +19 -0
  689. package/skills/video-script-builder/references/audio-workflow.md +84 -0
  690. package/skills/video-script-builder/references/caption-components.md +70 -0
  691. package/skills/video-script-builder/references/common-pitfalls.md +80 -0
  692. package/skills/video-script-builder/references/component-catalog.md +197 -0
  693. package/skills/video-script-builder/references/component-recipes.md +165 -0
  694. package/skills/video-script-builder/references/gsap-patterns.md +112 -0
  695. package/skills/video-script-builder/references/pacing-rules.md +78 -0
  696. package/skills/video-script-builder/references/quality-checklist.md +98 -0
  697. package/skills/video-script-builder/references/remotion-patterns.md +211 -0
  698. package/skills/video-script-builder/references/shader-transitions.md +115 -0
  699. package/skills/video-script-builder/references/taste-principles.md +160 -0
  700. package/skills/video-scrub/SKILL.md +216 -0
  701. package/skills/video-scrub/references/profiles.md +89 -0
  702. package/skills/video-scrub/references/residue-map.md +204 -0
  703. package/skills/video-short-maker/SKILL.md +182 -0
  704. package/skills/video-shot-analysis-feishu/SKILL.md +173 -0
  705. package/skills/video-shotcraft/SKILL.md +267 -0
  706. package/skills/video-shotcraft/docs/deepseek-harness.md +69 -0
  707. package/skills/video-shotcraft/references/aesthetic-rules.md +177 -0
  708. package/skills/video-shotcraft/references/final-review.md +112 -0
  709. package/skills/video-shotcraft/references/guided-free-creation.md +199 -0
  710. package/skills/video-shotcraft/references/jianying-export.md +182 -0
  711. package/skills/video-shotcraft/references/music-beat-sync.md +219 -0
  712. package/skills/video-shotcraft/references/pipeline.md +390 -0
  713. package/skills/video-shotcraft/references/sequences/promo-energy-arc.md +50 -0
  714. package/skills/video-shotcraft/references/shots/ATTRIBUTION.md +65 -0
  715. package/skills/video-shotcraft/references/shots/camera/basic-3d-scene.md +37 -0
  716. package/skills/video-shotcraft/references/shots/camera/crash-zoom-punch.md +39 -0
  717. package/skills/video-shotcraft/references/shots/camera/cursor-flyover.md +38 -0
  718. package/skills/video-shotcraft-vincentwei10/SKILL.md +316 -0
  719. package/skills/video-shotcraft-vincentwei10/references/aesthetic-rules.md +187 -0
  720. package/skills/video-shotcraft-vincentwei10/references/final-review.md +116 -0
  721. package/skills/video-shotcraft-vincentwei10/references/guided-free-creation.md +199 -0
  722. package/skills/video-shotcraft-vincentwei10/references/jianying-export.md +183 -0
  723. package/skills/video-shotcraft-vincentwei10/references/music-beat-sync.md +257 -0
  724. package/skills/video-shotcraft-vincentwei10/references/pipeline.md +401 -0
  725. package/skills/video-shotcraft-vincentwei10/references/publish-upload-post.md +111 -0
  726. package/skills/video-shotcraft-vincentwei10/references/sequences/promo-energy-arc.md +50 -0
  727. package/skills/video-shotcraft-vincentwei10/references/shots/ATTRIBUTION.md +62 -0
  728. package/skills/video-shotcraft-vincentwei10/references/shots/camera/basic-3d-scene.md +41 -0
  729. package/skills/video-shotcraft-vincentwei10/references/shots/camera/crash-zoom-punch.md +52 -0
  730. package/skills/video-shotcraft-vincentwei10/references/shots/camera/cursor-flyover.md +39 -0
  731. package/skills/video-structure-analyzer/SKILL.md +148 -0
  732. 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
  733. 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
  734. package/skills/video-toolkit/SKILL.md +686 -0
  735. package/skills/videocut/SKILL.md +159 -0
  736. package/skills/videodb/SKILL.md +497 -0
  737. package/skills/videodb/reference/api-reference.md +741 -0
  738. package/skills/videodb/reference/capture-reference.md +399 -0
  739. package/skills/videodb/reference/capture.md +110 -0
  740. package/skills/videodb/reference/editor-reference.md +506 -0
  741. package/skills/videodb/reference/editor.md +389 -0
  742. package/skills/videodb/reference/generative.md +344 -0
  743. package/skills/videodb/reference/indexing-reference.md +481 -0
  744. package/skills/videodb/reference/indexing.md +537 -0
  745. package/skills/videodb/reference/legacy/index-reference.md +223 -0
  746. package/skills/videodb/reference/legacy/index.md +241 -0
  747. package/skills/videodb/reference/legacy/search.md +249 -0
  748. package/skills/videodb/reference/migration.md +113 -0
  749. package/skills/vlog-auto-edit/SKILL.md +982 -0
  750. package/skills/vlog-auto-edit/examples/project_structure.md +84 -0
  751. package/skills/vox-animated-ad-mcp/SKILL.md +419 -0
  752. package/skills/vox-director/SKILL.md +351 -0
  753. package/skills/vox-director/references/beat-layer.md +143 -0
  754. package/skills/vox-director/references/host-mode.md +120 -0
  755. package/skills/vox-director/references/local-engine.md +73 -0
  756. package/skills/vox-director/references/models-and-gotchas.md +91 -0
  757. package/skills/vox-director/references/prompt-guide.md +275 -0
  758. package/skills/vox-director/references/voices.md +59 -0
  759. package/skills/xingchen-vox-collage/SKILL.md +251 -0
  760. package/skills/xingchen-vox-collage/references/asset-layer-contract.md +98 -0
  761. package/skills/xingchen-vox-collage/references/creative-exploration.md +19 -0
  762. package/skills/xingchen-vox-collage/references/learned-branches.md +34 -0
  763. package/skills/xingchen-vox-collage/references/remotion-scene-contract.md +77 -0
  764. package/skills/xingchen-vox-collage/references/visual-language.md +74 -0
  765. package/skills/xingchen-vox-collage/references/visual-qa.md +59 -0
  766. package/skills/youtube/SKILL.md +147 -0
  767. package/skills/youtube/references/algorithm-guide.md +59 -0
  768. package/skills/youtube/references/analytics-benchmarks.md +67 -0
  769. package/skills/youtube/references/dataforseo-integration.md +51 -0
  770. package/skills/youtube/references/monetization-guide.md +62 -0
  771. package/skills/youtube/references/repurposing-guide.md +54 -0
  772. package/skills/youtube/references/retention-scripting-guide.md +75 -0
  773. package/skills/youtube/references/seo-playbook.md +77 -0
  774. package/skills/youtube/references/shorts-playbook.md +64 -0
  775. package/skills/youtube/references/thumbnail-ctr-guide.md +73 -0
  776. package/skills/youtube-shorts-factory/SKILL.md +358 -0
  777. package/skills/youtube-shorts-factory/resources/adaptation-guide.md +133 -0
  778. package/skills/youtube-shorts-factory/resources/storyboard-template.md +271 -0
  779. package/skills/youtube-shorts-factory/resources/workflow-steps.md +139 -0
  780. package/studio/client.mjs +3 -3
  781. package/studio/server/server.mjs +31 -3
  782. package/studio/ui/dist/assets/ExportCenter-DEyy1vs_.js +1 -0
  783. package/studio/ui/dist/assets/SettingsModal-CQmsA2A2.js +2 -0
  784. package/studio/ui/dist/assets/apple-touch-icon-ClxQ7j-O.png +0 -0
  785. package/studio/ui/dist/assets/{es-BRUzvuoM.js → es-AqUfIkAy.js} +1 -1
  786. package/studio/ui/dist/assets/favicon-Blwx8Trs.png +0 -0
  787. package/studio/ui/dist/assets/index-C7moXjTY.css +1 -0
  788. package/studio/ui/dist/assets/index-DdU5QNpY.js +1623 -0
  789. package/studio/ui/dist/assets/{ja-Cth-uDcW.js → ja-YwiCB4QQ.js} +1 -1
  790. package/studio/ui/dist/assets/{ko-upvw591D.js → ko-CKtBPDze.js} +1 -1
  791. package/studio/ui/dist/assets/{zh-CN-BCfJFazB.js → zh-CN-DtNEwKWJ.js} +1 -1
  792. package/studio/ui/dist/index.html +4 -3
  793. package/studio/ui/dist/assets/ExportCenter-F-2vF-lQ.js +0 -1
  794. package/studio/ui/dist/assets/SettingsModal-BgVYguNu.js +0 -2
  795. package/studio/ui/dist/assets/index-Bhg-9dA3.css +0 -1
  796. package/studio/ui/dist/assets/index-CWur1Iw9.js +0 -1625
@@ -0,0 +1,537 @@
1
+ # Understanding & Indexing Guide (v2)
2
+
3
+ Turn a video into structured, retrievable data in three stages: **understand → index → retrieve**.
4
+
5
+ For code-level details (signatures, class properties, validation errors), see [indexing-reference.md](indexing-reference.md). For retrieval, see [search.md](search.md). For the v1 scene-index API, see [legacy/index.md](legacy/index.md) and [migration.md](migration.md).
6
+
7
+ Requires `videodb>=0.5.0`.
8
+
9
+ Runnable notebooks covering every analyzer, segmentation and sampling, multi-analyzer pipelines, and custom indexes live in the [indexing-v2 cookbook](https://github.com/video-db/videodb-cookbook/tree/preview/guides/indexing-v2).
10
+
11
+ ## Contents
12
+
13
+ - The three stages
14
+ - Minimal end-to-end
15
+ - Stage 1: Understanding (analyzers, segmentation, sampling, VLM config, structured output, chaining)
16
+ - Stage 2: Indexing (source forms, use_for, fields, build status)
17
+ - Index names across a collection
18
+ - Inspecting an index
19
+ - Managing runs and indexes
20
+ - Scope: video vs collection
21
+ - Cost and latency (frame count, interval, model tier)
22
+ - Gotchas
23
+
24
+ ## The three stages
25
+
26
+ | Stage | Call | Produces | Async? |
27
+ |-------|------|----------|--------|
28
+ | 1. Understand | `video.understand(analyzers=[...])` | `Understanding` holding one **artifact** per analyzer | yes — `wait_until_complete()` |
29
+ | 2. Index | `video.index(source=analyzer)` | `Index` (retrievable) | validation sync, embedding async |
30
+ | 3. Retrieve | `search` / `ask` / `semantic_search` / `query` / `aggregate` | shots, answers, rows | sync |
31
+
32
+ An **analyzer** extracts one kind of signal. Its output is an **artifact**. Indexing an artifact declares what you can do with it later. Understanding and indexing are separate, so one artifact can back several indexes with different capabilities.
33
+
34
+ ---
35
+
36
+ ## Minimal end-to-end
37
+
38
+ ```python
39
+ import time
40
+
41
+ import videodb
42
+
43
+ conn = videodb.connect()
44
+ coll = conn.get_collection()
45
+ video = coll.get_video("your-video-id")
46
+
47
+ understanding = video.understand(
48
+ analyzers=[
49
+ {"type": "spoken_words", "name": "transcript"},
50
+ {"type": "vlm", "name": "scene",
51
+ "config": {"prompt": "Describe the scene and any on-screen text."}},
52
+ ],
53
+ segmentation={"type": "shot", "threshold": 30},
54
+ )
55
+
56
+ # A `partial` run is not terminal to the SDK — poll the analyzers, not the run.
57
+ # `analyzers and` is load-bearing: a refresh can transiently return an empty
58
+ # list, and all([]) is True, which would exit while the run is still going.
59
+ deadline = time.time() + 3600
60
+ while time.time() < deadline:
61
+ analyzers = understanding.refresh().list_analyzers()
62
+ if analyzers and all(a.is_complete for a in analyzers):
63
+ break
64
+ time.sleep(15)
65
+
66
+ for analyzer in understanding.list_analyzers():
67
+ if not analyzer.is_successful:
68
+ continue
69
+ video.index(source=analyzer, name=analyzer.name).wait_until_complete()
70
+
71
+ response = video.search("discussion about pricing")
72
+ for shot in response.shots:
73
+ print(f"[{shot.start:.1f}s - {shot.end:.1f}s] {shot.text}")
74
+ if response.response_type in ("shots", "deepsearch") and len(response):
75
+ print(response.compile())
76
+ ```
77
+
78
+ **Name your analyzers.** Index names default correctly either way — omit `name` on `index()` and the server derives `transcript`, `scene`, `objects` from the artifact type. The trap is passing `name=analyzer.name` for an analyzer you never named: the server assigns *analyzer* names like `vlm-3f2a91bc`, so that call creates an index called `vlm-3f2a91bc`, breaking `index_names=["scene"]` downstream. Naming the analyzer is also what makes `understanding.get_analyzer("scene")` resolve; without it that call raises `ValueError`.
79
+
80
+ So: either name every analyzer (as above), or call `video.index(source=analyzer)` with no `name=` and take the derived default. Do not mix the two.
81
+
82
+ ---
83
+
84
+ ## Stage 1: Understanding
85
+
86
+ ### Analyzers
87
+
88
+ Each analyzer produces one artifact. Give every analyzer an explicit `name` — the conventional choice is the artifact name for its type:
89
+
90
+ | `type` | Artifact name | Fields it emits |
91
+ |--------|---------------|-----------------|
92
+ | `spoken_words` | `transcript` | `text`, `chunks`, `words`, `language`, `speaker` |
93
+ | `vlm` | `scene` | `scene_description`, `action`, `activity`, `location`, `setting`, `shot_type`, `emotion`, `topic`, `song_detection`, `character_description`, `object_description`, `brand_names`, `outputs`, `full_text` |
94
+ | `object_detection` | `objects` | `summary`, `frames`, `detections`, `objects` |
95
+ | `ocr` | `ocr` | `combined_text`, `text`, `words`, `language` |
96
+ | `brand_detection` | `brands` | `brand_names`, `brands`, `summary`, `detections` |
97
+ | `activity_recognition` | `activity` | `labels`, `activity`, `actions`, `detections` |
98
+ | `location_detection` | `location` | `location_type`, `setting`, `time_of_day`, `location` |
99
+ | `faces` | `faces` | `identities`, `detections`, `faces` |
100
+ | `audio_event_detection` | `audio_events` | `events`, `labels`, `audio_events` |
101
+
102
+ Those field names are what you reference in `fields` at index time and in `filter` at search time.
103
+
104
+ Analyzer types are plain strings — there is no SDK enum. Do not write `from videodb import AnalyzerType`.
105
+
106
+ These artifact names are what an index defaults to when you call `video.index(source=analyzer)` without a `name`. They are **not** what `analyzer.name` returns: an analyzer you didn't name gets a generated `{type}-{random}` value like `vlm-3f2a91bc`, which is also why `get_analyzer("scene")` would raise `ValueError`. Naming each analyzer keeps the two aligned.
107
+
108
+ ### Segmentation
109
+
110
+ Run-level. Controls how the video is cut into timestamped scenes that analyzers operate on.
111
+
112
+ ```python
113
+ video.understand(
114
+ segmentation={"type": "time", "seconds": 5}, # fixed-length scenes
115
+ analyzers=[{"type": "vlm"}],
116
+ )
117
+
118
+ video.understand(
119
+ # cut-based scenes; min_scene_len keeps very short cuts from becoming their own scene
120
+ segmentation={"type": "shot", "threshold": 30, "min_scene_len": 15},
121
+ analyzers=[{"type": "vlm"}],
122
+ )
123
+ ```
124
+
125
+ | Type | Keys | Use when |
126
+ |------|------|----------|
127
+ | `time` | `seconds` | Continuous or static footage, predictable cost, uniform sampling |
128
+ | `shot` | `threshold`, optional `min_scene_len` | Edited content where cuts are meaningful boundaries |
129
+
130
+ Segmentation is shared by every analyzer in the run.
131
+
132
+ > **Two spellings exist for the time window.** `seconds` (an integer) is what the official cookbook uses for the video pipeline; `window` (a string with a unit, e.g. `"5s"`) appears in the RTStream API and in parts of the server. If `seconds` appears to be ignored, try `{"type": "time", "window": "5s"}`.
133
+
134
+ ### Sampling
135
+
136
+ Per-analyzer. Controls which frames within each scene reach the model.
137
+
138
+ ```python
139
+ {"type": "vlm", "sampling": {"strategy": "uniform", "frame_count": 8}} # N frames per scene
140
+ {"type": "object_detection", "sampling": {"strategy": "interval", "every": 1}} # one frame per second
141
+ ```
142
+
143
+ ### Transform
144
+
145
+ Run-level preprocessing. Lower resolution costs less and runs faster.
146
+
147
+ ```python
148
+ video.understand(transform={"resolution": "480p"}, analyzers=[...])
149
+ ```
150
+
151
+ ### VLM configuration
152
+
153
+ ```python
154
+ {
155
+ "type": "vlm",
156
+ "name": "scene",
157
+ "config": {
158
+ "model": "pro",
159
+ "prompt": "Describe the scene, the setting, and any visible text.",
160
+ },
161
+ }
162
+ ```
163
+
164
+ Managed model aliases, cheapest to most capable:
165
+
166
+ | Alias | Use when |
167
+ |-------|----------|
168
+ | `mini` | Lowest-cost lightweight analysis |
169
+ | `basic` | Routine extraction and descriptions |
170
+ | `pro` | Balanced default |
171
+ | `ultra` | Highest-quality complex reasoning |
172
+
173
+ You can also name a provider model directly, e.g. `"google/gemini-2.5-flash"` or a supported `openai/...` model. Managed models do not take `sandbox_id`; self-hosted ones do.
174
+
175
+ `config` is forwarded to the server untyped, so a misspelled tier fails server-side rather than at the call.
176
+
177
+ ### Structured output
178
+
179
+ Give the VLM a `schema` to get typed fields instead of prose. This is what makes `query()` and `aggregate()` useful downstream — you can only filter and count on real fields.
180
+
181
+ Simple form — a type name per field:
182
+
183
+ ```python
184
+ "schema": {
185
+ "scene_description": "text", # prose, embedded for semantic search
186
+ "activity": "string", # short label, good for filter/aggregate
187
+ "visible_objects": ["string"], # array shorthand
188
+ "confidence": {"type": "number", "min": 0, "max": 1},
189
+ }
190
+ ```
191
+
192
+ Richer form — enums, nested objects, and arrays of objects. Enums are worth the effort: a constrained vocabulary makes `aggregate(group_by=...)` produce clean buckets instead of free-text noise.
193
+
194
+ ```python
195
+ "schema": {
196
+ "scene_description": "text",
197
+ "activity": {
198
+ "type": "enum",
199
+ "values": ["conversation", "using_device", "walking", "object_interaction", "other"],
200
+ },
201
+ "setting": {
202
+ "type": "object",
203
+ "fields": {
204
+ "location_type": {"type": "enum", "values": ["office", "home", "outdoor", "vehicle"]},
205
+ "environment": {"type": "enum", "values": ["indoor", "outdoor", "unknown"]},
206
+ },
207
+ },
208
+ "object_descriptions": {
209
+ "type": "array",
210
+ "min_items": 0,
211
+ "max_items": 4,
212
+ "items": {"name": "string", "description": "string"},
213
+ },
214
+ }
215
+ ```
216
+
217
+ A field can be made optional and self-describing: `{"type": "string", "required": False, "description": "Visible setting, if identifiable."}`.
218
+
219
+ Two further `config` keys control how the schema is enforced:
220
+
221
+ | Key | Values | Purpose |
222
+ |-----|--------|---------|
223
+ | `schema_mode` | `auto` (default), `native_required`, `prompt_only` | Whether to use the provider's native structured output, require it, or fall back to prompting |
224
+ | `schema_max_retries` | int | Retries when the model returns output that doesn't satisfy the schema |
225
+
226
+ Nested schema fields are addressed downstream with dotted paths — `setting.location_type`, `object_descriptions.description` — in `fields`, in `filter`, and in `index_names`.
227
+
228
+ ### Chaining analyzers
229
+
230
+ An analyzer can read earlier artifacts through `inputs`, and interpolate them into its prompt with `{{inputs.<name>}}`. Order in the list does not matter; `inputs` declares the dependency.
231
+
232
+ ```python
233
+ understanding = video.understand(
234
+ segmentation={"type": "shot", "threshold": 30},
235
+ analyzers=[
236
+ {"type": "object_detection", "name": "objects",
237
+ "sampling": {"strategy": "interval", "every": 1}},
238
+ {"type": "spoken_words", "name": "transcript"},
239
+ {
240
+ "type": "vlm",
241
+ "name": "scene",
242
+ "inputs": ["objects", "transcript"],
243
+ "sampling": {"strategy": "uniform", "frame_count": 8},
244
+ "config": {
245
+ "prompt": (
246
+ "Describe the scene using the frames as primary evidence.\n\n"
247
+ "Spoken words:\n{{inputs.transcript}}\n\n"
248
+ "Detected objects:\n{{inputs.objects}}"
249
+ ),
250
+ },
251
+ },
252
+ ],
253
+ )
254
+ ```
255
+
256
+ ### Waiting
257
+
258
+ ```python
259
+ understanding.wait_until_complete(timeout=1800, poll_interval=10) # raises TimeoutError
260
+ ```
261
+
262
+ Or pass `callback_url` to `understand()` and skip polling entirely.
263
+
264
+ > **A mixed run never satisfies `wait_until_complete()`.** Run statuses are `queued`, `running`, `done`, `partial`, `failed`. A run reports `done` only when *every* analyzer succeeded; if one fails or is skipped the run ends `partial` — and the SDK's terminal set is only `{done, failed}`, so polling continues until it raises `TimeoutError`. When some analyzers may legitimately fail, either use a short timeout and catch it, or poll the analyzers directly:
265
+
266
+ ```python
267
+ import time
268
+
269
+ deadline = time.time() + 1800
270
+ while time.time() < deadline:
271
+ understanding.refresh()
272
+ if all(a.is_complete for a in understanding.list_analyzers()):
273
+ break
274
+ time.sleep(15)
275
+
276
+ for analyzer in understanding.list_analyzers():
277
+ print(analyzer.name, analyzer.status)
278
+ ```
279
+
280
+ ### Reading analyzer output
281
+
282
+ `get_output()` returns timestamped scenes. Each scene carries `start`, `end`, `scene_id`, and a `data` dict holding that analyzer's fields:
283
+
284
+ ```python
285
+ output = understanding.get_analyzer("scene").get_output()
286
+
287
+ # The payload is normally {"scenes": [...]} but can be a bare list — handle both.
288
+ scenes = output.get("scenes", output) if isinstance(output, dict) else output
289
+
290
+ for scene in scenes or []:
291
+ print(scene["start"], scene["end"], scene["data"])
292
+ ```
293
+
294
+ A transcript scene's `data` has `text`, `language`, `words`; a schema'd VLM scene's `data` has exactly the fields you declared. You do not need to read the output at all to index it — indexing by reference is cheaper — but it is the fastest way to see what an analyzer actually produced before you decide which fields to index.
295
+
296
+ ---
297
+
298
+ ## Stage 2: Indexing
299
+
300
+ ### Source forms
301
+
302
+ ```python
303
+ # 1. Analyzer object — preferred. Indexed by reference; scene data never leaves the server.
304
+ analyzer = understanding.get_analyzer("scene")
305
+ video.index(source=analyzer, name="scene")
306
+
307
+ # 2. That analyzer's output. Equivalent result, but the scenes round-trip through your process.
308
+ video.index(source=analyzer.get_output(), name="scene")
309
+
310
+ # 3. Reference dict, when you only have IDs.
311
+ video.index(name="scene", source={"understanding_id": "und_123", "analyzer_id": "an_456"})
312
+
313
+ # 4. Your own temporal records — no understanding run needed.
314
+ video.index(name="chapters", source=[
315
+ {"start": 0.0, "end": 12.4, "summary": "Opening credits.", "chapter_type": "intro"},
316
+ {"start": 12.4, "end": 98.0, "summary": "Product walkthrough.", "chapter_type": "demo"},
317
+ ])
318
+ ```
319
+
320
+ Forms 1 and 2 produce the same index. Prefer form 1 unless you already fetched the output for another reason.
321
+
322
+ Custom records require `start` and `end`; `scene_id` and `metadata` are optional and any other keys are indexable. Use this to bring third-party analysis into VideoDB search.
323
+
324
+ ### Capabilities (`use_for`)
325
+
326
+ ```python
327
+ video.index(source=analyzer, name="scene", use_for=["semantic", "query", "aggregate"])
328
+ ```
329
+
330
+ | Capability | Unlocks |
331
+ |-----------|---------|
332
+ | `semantic` | `semantic_search()`, and `search()` over this index |
333
+ | `query` | `query()` — exact filters |
334
+ | `aggregate` | `aggregate()` — counts, grouping, facets |
335
+
336
+ Omitting `use_for` defaults to all three, **and degrades gracefully**: if no scene holds embeddable top-level text, the index quietly drops `semantic` and keeps `query` + `aggregate`. Asking for `semantic` explicitly on the same artifact raises `use_for includes semantic but no scene has embeddable text` instead. Omitting is forgiving; requesting is strict.
337
+
338
+ The trigger is the data, not the analyzer type. Artifacts whose text lives only in nested structures — object detection stores its labels under `frames.detections` — commonly degrade, but one that also emits a top-level `summary` will keep `semantic`. Check `index.use_for` after creation to see what you actually got.
339
+
340
+ ### Field configuration
341
+
342
+ `fields` maps field groups to field names, and decides what is optimised for what. Unlisted fields are still stored and still returnable via `return_fields` — they just aren't searchable.
343
+
344
+ ```python
345
+ scene = understanding.get_analyzer("scene")
346
+
347
+ video.index(
348
+ source=scene,
349
+ name="scene",
350
+ use_for=["semantic", "query", "aggregate"],
351
+ fields={
352
+ "semantic": ["scene_description", "setting.location_type"],
353
+ "filter": ["activity", "setting.location_type", "setting.environment"],
354
+ "aggregate": ["activity", "setting.location_type"],
355
+ },
356
+ )
357
+ ```
358
+
359
+ Prose goes in `semantic`; enums and short labels go in `filter` and `aggregate`.
360
+
361
+ | Group | Purpose |
362
+ |-------|---------|
363
+ | `semantic` | Vector search |
364
+ | `filter` | `query()` conditions |
365
+ | `aggregate` | Grouping and faceting |
366
+ | `sort` | Result ordering |
367
+
368
+ Use dotted paths for nested data. When a path crosses a list, values are collected from **every** element:
369
+
370
+ ```python
371
+ objects = understanding.get_analyzer("objects")
372
+
373
+ video.index(
374
+ source=objects,
375
+ name="objects",
376
+ use_for=["query", "aggregate"],
377
+ fields={
378
+ "filter": ["frames.detections.label", "frames.detections.score"],
379
+ "aggregate": ["frames.detections.label"],
380
+ "sort": ["frames.detections.score"],
381
+ },
382
+ )
383
+ ```
384
+
385
+ ### Default field derivation
386
+
387
+ Omitted groups are derived from your data. Well-known names get product defaults:
388
+
389
+ | Field | Default groups |
390
+ |-------|----------------|
391
+ | `text` | `semantic`, `fts` |
392
+ | `combined_text` | `semantic`, `fts` |
393
+ | `scene_description` | `semantic` |
394
+ | `language`, `brand_names` | `filter`, `aggregate` |
395
+ | `activity`, `location` | `semantic`, `filter`, `aggregate` |
396
+ | `frames.detections.label` | `filter`, `aggregate` |
397
+ | `frames.detections.score` | `filter`, `sort` |
398
+
399
+ Everything else is classified by shape: booleans → `filter`+`aggregate`; numbers → `filter`+`aggregate`+`sort`; strings → `filter`+`aggregate`, plus `semantic` when the value reads as prose; string arrays → `filter`+`aggregate`; nested objects and lists of objects get **no** group and are retrievable only through `return_fields`.
400
+
401
+ Declaring a group wins verbatim. An explicit empty list opts out rather than triggering derivation:
402
+
403
+ ```python
404
+ fields={"semantic": ["scene_description"], "filter": []} # no filter fields at all
405
+ ```
406
+
407
+ `fts` (full-text) is applied automatically to `text` and `combined_text`, so transcripts and OCR are keyword-searchable without asking.
408
+
409
+ ### Build status
410
+
411
+ ```python
412
+ index.wait_until_complete(timeout=1800, poll_interval=10)
413
+
414
+ if index.is_successful:
415
+ print(index.record_count, index.fields)
416
+ else:
417
+ print(index.error)
418
+ ```
419
+
420
+ | Status | Meaning |
421
+ |--------|---------|
422
+ | `building` | Ingest in progress, then embedding. Immediately after `index()` returns there may be **no rows yet**; once the ingest lands, `query()` and `aggregate()` work while embeddings finish |
423
+ | `ready` | Fully operational, including semantic search |
424
+ | `failed` | Build failed — read `index.error` |
425
+
426
+ Do not treat `building` as "queryable" without checking. If you need results straight away, wait for `ready`.
427
+
428
+ Field and source validation happens **synchronously**, on the `index()` call itself. A bad field path fails immediately and the error lists the field names that do exist.
429
+
430
+ ---
431
+
432
+ ## Index names across a collection
433
+
434
+ An index name is a schema contract within a collection. Reuse the same name across videos and you can retrieve over all of them at once:
435
+
436
+ ```python
437
+ coll.semantic_search("a person holding a phone", index_names=["scene"])
438
+ coll.query(index_name="objects",
439
+ filter=[{"field": "frames.detections.label", "op": "contains", "value": "car"}])
440
+ coll.aggregate(index_name="brands", group_by="brand_names")
441
+ ```
442
+
443
+ Indexes sharing a name must have identical field structures — a mismatch fails at create time.
444
+
445
+ That cuts both ways. When you are iterating on a schema and do **not** want to fan out yet, give each run a unique name (`f"scene_{timestamp}"`) so a changed field layout doesn't collide with the previous attempt.
446
+
447
+ ---
448
+
449
+ ## Inspecting an index
450
+
451
+ ```python
452
+ index = video.get_index(name="scene")
453
+
454
+ for field, schema in index.field_schema.items():
455
+ print(field, schema.type, schema.groups, schema.operators)
456
+
457
+ page = index.records(limit=20)
458
+ for record in page.records:
459
+ print(record.start, record.end, record.data)
460
+ ```
461
+
462
+ Paginate with the cursor:
463
+
464
+ ```python
465
+ cursor = None
466
+ while True:
467
+ page = index.records(limit=100, cursor=cursor)
468
+ for record in page:
469
+ ...
470
+ cursor = page.next_cursor
471
+ if not cursor:
472
+ break
473
+ ```
474
+
475
+ `field_schema[...].operators` tells you which filter operators a field actually supports — use it instead of guessing.
476
+
477
+ ---
478
+
479
+ ## Managing runs and indexes
480
+
481
+ ```python
482
+ video.list_understandings()
483
+ video.get_understanding(understanding_id)
484
+ video.delete_understanding(understanding_id)
485
+
486
+ video.list_indexes() # all
487
+ video.list_indexes(use_for="semantic") # single string, not a list
488
+ video.get_index(name="scene")
489
+ video.get_index(index_id="idx_123")
490
+ video.delete_index(index_id)
491
+ index.delete()
492
+ ```
493
+
494
+ Deleting an index removes its retrieval structures only — the video and the stored artifacts survive.
495
+
496
+ ---
497
+
498
+ ## Scope: video vs collection
499
+
500
+ Creation is **video-scoped**. `Collection` has no `understand()` and no `index()`; it is the fan-out read scope, exposing `search`, `ask`, `semantic_search`, `query`, and `aggregate` over every indexed video in it.
501
+
502
+ For live streams, `RTStream` has its own `understand()` and `index()` — see [rtstream-reference.md](rtstream-reference.md).
503
+
504
+ ---
505
+
506
+ ## Cost and latency
507
+
508
+ Cost scales with the number of model calls, which is scenes × frames per scene.
509
+
510
+ | Lever | Cheaper | More thorough |
511
+ |-------|---------|---------------|
512
+ | Segmentation interval | 30–60s scenes | 5s scenes |
513
+ | Sampling | 1 frame per scene | 5–8 frames per scene |
514
+ | Model tier | `mini` / `basic` | `pro` / `ultra` |
515
+ | Transform | `{"resolution": "480p"}` | native resolution |
516
+
517
+ A 60s interval at 1 frame costs roughly a thirtieth of a 5s interval at 5 frames over the same video. Start coarse, tighten only where retrieval quality demands it. For long videos, pass `callback_url` instead of blocking on `wait_until_complete()`.
518
+
519
+ Prompt specificity matters more than frame count for retrieval quality. A prompt naming the dimensions you intend to search on ("count people, note clothing colour, note indoor/outdoor") beats "describe this scene" at the same cost.
520
+
521
+ ---
522
+
523
+ ## Gotchas
524
+
525
+ - **Terminal statuses differ.** `Understanding.is_successful` means `status == "done"`; `Index.is_successful` means `status == "ready"`. Use the properties rather than comparing strings.
526
+ - **A run reports `done` only when every analyzer succeeded.** One failed or skipped analyzer makes the run `partial`, which the SDK does not treat as terminal — see the warning under Waiting. Gate on `analyzer.is_successful` before indexing each artifact.
527
+ - **Never match on `analyzer.type`.** It echoes the server's internal name, not what you sent: a `spoken_words` analyzer reports `.type == "speech_transcription"`. Match on `analyzer.name`, which is yours.
528
+ - **Guard the polling loop against an empty list.** `all([])` is `True`, so `all(a.is_complete for a in ...)` exits immediately if a refresh transiently returns no analyzers — and the next `index()` then fails with `Analyzer ... not done`. Check the list is non-empty first.
529
+ - **Indexing is slower than you expect.** A 102-second clip with 5-second segmentation and three analyzers ran well past 30 minutes. `wait_until_complete()` defaults to a 1800-second timeout, which a modest video can exceed — prefer `callback_url` for anything long.
530
+ - **`list_analyzers()` reads a local cache** and makes no network call. Call `understanding.refresh()` first if you didn't just wait on it.
531
+ - **`get_analyzer()` raises `ValueError`** when the name doesn't match — it does not return `None`.
532
+ - **`Understanding` has no `get_output()`.** Use `understanding.get_analyzer_output(name)` or `analyzer.get_output()`.
533
+ - **The creator is `video.index()`.** There is no separate `create_index` method.
534
+ - **`use_for` arity is asymmetric**: `index(use_for=["semantic", "query"])` takes a list; `list_indexes(use_for="semantic")` takes a single string.
535
+ - **`Index` and friends are not top-level exports.** Use `from videodb.index import Index, IndexRecord, RecordPage, FieldSchema`. `IndexCapability`, `FieldGroup`, `Understanding`, and `UnderstandingAnalyzer` are importable from `videodb` directly.
536
+ - **The server recognises more field groups than the SDK enum names.** `FieldGroup` lists four; `fts`, `hydrate`, and `return` also exist. Don't assert that `index.fields` only contains the four.
537
+ - **Both stages are asynchronous but validation is not.** Malformed `fields` or `source` raise on the call; slow embedding shows up as a status.