---
id: videoagent-video-studio
name: "videoagent-video-studio"
url: https://skills.yangsir.net/skill/videoagent-video-studio
author: pexoai
domain: multimedia
tags: ["ai-video-generation", "generative-ai", "video-editing-(ai)", "multimedia-ai", "content-creation-(ai)"]
install_count: 10100
rating: 4.50 (348 reviews)
github: https://github.com/pexoai/pexo-skills
---

# videoagent-video-studio

> 专注于AI工程，使AI智能体能够利用“视频智能体视频工作室”进行高级视频处理、生成和分析任务。

**Stats**: 10,100 installs · 4.5/5 (348 reviews)

## Before / After 对比

### 赋能AI代理创建专业级视频内容

## Readme

# 🎬 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.


---
*Source: https://skills.yangsir.net/skill/videoagent-video-studio*
*Markdown mirror: https://skills.yangsir.net/api/skill/videoagent-video-studio/markdown*