Problem / opportunity
Hand-authored Vidkit JSON specs are powerful, but they can be verbose when the input is really a loose creative concept: “a fake app tries to approve something, fails loudly, then gets stamped.”
The useful workflow is not asking people to write a storyboard script by hand. The useful workflow is letting a person describe a concept in normal language, then having an assistant or skill turn that into a small, inspectable storyboard plan and finally into ordinary Vidkit scenes/layers/audio/timing.
This issue is about adding a lightweight planning/interchange layer for that assistant-driven workflow. The output should still be readable Vidkit JSON, not a hidden magic blob.
User-facing shape
The primary user-facing workflow should stay concept-first:
Make a short fake application-form video where the form keeps rejecting normal answers, gets stamped NOT NORMAL, and ends with a bonk.
An assistant/skill can then derive a structured plan internally, for example:
{
"format": "vidkit-storyboard-v1",
"size": "640x360",
"beats": [
{"kind": "template", "template": "application-form", "duration": 1.4},
{"kind": "beat", "preset": "error_flash", "text": "invalid amount of normal"},
{"kind": "beat", "preset": "bonk", "text": "NOT NORMAL"}
]
}
The structured form is mainly for skills/assistants, reusable examples, and debugging. It should expand to a normal Vidkit spec or render through the existing renderer.
Examples
- A concept prompt that becomes a fake application-form rejection sequence.
- A concept prompt that becomes a fake chat-window interruption sequence.
- A structured storyboard JSON fixture used by an AgentSkill or CLI helper.
Acceptance criteria
- The issue is implemented as an optional assistant/skill-friendly planning layer, not as a required hand-authored user workflow.
- A minimal structured beat format is documented as an intermediate/debuggable representation.
- A command or helper can expand the structured plan to a normal Vidkit spec or render it directly.
- At least five beat kinds or mappings exist, using existing primitives where possible (
beat scenes, templates, sprites, shapes, SFX).
- Generated specs are readable enough to debug and modify by hand if desired.
- Storyboard/concept examples render without private assets.
Verification
- validate storyboard/concept examples
- expand at least one structured plan to a normal Vidkit spec
- render at least one example
- inspect contact sheet for beat sequence clarity
- verify audio levels when generated sounds are included
- run
python3 tools/vidkit-selftest.py
Non-goals
- Requiring users to write storyboard scripts.
- Full natural-language-to-video generation inside Vidkit core.
- Replacing low-level JSON specs.
- Large cinematic planning system.
- Hiding the generated Vidkit spec from inspection.
Problem / opportunity
Hand-authored Vidkit JSON specs are powerful, but they can be verbose when the input is really a loose creative concept: “a fake app tries to approve something, fails loudly, then gets stamped.”
The useful workflow is not asking people to write a storyboard script by hand. The useful workflow is letting a person describe a concept in normal language, then having an assistant or skill turn that into a small, inspectable storyboard plan and finally into ordinary Vidkit scenes/layers/audio/timing.
This issue is about adding a lightweight planning/interchange layer for that assistant-driven workflow. The output should still be readable Vidkit JSON, not a hidden magic blob.
User-facing shape
The primary user-facing workflow should stay concept-first:
An assistant/skill can then derive a structured plan internally, for example:
{ "format": "vidkit-storyboard-v1", "size": "640x360", "beats": [ {"kind": "template", "template": "application-form", "duration": 1.4}, {"kind": "beat", "preset": "error_flash", "text": "invalid amount of normal"}, {"kind": "beat", "preset": "bonk", "text": "NOT NORMAL"} ] }The structured form is mainly for skills/assistants, reusable examples, and debugging. It should expand to a normal Vidkit spec or render through the existing renderer.
Examples
Acceptance criteria
beatscenes, templates, sprites, shapes, SFX).Verification
python3 tools/vidkit-selftest.pyNon-goals