generate-clip · git:20261027.947a93e · 2026-10-27 · sha256 96b2e9f5a5653223
generate-clip git:20261027.947a93eA
Immutable. This exact content never changes and is served at /api/v1/blob/96b2e9f5a5653223.
---
name: generate-clip
description: Generate AI video clips for your Remotion project. Create unique footage from text descriptions or animate still images into video — no stock footage needed.
---
# Generate Clip — AI Video Generation
You are helping the user generate custom AI video clips for their Remotion project. This creates unique footage that doesn't exist anywhere — going beyond stock footage.
## Workflow
### 1. Understand the Need
Ask the user:
- **What should the clip show?** — A scene, product, animation, nature, abstract?
- **Duration** — How long? (typically 3-10 seconds for AI clips)
- **Style** — Cinematic, drone shot, close-up, slow motion, time-lapse?
- **Source** — Text-to-video (from description) or image-to-video (animate a still)?
### 2. Craft the Video Prompt
Good video generation prompts include:
- Scene description with action/motion
- Camera movement (pan, zoom, dolly, crane, static)
- Lighting and mood
- Speed (slow motion, normal, time-lapse)
**Good prompt examples:**
- "Slow overhead crane shot of a modern city at golden hour, cars moving on streets, warm cinematic lighting"
- "Close-up of coffee being poured into a white mug, steam rising, soft morning light, shallow depth of field"
- "Abstract fluid art animation, flowing metallic gold and deep blue paint, mesmerizing slow motion"
- "Drone flying through a forest canopy, sunlight filtering through leaves, cinematic nature footage"
### 3. Generate via remotion-media
```
Use remotion-media generate_video_from_text:
- prompt: [crafted prompt]
- output_name: clip-city-aerial
```
To animate a still instead (image-to-video):
```
Use remotion-media generate_video_from_image:
- prompt: [how the image should move]
- image_urls: [1 image URL to animate, or 2 to transition from first to last frame]
- output_name: clip-animated-still
```
The clip is saved to `public/` of the directory your agent was launched from, so start your agent (Claude Code, Codex, Gemini CLI…) from the Remotion project root.
### 4. Generate via Replicate MCP (if available)
If the user has `REPLICATE_API_TOKEN` and wants specific models, use the Replicate MCP tools:
**Text-to-Video:**
```
# Wan 2.5 (open source, fast)
replicate_create_prediction:
model: "wan-video/wan-2.5-t2v-fast"
input:
prompt: "[crafted prompt]"
num_frames: 81
resolution: "480p"
```
**Image-to-Video (animate a still):**
```
# Kling 2.6 (cinematic, top-tier I2V)
replicate_create_prediction:
model: "kwaivgi/kling-v2.6-pro"
input:
image: "[image_url]"
prompt: "[motion description]"
duration: 5
```
Poll with `replicate_get_prediction` until status is `succeeded`, then download the output:
```bash
mkdir -p public/footage
curl -L -o public/footage/clip-[descriptive-name].mp4 "[replicate_output_url]"
```
**Model recommendations:**
- **Fast & cheap**: Wan 2.5 Fast (`wan-video/wan-2.5-t2v-fast`) — ~40s for 5s clip
- **High quality**: Veo 3.1 (via remotion-media) or Kling 2.6
- **Image-to-video**: Kling 2.6 Pro (`kwaivgi/kling-v2.6-pro`) or Wan 2.5 I2V
- **Open source**: Wan 2.5 (`wan-video/wan-2.5-t2v`) — higher quality, slower
See `skills/remotion-production/rules/replicate-models.md` and `rules/video-generation.md` for detailed prompt engineering and model selection guidance.
### 5. Show Usage in Remotion
Place the clip with `<Video>` from `@remotion/media` (`npx remotion add @remotion/media`). Trimming, looping, volume and cutting several clips together follow the official `remotion-markup` skill (embedding-videos.md, video-editing.md). The path is what changes per provider: remotion-media clips are at `public/<output_name>.mp4`, Replicate downloads at `public/footage/`.
```tsx
import { Video } from "@remotion/media";
import { staticFile, useVideoConfig } from "remotion";
const { fps } = useVideoConfig();
// remotion-media clip, trimmed to 3 s and starting 5 s into the scene
<Video
src={staticFile("clip-city-aerial.mp4")}
from={5 * fps}
trimBefore={1 * fps}
durationInFrames={3 * fps}
muted
objectFit="cover"
style={{ width: "100%", height: "100%" }}
/>
```
### 6. Combine with Other Assets
AI-generated clips work great when layered:
- Use as backgrounds behind text overlays
- Intercut with stock footage from Pexels
- Add voiceover and music on top
- Apply subtle zoom/pan with `interpolate()` for extra dynamism
### Tips
- **Start short** — 3-5 second clips are the sweet spot for AI video
- **Be specific about camera motion** — "slow dolly zoom", "overhead crane shot"
- **Combine clips** — Generate several short clips and sequence them in Remotion
- **Image-to-video** — Generate a still with `/generate-image` first, then animate it for more control
- **Iterate** — If the first generation isn't perfect, refine the prompt