
Video Shortform
FreeGenerate 3-10 second video clips for quick visuals.
Free · Opens the source repo
What Video Shortform does
The Video Shortform skill is designed to create concise video clips ranging from 3 to 10 seconds, ideal for product reveals, motion teasers, and ambient loops. It leverages text-to-video models like Seedance 2, Kling 3/4, Veo 3, and Sora 2 to generate high-quality MP4 outputs saved directly to your project folder. This skill is particularly useful for developers and designers looking to enhance their projects with quick, engaging video content without the need for extensive video editing skills.
To use the Video Shortform skill effectively, you start by reading the project metadata, which includes essential parameters like videoModel, videoLength, and videoAspect. These parameters guide the video generation process, ensuring that the output meets the constraints of the chosen model. The skill emphasizes planning each shot carefully before dispatching the video generation command, allowing for precise control over the video content and style.
The skill operates under a straightforward workflow. After planning the shot, you compose a prompt tailored to the specific video model being used, ensuring that the prompt adheres to the model's requirements. The final step involves dispatching the request to generate the video, which is then automatically saved and made available for viewing. This structured approach ensures that users can create effective short-form videos with minimal hassle.
This skill is particularly suited for those in the design and marketing fields who need to produce quick, impactful videos for social media or promotional purposes. It streamlines the video creation process, allowing users to focus on creativity rather than technical details.
When to use it
Use this skill when you need to produce brief video clips for marketing, product showcases, or social media content.
When not to use it
This skill is not suitable for creating long-form videos or complex narratives, as it focuses solely on single-shot video generation.
What you can build with it
Product Launch Teaser
Generate a quick 10-second video clip to showcase a new product feature for social media.
Event Promotion
Create a short motion teaser for an upcoming event to capture audience attention.
Ambient Video Loop
Produce a 5-second ambient video loop for use in a digital display or background.
How to install Video Shortform
View source1. Install with the skills CLI
npx skills add nexu-io/open-design/video-shortform --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by nexu-ioVideo Shortform Skill
Short-form (≤ 10s) is the sweet spot for current text-to-video models — they're great at one shot with one idea, weaker at multi-cut narratives. Plan one shot per call.
Special case: hyperframes-html is not a photoreal text-to-video
model. It's a local HTML-to-MP4 renderer. For that model, do not roleplay
cinematography or "real-world" camera physics. Treat the brief as a motion
design card / title-frame / product interstitial, ask at most one
clarifying question, then dispatch immediately.
Resource map
video-shortform/
├── SKILL.md
└── example.html
Workflow
Step 0 — Read the project metadata
videoModel, videoLength (seconds), videoAspect. These are
hard-locks — clamp the prompt to whatever the chosen model supports
(Seedance 2 caps at 10s; Kling 4 supports up to 10s + image-to-video;
Veo 3 supports 8s with audio).
Step 1 — Plan the shot
Write the shotlist BEFORE calling the model:
| Slot | Content |
|---|---|
| Subject | What's in frame? |
| Camera | Static / pan / push-in / orbit? |
| Lighting | Key direction + temperature |
| Motion | What moves, at what pace? Subject motion vs camera motion. |
| Sound | Ambient bed? (only if the model supports audio) |
Normally, show this to the user as a one-sentence plan before dispatching — they can redirect cheaply.
For hyperframes-html, skip the extra pre-dispatch narration once the
user has answered the discovery form. Collapse the plan into the actual
generation prompt and dispatch immediately.
Step 2 — Compose the prompt
Use the format the upstream model prefers (Seedance: motion + camera +
mood; Kling: subject + camera + style; Veo: subject + cinematography +
sound). Bind the project's videoAspect and videoLength directly to
the API parameters; never put them in prose.
For hyperframes-html, write a concise motion-design brief instead of a
camera-realism prompt. Focus on subject, layout, palette, motion
character, and overall tone. Do not spend turns narrating environment
checks, missing side files, or "I am about to dispatch" status updates.
Step 3 — Dispatch via the media contract
Use the unified dispatcher — do not call provider APIs by hand:
"$OD_NODE_BIN" "$OD_BIN" media generate \
--project "$OD_PROJECT_ID" \
--surface video \
--model "<videoModel from metadata>" \
--aspect "<videoAspect from metadata>" \
--length <videoLength seconds> \
--output "<short-slug>-<seconds>s.mp4" \
--prompt "<assembled shot prompt from Step 2>"
The command prints one line of JSON: {"file": {"name": "...", ...}}.
The bytes land in the project; the FileViewer plays it automatically.
Step 4 — Hand off
Reply with: shot summary, the filename returned by the dispatcher, and one sentence on what to try if the user wants a variation.
For hyperframes-html, keep the reply especially short: what was
rendered, the filename, and one concrete variation idea.
Hard rules
- One shot per turn. Multi-shot timelines belong in a hyperframes / interactive-video skill, not here.
- Match
videoAspectexactly — re-renders are slow. - Never ship a video without saving the file — the user expects something to play in the file viewer.
- When the underlying model fails (NSFW filter, content policy, timeout), report the error verbatim. Don't silently retry.
- Do not claim a render has been "sent", "started", or "is running"
unless you have already called
"$OD_NODE_BIN" "$OD_BIN" media generate.
Frequently asked questions about Video Shortform
Similar skills
HyperFrames
Create HTML-based video content with ease.
Gemini Omni Flash API
Generative video editing and creation with AI.
Talking Head Recut
Enhance videos with dynamic graphic overlays.
Product Launch Video
Create promotional videos from product details effortlessly.
Media Use
Streamline media handling in HyperFrames projects.
HyperFrames Creative
Design direction for HyperFrames video projects.
