$npx -y skills add calesthio/OpenMontage --skill create-videoCreate videos from a text prompt using HeyGen's Video Agent. Use when: (1) Creating a video from a description or idea, (2) Generating explainer, demo, or marketing videos from a prompt, (3) Making a video without specifying exact avatars, voices, or scenes, (4) Quick video proto
| 1 | # Create Video |
| 2 | |
| 3 | Generate complete videos from a text prompt. Describe what you want and the AI handles script writing, avatar selection, visuals, voiceover, pacing, and captions automatically. |
| 4 | |
| 5 | ## Authentication |
| 6 | |
| 7 | All requests require the `X-Api-Key` header. Set the `HEYGEN_API_KEY` environment variable. |
| 8 | |
| 9 | ```bash |
| 10 | curl -X POST "https://api.heygen.com/v1/video_agent/generate" \ |
| 11 | -H "X-Api-Key: $HEYGEN_API_KEY" \ |
| 12 | -H "Content-Type: application/json" \ |
| 13 | -d '{"prompt": "Create a 60-second product demo video."}' |
| 14 | ``` |
| 15 | |
| 16 | ## Tool Selection |
| 17 | |
| 18 | If HeyGen MCP tools are available (`mcp__heygen__*`), **prefer them** over direct HTTP API calls — they handle authentication and request formatting automatically. |
| 19 | |
| 20 | | Task | MCP Tool | Fallback (Direct API) | |
| 21 | |------|----------|----------------------| |
| 22 | | Generate video from prompt | `mcp__heygen__generate_video_agent` | `POST /v1/video_agent/generate` | |
| 23 | | Check video status / get URL | `mcp__heygen__get_video` | `GET /v2/videos/{video_id}` | |
| 24 | | List account videos | `mcp__heygen__list_videos` | `GET /v2/videos` | |
| 25 | | Delete a video | `mcp__heygen__delete_video` | `DELETE /v2/videos/{video_id}` | |
| 26 | |
| 27 | If no HeyGen MCP tools are available, use direct HTTP API calls as documented in the reference files. |
| 28 | |
| 29 | ## Default Workflow |
| 30 | |
| 31 | Always use [prompt-optimizer.md](references/prompt-optimizer.md) guidelines to structure prompts with scenes, timing, and visual styles. |
| 32 | |
| 33 | **With MCP tools:** |
| 34 | 1. Write an optimized prompt using [prompt-optimizer.md](references/prompt-optimizer.md) → [visual-styles.md](references/visual-styles.md) |
| 35 | 2. Call `mcp__heygen__generate_video_agent` with prompt and config (duration_sec, orientation, avatar_id) |
| 36 | 3. Call `mcp__heygen__get_video` with the returned video_id to poll status and get the download URL |
| 37 | |
| 38 | **Without MCP tools (direct API):** |
| 39 | 1. Write an optimized prompt using [prompt-optimizer.md](references/prompt-optimizer.md) → [visual-styles.md](references/visual-styles.md) |
| 40 | 2. `POST /v1/video_agent/generate` — see [video-agent.md](references/video-agent.md) |
| 41 | 3. `GET /v2/videos/<id>` — see [video-status.md](references/video-status.md) |
| 42 | |
| 43 | ## Quick Reference |
| 44 | |
| 45 | | Task | MCP Tool | Read | |
| 46 | |------|----------|------| |
| 47 | | Generate video from prompt | `mcp__heygen__generate_video_agent` | [prompt-optimizer.md](references/prompt-optimizer.md) → [visual-styles.md](references/visual-styles.md) → [video-agent.md](references/video-agent.md) | |
| 48 | | Check video status / get download URL | `mcp__heygen__get_video` | [video-status.md](references/video-status.md) | |
| 49 | | Upload reference files for prompt | — | [assets.md](references/assets.md) | |
| 50 | |
| 51 | ## When to Use This Skill vs Avatar Video |
| 52 | |
| 53 | This skill is for **prompt-based video creation** — describe what you want, and the AI handles the rest. |
| 54 | |
| 55 | If the user needs **precise control** over specific avatars, exact scripts, per-scene voice/background configuration, or multi-scene composition, use the **avatar-video** skill instead. |
| 56 | |
| 57 | | User Says | This Skill | Avatar Video Skill | |
| 58 | |-----------|:----------:|:------------------:| |
| 59 | | "Make me a video about X" | ✓ | | |
| 60 | | "Create a product demo" | ✓ | | |
| 61 | | "I want avatar Y to say exactly Z" | | ✓ | |
| 62 | | "Multi-scene video with different backgrounds" | | ✓ | |
| 63 | | "Transparent WebM for compositing" | | ✓ | |
| 64 | |
| 65 | ## Reference Files |
| 66 | |
| 67 | ### Core Workflow |
| 68 | - [references/prompt-optimizer.md](references/prompt-optimizer.md) - Writing effective prompts (core workflow + rules) |
| 69 | - [references/visual-styles.md](references/visual-styles.md) - 20 named visual styles with full specs |
| 70 | - [references/prompt-examples.md](references/prompt-examples.md) - Full production prompt example + ready-to-use templates |
| 71 | - [references/video-agent.md](references/video-agent.md) - Video Agent API endpoint details |
| 72 | |
| 73 | ### Foundation |
| 74 | - [references/video-status.md](references/video-status.md) - Polling patterns and download URLs |
| 75 | - [references/webhooks.md](references/webhooks.md) - Webhook endpoints and events |
| 76 | - [references/assets.md](references/assets.md) - Uploading images, videos, audio as references |
| 77 | - [references/dimensions.md](references/dimensions.md) - Resolution and aspect ratios |
| 78 | - [references/quota.md](references/quota.md) - Credit system and usage limits |
| 79 | |
| 80 | ## Best Practices |
| 81 | |
| 82 | 1. **Optimize your prompt** — The difference between mediocre and professional results depends entirely on prompt quality. Always use the prompt optimizer |
| 83 | 2. **Speci |