---
title: ToolRouter — Tool Detail
description: Detailed documentation for a ToolRouter tool including skills, parameters, and examples.
url: https://toolrouter.com/tools/generate-video
---
# Generate Video

Create AI videos from text prompts or animate images. Multiple models with tradeoffs between cinematic quality, speed, cost, and audio support. Returns a downloadable video URL. Ideal for social media, product demos, and creative storytelling.

- **Version:** 0.05
- **Categories:** media, ai
- **Workflow:** list_models → text_to_video → image_to_video

## Skills (3)

### Text to Video (`text_to_video`)

Generate a video from a text prompt. 10+ models with different quality, speed, and cost tradeoffs. Returns a downloadable video URL.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `prompt` | string | Yes | Detailed text description of the video to generate. Be specific about scene, action, camera movement, lighting, and style. |
| `model` | string | No | Model to use. Use list_models for available models with pricing and audio support. Omit for default. |
| `duration` | number | No | Video duration in seconds. Available durations depend on the model. Common options: 4, 5, 6, 8, 10. |
| `resolution` | string | No | Output video resolution. Available resolutions depend on the model. Defaults to the model default (usually 1080p). (720p, 1080p, 4k) |
| `enable_audio` | boolean | No | Generate audio with video. Audio-capable models only — roughly doubles cost. See list_models for support. [default: true] |
| `seed` | number | No | Random seed for reproducible generation. Same seed + same prompt should produce similar results. |
| `aspect_ratio` | string | No | Aspect ratio for the generated video. Not all models support all ratios. (16:9, 9:16, 1:1, 4:3, 3:4) |
| `negative_prompt` | string | No | Things to avoid in the generated video (e.g. "blurry, low quality, distorted"). Not supported by all models. |

**Returns:** Video download URL, model used, duration, resolution, audio status, generation cost, and request metadata

**Examples:**

*Generate a cinematic nature video:*

```json
{
  "prompt": "A serene mountain lake at sunrise with mist rolling over the water, cinematic drone shot slowly pulling back to reveal snow-capped peaks"
}
```

*Generate a short video with a specific model and audio:*

```json
{
  "prompt": "A cat playing piano in a jazz club, warm ambient lighting, close-up shot",
  "model": "veo-3.1",
  "duration": 4,
  "enable_audio": true
}
```

### Image to Video (`image_to_video`)

Animate a still image into a video. Provide an image URL and optional motion prompt. 9 models with different quality and cost tradeoffs.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the source image to animate. Must be a publicly accessible image URL (JPEG, PNG, WebP). |
| `prompt` | string | No | Optional text prompt to guide the animation direction and style (e.g. "the person starts walking towards the camera"). |
| `model` | string | No | Model to use. Use list_models for available models with pricing and audio support. Omit for default. |
| `duration` | number | No | Video duration in seconds. Available durations depend on the model. Common options: 4, 5, 6, 8, 10. |
| `resolution` | string | No | Output video resolution. Available resolutions depend on the model. Defaults to the model default (usually 1080p). (720p, 1080p, 4k) |
| `enable_audio` | boolean | No | Generate audio with video. Audio-capable models only — roughly doubles cost. See list_models for support. [default: true] |
| `seed` | number | No | Random seed for reproducible generation. Same seed + same prompt should produce similar results. |
| `aspect_ratio` | string | No | Aspect ratio for the generated video. Not all models support all ratios. (16:9, 9:16, 1:1, 4:3, 3:4) |
| `negative_prompt` | string | No | Things to avoid in the generated video (e.g. "blurry, low quality, distorted"). Not supported by all models. |

**Returns:** Video download URL, source image URL, model used, duration, resolution, audio status, generation cost, and request metadata

**Examples:**

*Animate a product photo:*

```json
{
  "image_url": "https://placehold.co/800x600.png",
  "prompt": "The product slowly rotates on a white pedestal with soft studio lighting"
}
```

*Animate a landscape image with a fast model:*

```json
{
  "image_url": "https://placehold.co/800x600.png",
  "model": "ltx-2.3",
  "duration": 5
}
```

### List Models (`list_models`)

List available video generation models with capabilities, pricing, durations, resolutions, and audio support. Filter by type.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `type` | string | No | Filter models by generation type. Omit to show all models. (text_to_video, image_to_video) |

**Returns:** Array of model objects with key, display name, capabilities, pricing, durations, resolutions, and audio support

**Examples:**

*List all available video generation models:*

```json
{}
```

*List only models that support text-to-video:*

```json
{
  "type": "text_to_video"
}
```

## Quick Start

```bash
# Via CLI
TOOLROUTER_API_KEY=tr_live_xxx npx -y toolrouter-mcp call generate-video text_to_video --prompt A serene mountain lake at sunrise with mist rolling over the water, cinematic drone shot slowly pulling back to reveal snow-capped peaks

# Via REST API
curl -H "Authorization: Bearer tr_live_xxx" \
     -d '{"tool":"generate-video","skill":"text_to_video","input":{"prompt":"A serene mountain lake at sunrise with mist rolling over the water, cinematic drone shot slowly pulling back to reveal snow-capped peaks"}}' \
     https://api.toolrouter.com/v1/tools/call
```

## Frequently Asked Questions

### Can it make video from text or from an image?

Yes. It supports both text-to-video and image-to-video workflows.

### Do the model choices matter?

Yes. Different models trade off quality, speed, cost, and audio support.

### What do I get back?

The output is a downloadable video URL.

### What is it best for?

It is a strong fit for social clips, product demos, and short creative stories.

---

## Get Started with ToolRouter

**Already connected?** Call any tool with `use_tool({ tool, skill, input })`. Browse tools with `discover` or visit https://toolrouter.com/llms-full.txt

**New to ToolRouter?** Connect with one command (no API key needed — auto-provisions on first use):

```bash
# MCP (Claude Code, Codex CLI)
claude mcp add toolrouter -- npx -y toolrouter-mcp

# MCP (Cursor, Windsurf, Cline, VS Code, Gemini CLI, Claude Desktop)
{"mcpServers":{"toolrouter":{"command":"npx","args":["-y","toolrouter-mcp"]}}}

# Claude Chat / Claude Cowork / Claude Mobile — add as a connector:
# Settings → Connectors → Add custom connector → URL: https://api.toolrouter.com/mcp

# ChatGPT — add as an app:
# Settings → Apps → Advanced settings → enable Developer mode → Create app → MCP Server URL: https://api.toolrouter.com/mcp

# CLI (works instantly, no restart needed)
npx -y toolrouter-mcp tools                    # browse all tools
npx -y toolrouter-mcp search "seo"             # search by keyword
npx -y toolrouter-mcp call seo analyze_page --url https://example.com
```

Free tools work immediately. For paid tools, visit https://toolrouter.com/claim to add credits.

All platforms: https://toolrouter.com/connect | Full catalog: https://toolrouter.com/llms-full.txt | Docs: https://toolrouter.com/docs