PluginBench
Skill
Review
Audit score 70

videoagent-video-studio

pexoai/pexo-skills

Generate short AI videos from text or images using 7 backends with zero API key setup.

What is videoagent-video-studio?

Create videos from text descriptions or animate images using multiple AI video generation models. Use when the user wants to generate a video clip, animate an image, or produce video content from a description. Supports text-to-video, image-to-video, and reference-based generation modes.

  • Generate videos from text prompts (text-to-video mode)
  • Animate static images with motion descriptions (image-to-video mode)
  • Support reference-based video generation for consistent output
  • Choose from 7 backend models (minimax, kling, veo, hunyuan, grok, seedance, pixverse)
  • Customize video duration (4–12 seconds), aspect ratio (16:9, 9:16, 1:1, 4:3, 3:4), and model selection
  • Return video URLs ready to share

How to install videoagent-video-studio

npx skills add https://github.com/pexoai/pexo-skills --skill videoagent-video-studio
Claude Code
Cursor
Windsurf
Cline

How to use videoagent-video-studio

  1. 1.Identify the generation mode: text-to-video (text only) or image-to-video (image + motion description)
  2. 2.Enhance the prompt with specific details: subject, action, camera movement, lighting, and style
  3. 3.Run the generate.js script with --mode, --prompt, and optional parameters (--image-url for image-to-video, --duration, --aspect-ratio, --model)
  4. 4.Optionally specify a model (e.g., veo, kling, grok) or use auto-selection
  5. 5.Retrieve the video URL from the JSON response and share with the user

Use cases

Good for
  • Generate cinematic short clips from detailed text descriptions
  • Animate a static photo or portrait with subtle motion
  • Create vertical videos for social media from text prompts
  • Produce product shots with slow-motion effects
  • Apply style transfer or character consistency across video frames
Who it's for
  • Content creators and video producers
  • Marketing and advertising teams
  • Social media managers
  • Product photographers and e-commerce teams
  • Anyone needing quick AI-generated video clips

videoagent-video-studio FAQ

Do I need API keys to use this skill?

No. Requests go through a hosted proxy by default. You only need to set VIDEO_STUDIO_PROXY_URL and VIDEO_STUDIO_TOKEN if using a custom proxy.

What's the difference between text-to-video and image-to-video?

Text-to-video generates a video from a text description alone (4–10 seconds). Image-to-video takes a static image and applies motion to it based on a motion description (4–6 seconds).

Which model should I use?

Use auto-selection by default. For specific needs: veo for cinematic quality, kling for multi-element consistency, minimax for character reference, seedance for synchronized audio, pixverse for stylized image-to-video.

What video durations and aspect ratios are supported?

Durations typically range 4–12 seconds (seedance supports up to 12s). Aspect ratios: 16:9 (landscape), 9:16 (vertical), 1:1 (square), 4:3, 3:4.

How do I check the status of a long-running video generation?

Use `node tools/generate.js --status --job-id <id>` to poll the async job status.

Full instructions (SKILL.md)

Source of truth, from pexoai/pexo-skills.


name: videoagent-video-studio version: 2.1.0 author: pexoai emoji: "🎬" tags:

  • video
  • video-generation
  • text-to-video
  • image-to-video
  • veo
  • grok
  • kling
  • seedance
  • minimax
  • hunyuan
  • pixverse description: > Generate short AI videos from text or images — text-to-video, image-to-video, and reference-based generation — with zero API key setup. Use when the user wants to create a video clip, animate an image, or generate video from a description. metadata: openclaw: emoji: "🎬" install:
    • id: node kind: node label: "No dependencies needed — all calls go through the hosted proxy"

🎬 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 IntentModeTypical Duration
"Make a video of..." (no image)text-to-video4–10 s
"Animate this image" / "Make this move"image-to-video4–6 s
"Turn this into a video with..."image-to-video4–6 s
Cinematic, story, adPrefer text-to-video with detailed prompt5–10 s

Generation Modes

ModeDescriptionModels
text-to-videoText prompt only → videominimax, kling, veo, hunyuan, grok, seedance
image-to-videoSingle image + prompt → animated clipminimax, kling, veo, pixverse, grok, seedance
reference-basedReference images/video → consistent outputminimax, kling, veo, hunyuan, grok, seedance

Models (use --model <id>)

Model IDT2VI2VReferenceNotes
minimaxSubject reference image, character consistency
klingMulti-element / character / keyframe (O3)
veoGoogle Veo 3.1, multiple reference images
hunyuanVideo-to-video style transfer
pixverseStylized image-to-video
grokVideo editing via reference video
seedanceSeedance 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:

ParameterDefaultDescription
--modetext-to-videotext-to-video or image-to-video
--prompt(required)Scene or motion description
--image-urlRequired for image-to-video; public image URL
--duration5Length in seconds (typically 4–10)
--aspect-ratio16:916:9, 9:16, 1:1, 4:3, 3:4
--modelautoModel ID (e.g. kling, veo, grok, seedance); auto = proxy picks

Other commands:

CommandDescription
node tools/generate.js --list-modelsList 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:

VariableRequiredDescription
VIDEO_STUDIO_PROXY_URLNoProxy base URL
VIDEO_STUDIO_TOKENNoAuth token if the proxy requires it

Knowledge Base