git:20261027.4295fca to git:20261027.947a93e

17 added, 15 removed. Audit A to A.

---
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
- curl -o public/footage/[descriptive-name].mp4 "[replicate_output_url]"
+ 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 { OffthreadVideo, staticFile } from "remotion";
+ import { Video } from "@remotion/media";
+ import { staticFile, useVideoConfig } from "remotion";
- // Full-scene background clip
- <OffthreadVideo
- src={staticFile("footage/ai-clip.mp4")}
- style={{ width: "100%", height: "100%", objectFit: "cover" }}
- />
+ const { fps } = useVideoConfig();
- // Trimmed clip in a sequence
- <Sequence from={5 * fps} durationInFrames={3 * fps}>
- <OffthreadVideo
- src={staticFile("footage/ai-clip.mp4")}
- startFrom={0}
- style={{ width: "100%", height: "100%", objectFit: "cover" }}
- />
- </Sequence>
+ // 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