Video generation
Skill fabioc-aloha/Alex_Skill_Mall/plugins/media-graphics/video-generation
284 curated plugins for AI assistants across 16 categories: security, Azure, documentation, code quality, cloud infrastructure, and more. Works with GitHub Copilot. Drop into .github/skills/local/ and go.
npx -y skills add fabioc-aloha/Alex_Skill_Mall --skill video-generationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
AI video generation via Replicate — 17 models, editing, and production workflows
SKILL.md
11.1 KB, ~3.3k tokens by cl100k_base, as published. Nobody here has run it
Video Generation Skill
Domain: AI Video Generation
Version: 2.0.0
Last Updated: 2026-04-15
Author: the AI assistant (your AI assistant)
Source: Patterns from AlexVideos CLI toolkit
Related: image-handling (images), text-to-speech (audio)
Overview
Generate AI videos using 17 cloud models on Replicate. Supports text-to-video, image-to-video, video editing, and talking-head workflows.
Model Catalog (17 Models)
| Key | Model | Replicate ID | Duration | Audio | Cost |
|---|---|---|---|---|---|
veo3fast | Veo 3.1 Fast | google/veo-3.1-fast | 4/6/8s | ✅ Auto | $0.10–0.15/sec |
veo3 | Veo 3.1 | google/veo-3.1 | 4/6/8s | ✅ Auto | $0.20–0.40/sec |
grok | Grok Video | xai/grok-imagine-video | 1–15s | ✅ Lip-sync | $0.05/sec |
gen45 | Gen-4.5 Runway | runwayml/gen-4.5 | 5–10s | ❌ | $0.12/sec |
kling | Kling v3 | kwaivgi/kling-v3-video | 3–15s | Optional | $0.17–0.22/sec |
kling26 | Kling v2.6 | kwaivgi/kling-v2.6 | 5–10s | ✅ Auto | variable |
kling3omni | Kling v3 Omni | kwaivgi/kling-v3-omni-video | 3–15s | ❌ | variable |
sora | Sora-2 | openai/sora-2 | 4–12s | ✅ Auto | $0.10/sec |
sora2pro | Sora-2 Pro | openai/sora-2-pro | 4/8/12s | ✅ Auto | $0.30–0.50/sec |
seedance | Seedance Lite | bytedance/seedance-1-lite | 2–12s | ❌ | $0.036/sec |
seedpro | Seedance Pro | bytedance/seedance-1-pro | 2–12s | ❌ | $0.15/sec |
pixverse | PixVerse v5.6 | pixverse/pixverse-v5.6 | 5/10s | ✅ Auto | variable |
hailuo | Hailuo-02 | minimax/hailuo-02 | 6/10s | ❌ | variable |
hailuo23 | Hailuo-2.3 | minimax/hailuo-2.3 | 6/10s | ❌ | variable |
ray2 | Ray 2 Luma | luma/ray-2-720p | 5/9s | ❌ | $0.18/sec |
rayflash | Ray Flash 2 | luma/ray-flash-2-720p | 5/9s | ❌ | $0.06/sec |
wan | WAN 2.5 Fast | wan-video/wan-2.5-t2v-fast | 5–10s | ✅ Auto | $0.068/sec |
Parameter Support Matrix
| Model | prompt | duration | image | aspect | resolution | negative | audio |
|---|---|---|---|---|---|---|---|
veo3fast | ✅ | 4/6/8 | ✅ | ✅ | ✅ | ✅ | ✅ auto |
veo3 | ✅ | 4/6/8 | ✅ | ✅ | ✅ | ✅ | ✅ auto |
grok | ✅ | 1–15 | ✅ | ✅ | ✅ | — | ✅ auto |
gen45 | ✅ | 5–10 | ✅ | ✅ | — | — | — |
kling | ✅ | 3–15 | ✅ | ✅ | ✅ (mode) | ✅ | optional |
kling26 | ✅ | 5–10 | ✅ | ✅ | — | ✅ | ✅ auto |
kling3omni | ✅ | 3–15 | ✅ | ✅ | ✅ (mode) | — | — |
sora | ✅ | 4–12 | ✅ | ✅ | — | — | ✅ auto |
sora2pro | ✅ | 4/8/12 | ✅ | ✅ | ✅ | — | ✅ auto |
seedance | ✅ | 2–12 | ✅ | ✅ | ✅ | — | — |
seedpro | ✅ | 2–12 | ✅ | ✅ | ✅ | — | — |
pixverse | ✅ | 5/10 | ✅ | ✅ | ✅ (quality) | ✅ | ✅ auto |
hailuo | ✅ | 6/10 | ✅ | — | ✅ | — | — |
hailuo23 | ✅ | 6/10 | ✅ | — | ✅ | — | — |
ray2 | ✅ | 5/9 | ✅ | ✅ | — | — | — |
rayflash | ✅ | 5/9 | ✅ | ✅ | — | — | — |
wan | ✅ | 5–10 | — | ✅ | — | ✅ | ✅ auto |
Notes:
- Fixed values (e.g., 5/9) mean only those exact values accepted
- Ranges (e.g., 3–15) accept any integer in range
- Sora models use "portrait"/"landscape" internally (mapped from 9:16/16:9)
Model Selection Guide
| Need | Model | Why |
|---|---|---|
| Default / Quick preview | veo3fast | Best balance: speed, quality, cost |
| Talking head / lip-sync | grok, kling26 | Grok: best lip-sync; Kling26: best motion |
| High quality cinematic | sora2pro, veo3 | Premium quality, synced audio |
| Image animation | kling, gen45 | Strong image-to-video |
| Budget production | rayflash, seedance | Cheapest per-second |
| Longest duration (15s) | grok, kling | Only models supporting 15s |
| Real-world physics | hailuo, hailuo23 | Physics simulation, VFX |
Talking-Head Video Workflow
Proven pipeline for generating a person speaking to camera with synchronized speech:
# Step 1 — Age-progress reference photo (if needed)
node scripts/generate-image.js "A 26-year-old professional in studio" --model nanapro --image ref.png
# Step 2 — Generate video with Kling v2.6 (best talking-head i2v)
node scripts/generate-video.js "Person looking directly into camera, speaking confidently" --model kling26 --image aged.jpg --duration 10
# Step 3 — Generate speech
node scripts/generate-voice.js "[script]" --model mm28turbo
# Step 4 — Merge video + speech
node scripts/generate-edit-video.js --model avmerge --video clip.mp4 --audio speech.mp3
Model notes:
kling26— Best overall motion quality for talking-head i2vgrok— Best lip sync, but no native audio (requiresavmerge)veo3fast/sora— May flag real-person reference photos
Prompt pattern:
"A sharp [age]-year-old [description] looking directly into camera, speaking to the audience about [topic]. Calm, confident, broadcast-quality delivery. Professional studio lighting."
Video Editing (10 Models)
| Key | Model | Purpose | Cost |
|---|---|---|---|
modify | Luma Modify | AI video style transfer | variable |
reframe | Luma Reframe | AI crop to new aspect ratio | $0.06/sec |
trim | Trim Video | Extract segment by time | <$0.001 |
merge | Video Merge | Concatenate videos | variable |
avmerge | ffmpeg-static | Combine audio + video | free (local) |
extract | Extract Audio | Strip audio from video | variable |
frames | Frame Extractor | Export frames as images | <$0.001 |
upscale | Real-ESRGAN | AI upscale to 4K | ~$0.46 |
caption | AutoCaption | Auto subtitles | ~$0.07 |
utils | Video Utils | Convert, misc ops | <$0.002 |
Generation Workflows
Text-to-Video
import Replicate from "replicate";
const replicate = new Replicate();
const output = await replicate.run("google/veo-3.1-fast", {
input: {
prompt: "A person walking through a futuristic city at sunset, cinematic lighting",
duration: 5, // seconds
},
});
console.log("Video URL:", output);
Image-to-Video (Animation)
import { readFileSync } from "fs";
const output = await replicate.run("kwaivgi/kling-v3-video", {
input: {
prompt: "Gentle wind blowing through hair, subtle movement",
image: readFileSync("source-image.png"), // or URL
duration: 5,
},
});
Talking Head with Lip-Sync
const output = await replicate.run("xai/grok-imagine-video", {
input: {
prompt: "Person speaking to camera with natural expressions",
audio: readFileSync("narration.mp3"), // Voice audio
duration: 10,
},
});
Quality Guidelines
Prompt Engineering
| Element | Good Example | Avoid |
|---|---|---|
| Camera motion | "slow dolly forward", "tracking shot" | "camera moves" |
| Lighting | "golden hour", "dramatic side lighting" | "good lighting" |
| Style | "cinematic 4K", "documentary style" | "nice video" |
| Subject | "a person with short brown hair" | "someone" |
| Action | "walking slowly through", "gesturing while talking" | "doing something" |
Duration Selection
| Duration | Use Case | Model Recommendation |
|---|---|---|
| 2-4s | Loop, GIF replacement | veo-3.1-fast |
| 5-8s | Short clip, social media | veo-3.1-fast, kling-v3 |
| 10-15s | Story segment, talking head | grok-video, sora-2 |
Resolution
- Most models default to 720p or 1080p
- Kling v3 supports explicit 1080p
- Higher resolution = longer generation time
Audio Handling
Models with Built-in Audio
| Model | Audio Type | Notes |
|---|---|---|
| veo-3.1-fast | Auto-generated | Ambient sounds from scene |
| grok-video | Lip-sync | Syncs mouth to provided audio |
| sora-2 | Synced | High-quality scene audio |
Adding Audio Post-Generation
For models without audio, combine with TTS:
// 1. Generate video (no audio)
const video = await replicate.run("kwaivgi/kling-v3-video", {
input: { prompt: "...", duration: 5 },
});
// 2. Generate narration via TTS
const audio = await replicate.run("minimax/speech-2.8-turbo", {
input: { text: "Narration text", voice: "Wise_Woman" },
});
// 3. Combine with ffmpeg
// ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4
Cost Estimation
| Model | 5s clip | 10s clip | 15s clip |
|---|---|---|---|
| veo-3.1-fast | ~$0.15 | ~$0.30 | N/A (8s max) |
| grok-video | ~$0.25 | ~$0.50 | ~$0.75 |
| minimax-video | ~$0.25 | ~$0.50 | N/A (6s max) |
| kling-v3 | varies | varies | varies |
| sora-2 | premium | premium | premium |
Output Handling
Download Video
import { writeFileSync } from "fs";
const response = await fetch(output);
const buffer = await response.arrayBuffer();
writeFileSync("output.mp4", Buffer.from(buffer));
Verify Quality
# Check video properties with ffprobe
ffprobe -v quiet -print_format json -show_format -show_streams output.mp4
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Generation timeout | Complex prompt | Simplify, reduce duration |
| NSFW rejection | Content policy | Adjust prompt |
| Low quality output | Vague prompt | Add specific details |
| Audio desync | Wrong model | Use lip-sync model |
Integration with Studio Agents
- Image Studio: Generates source images for image-to-video
- Audio Studio: Creates narration for post-hoc audio
- Visual Memory: Stores reference images/videos