videoagent-video-studio — Claude Code skill: text-to-video
Generates short clips from a text prompt or an image. Handy when you need a quick video, want to animate a photo, or keep a consistent style across shots.
npx skills add pexoai/pexo-skills --skill videoagent-video-studio -a claude-codeWhat videoagent-video-studio does
The skill runs a generate.js script and returns a URL to the finished clip. Seven models sit behind it: minimax, kling, veo, hunyuan, pixverse, grok, seedance. text-to-video works from a prompt alone, image-to-video animates a single picture, and reference-based mode keeps output consistent using reference images or video.
No API keys required: requests go through the author's hosted proxy. For a custom proxy, set VIDEO_STUDIO_PROXY_URL and VIDEO_STUDIO_TOKEN. The script takes --mode, --prompt, --duration (default 5 seconds), --aspect-ratio (default 16:9), and --model — omit the model and the proxy picks one. image-to-video needs a public image URL passed to --image-url.
Prompt quality matters. The skill recommends being specific about motion: camera movement, lighting, style. seedance produces 4–12 second clips with synchronized audio, hunyuan does video-to-video style transfer. That's the main reason to read the prompt guide bundled with the skill before firing off requests.
What it helps with
- generate a short clip from a text description
- animate an uploaded image
- keep a character consistent across reference shots
- pick the right model without testing each one manually
- get a video URL back right after generation
Example prompts for the agent
- Generate a cinematic video of a cat walking in the rain
- Animate this photo: gentle clouds and subtle grass movement
- Make a 10-second vertical video of coffee pouring, slow motion
How to install videoagent-video-studio
1Skills CLI (Vercel)
npx skills add pexoai/pexo-skills --skill videoagent-video-studio -a claude-code2Manually: put the files in place
~/.claude/skills/videoagent-video-studio/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/videoagent-video-studio/
1Skills CLI (Vercel)
npx skills add pexoai/pexo-skills --skill videoagent-video-studio -a codex2Manually: put the files in place
.agents/skills/videoagent-video-studio/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add pexoai/pexo-skills --skill videoagent-video-studio -a cursor2Manually: put the files in place
.cursor/skills/videoagent-video-studio/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install pexoai/pexo-skills videoagent-video-studio2Manually: put the files in place
.github/skills/videoagent-video-studio/SKILL.md1Skills CLI (Vercel)
npx skills add pexoai/pexo-skills --skill videoagent-video-studio -a gemini-cli2Platform CLI
gemini skills install https://github.com/pexoai/pexo-skills --path skills/videoagent-video-studioManually: put the files in place
.devin/skills/videoagent-video-studio/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add pexoai/pexo-skills --skill videoagent-video-studio -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set3
The whole set →Similar
Questions about videoagent-video-studio
How do I install videoagent-video-studio in Claude Code?
Run npx skills add pexoai/pexo-skills --skill videoagent-video-studio -a claude-code. The skill lands in ~/.claude/skills/videoagent-video-studio/SKILL.md.
What does videoagent-video-studio do?
It generates short AI videos from text, an image, or reference material. Seven models are available, and the script enhances the prompt before returning a video URL.
Do I need API keys?
No, requests go through a hosted proxy by default. For your own proxy, set VIDEO_STUDIO_PROXY_URL and VIDEO_STUDIO_TOKEN.
Source text
SKILL.md · MIT
---
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 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 <id>`)
| 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](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](references/prompt_guide.md) for patterns.
### Step 2 — Run the script
**Text-to-video:**
```bash
node {baseDir}/tools/generate.js \
--mode text-to-video \
--prompt "<enhanced prompt>" \
--duration <seconds> \
--aspect-ratio <ratio>
```
**Image-to-video:**
```bash
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:
```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."
```bash
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)*
```bash
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."
```bash
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."
```bash
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."
```bash
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](references/prompt_guide.md)** — Prompt patterns for text-to-video and image-to-video.
- **[references/models.md](references/models.md)** — Model list, capabilities, and selection guide.
- **[references/calling_guide.md](references/calling_guide.md)** — Per-model endpoint details, input parameters, and special handling.
© pexoai · MIT · pexoai/pexo-skills