SKILL.md
π¬ VideoAgent Video Studio
Use when: User asks to generate a video, create a video from text, animate an image, make a short clip, or produce AI video.
Generate short AI videos with 7 backends. This skill picks the right mode (text-to-video or image-to-video), enhances the prompt for best results, and returns the video URL.
Quick Reference
User Intent
Mode
Typical Duration
"Make a video of..." (no image)
text-to-video
4β10 s
"Animate this image" / "Make this move"
image-to-video
4β6 s
"Turn this into a video with..."
image-to-video
4β6 s
Cinematic, story, ad
Prefer text-to-video with detailed prompt
5β10 s
Generation Modes
Mode
Description
Models
text-to-video
Text prompt only β video
minimax, kling, veo, hunyuan, grok, seedance
image-to-video
Single image + prompt β animated clip
minimax, kling, veo, pixverse, grok, seedance
reference-based
Reference images/video β consistent output
minimax, kling, veo, hunyuan, grok, seedance
Models (use --model )
Model ID
T2V
I2V
Reference
Notes
minimax
β
β
β
Subject reference image, character consistency
kling
β
β
β
Multi-element / character / keyframe (O3)
veo
β
β
β
Google Veo 3.1, multiple reference images
hunyuan
β
β
β
Video-to-video style transfer
pixverse
β
β
β
Stylized image-to-video
grok
β
β
β
Video editing via reference video
seedance
β
β
β
Seedance 1.5 Pro, synchronized audio, 4β12 s
Full model details and endpoint reference: references/models.md.
How to Generate a Video
Step 1 β Choose mode and enhance the prompt
- Text-to-video: Expand with subject, action, camera movement, lighting, and style. Be specific about motion (e.g. "camera slowly zooms in", "character walks left to right").
- Image-to-video: Describe the motion to apply to the image (e.g. "gentle breeze in the hair", "camera pans across the scene"). See references/prompt_guide.md for patterns.
Step 2 β Run the script
Text-to-video:
node {baseDir}/tools/generate.js \
--mode text-to-video \
--prompt "<enhanced prompt>" \
--duration <seconds> \
--aspect-ratio <ratio>
Image-to-video:
node {baseDir}/tools/generate.js \
--mode image-to-video \
--prompt "<motion description>" \
--image-url "<public image URL>" \
--duration <seconds> \
--aspect-ratio <ratio>
Parameters:
Parameter
Default
Description
--mode
text-to-video
text-to-video or image-to-video
--prompt
(required)
Scene or motion description
--image-url
β
Required for image-to-video; public image URL
--duration
5
Length in seconds (typically 4β10)
--aspect-ratio
16:9
16:9, 9:16, 1:1, 4:3, 3:4
--model
auto
Model ID (e.g. kling, veo, grok, seedance); auto = proxy picks
Other commands:
Command
Description
node tools/generate.js --list-models
List available models from the proxy
node tools/generate.js --status --job-id <id>
Check async job status
Step 3 β Return the result
The script returns JSON:
{
"success": true,
"mode": "text-to-video",
"videoUrl": "https://...",
"duration": 5,
"aspectRatio": "16:9"
}
Send videoUrl to the user.
Example Conversations
User: "Generate a short video of a cat walking in the rain, cinematic."
node {baseDir}/tools/generate.js \
--mode text-to-video \
--prompt "A cat walking through rain, wet streets, neon reflections, cinematic lighting, slow motion, 4K" \
--duration 5 \
--aspect-ratio 16:9
User: "Animate this photo" (user uploads a landscape)
node {baseDir}/tools/generate.js \
--mode image-to-video \
--prompt "Gentle clouds moving across the sky, subtle grass movement, cinematic atmosphere" \
--image-url "https://..." \
--duration 5 \
--aspect-ratio 16:9
User: "Make a 10-second vertical video of a coffee pour, slow motion."
node {baseDir}/tools/generate.js \
--mode text-to-video \
--prompt "Close-up of coffee pouring into a white cup, slow motion, steam rising, soft lighting, product shot" \
--duration 10 \
--aspect-ratio 9:16
User: "Use Google Veo for a cinematic shot."
node {baseDir}/tools/generate.js \
--mode text-to-video \
--model veo \
--prompt "A dragon flying through cloudy skies, cinematic lighting, 8s" \
--duration 8 \
--aspect-ratio 16:9
User: "Animate this portrait."
node {baseDir}/tools/generate.js \
--mode image-to-video \
--model grok \
--prompt "Gentle smile, subtle head turn" \
--image-url "https://..." \
--duration 5
Setup
Zero API keys by default. Requests go through a hosted proxy. Set these for a custom proxy or token:
Variable
Required
Description
VIDEO_STUDIO_PROXY_URL
No
Proxy base URL
VIDEO_STUDIO_TOKEN
No
Auth token if the proxy requires it
Knowledge Base
- references/prompt_guide.md β Prompt patterns for text-to-video and image-to-video.
- references/models.md β Model list, capabilities, and selection guide.
- references/calling_guide.md β Per-model endpoint details, input parameters, and special handling.