Rendervid MCP Skill
Generate professional videos and images from JSON templates using natural language. Rendervid provides a declarative, AI-friendly way to create animated content for social media, marketing, data visualization, and more.
Overview
Rendervid is a Model Context Protocol (MCP) server that enables AI agents to:
- Generate videos in multiple formats (MP4, WebM, MOV, GIF)
- Create static images (PNG, JPEG, WebP)
- Access 50+ ready-to-use templates
- Validate templates before rendering
- Discover all available capabilities
Key Features:
- Declarative JSON Templates - Define videos/images as simple JSON structures
- 40+ Animation Presets - Entrance, exit, and emphasis animations with easing functions
- Rich Layer Types - Text, images, video, shapes, audio, Lottie, custom React components
- 50+ Examples - Ready-to-use templates across 10+ categories
- Type-Safe - Full TypeScript with Zod validation
- Cross-Platform - Works in Node.js and browsers
When to Use This Skill
Use Rendervid when you need to:
Content Creation
- Generate social media content (Instagram stories, TikTok videos, YouTube thumbnails)
- Create marketing videos (product showcases, sale announcements, testimonials)
- Build data visualizations (animated charts, graphs, dashboards)
- Produce educational content (course intros, lesson titles)
Automation
- Batch generate videos from data
- Create personalized video content
- Generate thumbnails for video content
- Build video generation workflows
Prototyping
- Quickly test video concepts
- Create animated mockups
- Generate placeholder content
- Explore animation styles
AI-Driven Content
- Let AI agents create videos from text descriptions
- Generate videos based on user input
- Create dynamic content based on data
- Build video generation chatbots
Available Tools
The Rendervid MCP server provides 6 tools:
1. render_video
Generate video files from JSON templates.
Common uses:
- Social media videos
- Marketing content
- Animated explainers
- Data visualizations
Example prompt:
"Create a 5-second Instagram story with text 'Summer Sale' and a blue gradient background"
2. render_image
Generate static images or single frames.
Common uses:
- Thumbnails
- Social media images
- Preview frames
- Static graphics
Example prompt:
"Generate a YouTube thumbnail with title 'Best Practices 2024'"
3. validate_template
Validate template JSON before rendering.
Common uses:
- Check template syntax
- Catch errors early
- Verify AI-generated templates
- Debug template issues
Example prompt:
"Validate this template: [paste JSON]"
4. get_capabilities
Discover all available features.
Common uses:
- Learn what's possible
- Find available animations
- Check supported formats
- Understand layer types
Example prompt:
"What animation presets are available?"
5. list_examples
Browse 50+ example templates.
Common uses:
- Find templates by category
- Discover use cases
- Get inspiration
- Learn template structure
Example prompt:
"Show me all social media templates"
6. get_example
Load a specific example template.
Common uses:
- Use ready-made templates
- Start from examples
- Learn template patterns
- Customize existing templates
Example prompt:
"Load the Instagram story template"
Template Structure
Rendervid templates are JSON objects with three main sections:
{
"name": "My Video",
"output": {
"type": "video",
"width": 1920,
"height": 1080,
"fps": 30,
"duration": 5
},
"inputs": [
{
"key": "title",
"type": "string",
"label": "Title",
"default": "Hello"
}
],
"composition": {
"scenes": [
{
"id": "main",
"startFrame": 0,
"endFrame": 150,
"backgroundColor": "#1a1a2e",
"layers": [
{
"id": "title",
"type": "text",
"position": { "x": 960, "y": 540 },
"size": { "width": 1600, "height": 200 },
"inputKey": "title",
"props": {
"fontSize": 120,
"color": "#ffffff",
"textAlign": "center"
},
"animations": [
{
"type": "entrance",
"effect": "fadeInUp",
"duration": 30,
"easing": "easeOut"
}
]
}
]
}
]
}
}
Key Concepts
Output Configuration:
- Defines video/image dimensions, FPS, duration
- Supports multiple formats and codecs
Dynamic Inputs:
- Variables that can be customized per render
- Support strings, numbers, booleans, colors, images, videos
Composition:
- Scenes with frame ranges
- Layers with types, positions, props
- Animations with presets and easing
Common Patterns
Pattern 1: Text Animation
User: "Create a video with animated text"
AI flow:
1. get_capabilities() to understand animations
2. render_video() with fadeIn animation
Pattern 2: Social Media Content
User: "Make an Instagram story for a product launch"
AI flow:
1. list_examples({ category: "social-media" })
2. get_example({ examplePath: "social-media/instagram-story" })
3. render_video() with custom inputs
Pattern 3: Data Visualization
User: "Create an animated bar chart showing Q1 sales"
AI flow:
1. get_example({ examplePath: "data-visualization/animated-bar-chart" })
2. Modify template with data
3. render_video()
Pattern 4: Batch Generation
User: "Create 10 videos with different titles"
AI flow:
1. Load template once
2. Call render_video() 10 times with different inputs
Pattern 5: Template Validation
User: "Check if my custom template is valid"
AI flow:
1. validate_template() to check structure
2. Fix any errors
3. render_video() to generate
Special Topics
Animations
Rendervid supports 40+ animation presets organized by category:
Entrance Animations:
- fadeIn, fadeInUp, fadeInDown, fadeInLeft, fadeInRight
- slideInUp, slideInDown, slideInLeft, slideInRight
- scaleIn, zoomIn, rotateIn, bounceIn, flipInX, flipInY
Exit Animations:
- fadeOut, fadeOutUp, fadeOutDown, fadeOutLeft, fadeOutRight
- slideOutUp, slideOutDown, slideOutLeft, slideOutRight
- scaleOut, zoomOut, rotateOut, bounceOut
Emphasis Animations:
- pulse, shake, bounce, swing, wobble, flash, rubberBand
- heartbeat, float, spin, tada, jello, flip
Easing Functions (30+):
- Linear: linear
- Ease: ease, easeIn, easeOut, easeInOut
- Cubic: easeInQuad, easeOutQuad, easeInOutQuad
- And more: Cubic, Quart, Quint, Sine, Expo, Circ, Back, Elastic, Bounce
Layer Types
Text Layers:
- Typography controls (font, size, weight, style)
- Alignment and spacing
- Color and effects
- Google Fonts support
Image Layers:
- Fit options (cover, contain, fill)
- Scaling and positioning
- Filters and blend modes
Video Layers:
- Playback controls
- Timing and trimming
- Audio control
Shape Layers:
- Rectangles, ellipses, polygons, stars, paths
- Fill and stroke
- Border radius and effects
Audio Layers:
- Background music
- Sound effects
- Volume and fade controls
Lottie Layers:
- Animated vector graphics
- JSON animation files
Custom Layers:
- React components
- Full CSS/Tailwind support
- Advanced use cases
Output Formats
Video Formats:
- MP4 (H.264, H.265)
- WebM (VP8, VP9, AV1)
- MOV (ProRes, H.264)
- GIF
Image Formats:
- PNG (lossless)
- JPEG (lossy, quality control)
- WebP (modern, efficient)
Quality Presets:
- draft: Fast rendering, lower quality
- standard: Balanced quality/speed
- high: High quality, slower rendering
- lossless: Maximum quality, large files
Template Categories
Getting Started:
- Hello World
- First Video
- First Image
Social Media:
- Instagram Story (1080x1920)
- Instagram Post (1080x1080)
- TikTok Video (1080x1920)
- YouTube Thumbnail (1280x720)
- Twitter Card (1200x630)
- LinkedIn Banner (1584x396)
Marketing:
- Product Showcase
- Sale Announcement
- Testimonial Video
- Before & After
- Logo Reveal
Data Visualization:
- Animated Bar Chart
- Line Graph
- Pie Chart
- Counter Animation
- Progress Dashboard
Business:
- Quote Card
- Stat Highlight
- Feature Announcement
- Team Introduction
- Company Update
Education:
- Lesson Title
- Quiz Question
- Course Intro
- Study Tip
- Progress Tracker
Celebrations:
- Birthday Card
- Holiday Greeting
- Congratulations
- Thank You
- Milestone
E-commerce:
- Product Launch
- Flash Sale
- New Arrival
- Customer Review
- Price Drop
Event:
- Event Announcement
- Countdown Timer
- Registration
- Thank You (Attendees)
- Highlight Reel
Podcast:
- Episode Intro
- Quote Card
- Guest Introduction
- Coming Soon
- Subscribe Reminder
Real Estate:
- Property Showcase
- Open House
- Sold Announcement
- Agent Introduction
- Virtual Tour Intro
Best Practices
Template Design
Keep it Simple
- Start with examples
- Build complexity gradually
- Test frequently
Use Dynamic Inputs
- Make values customizable
- Provide sensible defaults
- Document input purposes
Optimize Frame Ranges
- Minimize total frames for faster rendering
- Use appropriate FPS (24-30 for most content)
- Consider file size vs quality tradeoffs
Test Animations
- Preview before full render
- Check timing and easing
- Verify layer stacking
Performance
Draft Quality for Iteration
- Use draft quality during development
- Switch to high quality for finals
- Consider file size requirements
Batch Rendering
- Reuse templates when possible
- Queue multiple renders
- Monitor resource usage
Asset Optimization
- Compress images before use
- Use appropriate video codecs
- Optimize Lottie animations
AI Integration
Clear Descriptions
- Describe intent clearly
- Specify dimensions and duration
- Mention animation preferences
Validate Templates
- Always validate AI-generated templates
- Check for common errors
- Test with sample data
Iterate Progressively
- Start simple, add complexity
- Test each change
- Use examples as starting points
Example Workflows
Workflow 1: Quick Social Media Post
User: "Create an Instagram story announcing a flash sale"
AI Agent:
1. list_examples({ category: "social-media" })
2. get_example({ examplePath: "social-media/instagram-story" })
3. render_video({
template: {...},
inputs: {
title: "Flash Sale",
subtitle: "50% Off Everything",
backgroundColor: "#FF6B6B"
},
format: "mp4",
quality: "high"
})
Result: Instagram-ready 1080x1920 video
Workflow 2: Data Visualization
User: "Create an animated chart showing Q1 revenue growth"
AI Agent:
1. get_example({ examplePath: "data-visualization/animated-bar-chart" })
2. Modify template with revenue data
3. validate_template({ template })
4. render_video({
template,
inputs: { data: [...], title: "Q1 Revenue" },
format: "mp4",
quality: "high"
})
Result: Animated bar chart video
Workflow 3: Custom Template Creation
User: "Create a custom video with my brand colors and logo"
AI Agent:
1. get_capabilities() to understand options
2. Start with example template
3. Customize colors, fonts, layout
4. validate_template() to check
5. render_video() with draft quality
6. Iterate based on preview
7. Final render with high quality
Result: Custom branded video
Workflow 4: Batch Video Generation
User: "Create welcome videos for 100 new users"
AI Agent:
1. get_example({ examplePath: "business/team-introduction" })
2. Loop through user list:
- render_video({
template,
inputs: { name: user.name },
outputPath: `welcome-${user.id}.mp4`
})
Result: 100 personalized welcome videos
Troubleshooting
Common Issues
Issue: Server not connecting
- Check absolute path in MCP config
- Verify Node.js version (20+)
- Check server builds:
pnpm build
- Review logs in AI editor
Issue: FFmpeg not found
# Install FFmpeg
brew install ffmpeg # macOS
sudo apt install ffmpeg # Ubuntu
choco install ffmpeg # Windows
Issue: Template validation fails
- Check JSON syntax
- Verify required fields
- Review error messages
- Use validate_template tool
Issue: Slow rendering
- Use draft quality for iteration
- Reduce video duration/FPS
- Optimize asset sizes
- Check system resources
Issue: Node version errors
- Update to Node.js 20+
- Use full Node.js path in config
- Verify with:
node --version
Getting Help
Resources
Documentation
Templates
External Links
Version History
0.1.0 (Initial Release)
- 6 MCP tools (render_video, render_image, validate_template, get_capabilities, list_examples, get_example)
- 50+ example templates across 10 categories
- 40+ animation presets with 30+ easing functions
- Support for MP4, WebM, MOV, GIF, PNG, JPEG, WebP
- Full TypeScript with Zod validation
- Stdio transport for maximum compatibility
- Comprehensive documentation
License
FlowHunt Attribution License - Free for commercial and personal use with attribution
Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
Credits
Developed by QualityUnit
Built with:
- TypeScript
- Model Context Protocol SDK
- Zod for validation
- Puppeteer for rendering
- FFmpeg for video encoding
1---2name: rendervid3description: Generate videos and images from JSON templates using AI-powered video rendering4license: FlowHunt Attribution License5---6
7# Rendervid MCP Skill
8
9Generate professional videos and images from JSON templates using natural language. Rendervid provides a declarative, AI-friendly way to create animated content for social media, marketing, data visualization, and more.
10
11## Overview
12
13Rendervid is a Model Context Protocol (MCP) server that enables AI agents to:
14- Generate videos in multiple formats (MP4, WebM, MOV, GIF)
15- Create static images (PNG, JPEG, WebP)
16- Access 50+ ready-to-use templates
17- Validate templates before rendering
18- Discover all available capabilities
19
20**Key Features:**
21- **Declarative JSON Templates** - Define videos/images as simple JSON structures
22- **40+ Animation Presets** - Entrance, exit, and emphasis animations with easing functions
23- **Rich Layer Types** - Text, images, video, shapes, audio, Lottie, custom React components
24- **50+ Examples** - Ready-to-use templates across 10+ categories
25- **Type-Safe** - Full TypeScript with Zod validation
26- **Cross-Platform** - Works in Node.js and browsers
27
28## When to Use This Skill
29
30Use Rendervid when you need to:
31
32### Content Creation
33- Generate social media content (Instagram stories, TikTok videos, YouTube thumbnails)
34- Create marketing videos (product showcases, sale announcements, testimonials)
35- Build data visualizations (animated charts, graphs, dashboards)
36- Produce educational content (course intros, lesson titles)
37
38### Automation
39- Batch generate videos from data
40- Create personalized video content
41- Generate thumbnails for video content
42- Build video generation workflows
43
44### Prototyping
45- Quickly test video concepts
46- Create animated mockups
47- Generate placeholder content
48- Explore animation styles
49
50### AI-Driven Content
51- Let AI agents create videos from text descriptions
52- Generate videos based on user input
53- Create dynamic content based on data
54- Build video generation chatbots
55
56## Available Tools
57
58The Rendervid MCP server provides 6 tools:
59
60### 1. render_video
61Generate video files from JSON templates.
62
63**Common uses:**
64- Social media videos
65- Marketing content
66- Animated explainers
67- Data visualizations
68
69**Example prompt:**
70```
71"Create a 5-second Instagram story with text 'Summer Sale' and a blue gradient background"
72```
73
74### 2. render_image
75Generate static images or single frames.
76
77**Common uses:**
78- Thumbnails
79- Social media images
80- Preview frames
81- Static graphics
82
83**Example prompt:**
84```
85"Generate a YouTube thumbnail with title 'Best Practices 2024'"
86```
87
88### 3. validate_template
89Validate template JSON before rendering.
90
91**Common uses:**
92- Check template syntax
93- Catch errors early
94- Verify AI-generated templates
95- Debug template issues
96
97**Example prompt:**
98```
99"Validate this template: [paste JSON]"
100```
101
102### 4. get_capabilities
103Discover all available features.
104
105**Common uses:**
106- Learn what's possible
107- Find available animations
108- Check supported formats
109- Understand layer types
110
111**Example prompt:**
112```
113"What animation presets are available?"
114```
115
116### 5. list_examples
117Browse 50+ example templates.
118
119**Common uses:**
120- Find templates by category
121- Discover use cases
122- Get inspiration
123- Learn template structure
124
125**Example prompt:**
126```
127"Show me all social media templates"
128```
129
130### 6. get_example
131Load a specific example template.
132
133**Common uses:**
134- Use ready-made templates
135- Start from examples
136- Learn template patterns
137- Customize existing templates
138
139**Example prompt:**
140```
141"Load the Instagram story template"
142```
143
144## Template Structure
145
146Rendervid templates are JSON objects with three main sections:
147
148```json
149{
150 "name": "My Video",
151 "output": {
152 "type": "video",
153 "width": 1920,
154 "height": 1080,
155 "fps": 30,
156 "duration": 5
157 },
158 "inputs": [
159 {
160 "key": "title",
161 "type": "string",
162 "label": "Title",
163 "default": "Hello"
164 }
165 ],
166 "composition": {
167 "scenes": [
168 {
169 "id": "main",
170 "startFrame": 0,
171 "endFrame": 150,
172 "backgroundColor": "#1a1a2e",
173 "layers": [
174 {
175 "id": "title",
176 "type": "text",
177 "position": { "x": 960, "y": 540 },
178 "size": { "width": 1600, "height": 200 },
179 "inputKey": "title",
180 "props": {
181 "fontSize": 120,
182 "color": "#ffffff",
183 "textAlign": "center"
184 },
185 "animations": [
186 {
187 "type": "entrance",
188 "effect": "fadeInUp",
189 "duration": 30,
190 "easing": "easeOut"
191 }
192 ]
193 }
194 ]
195 }
196 ]
197 }
198}
199```
200
201### Key Concepts
202
203**Output Configuration:**
204- Defines video/image dimensions, FPS, duration
205- Supports multiple formats and codecs
206
207**Dynamic Inputs:**
208- Variables that can be customized per render
209- Support strings, numbers, booleans, colors, images, videos
210
211**Composition:**
212- Scenes with frame ranges
213- Layers with types, positions, props
214- Animations with presets and easing
215
216## Common Patterns
217
218### Pattern 1: Text Animation
219```
220User: "Create a video with animated text"
221
222AI flow:
2231. get_capabilities() to understand animations
2242. render_video() with fadeIn animation
225```
226
227### Pattern 2: Social Media Content
228```
229User: "Make an Instagram story for a product launch"
230
231AI flow:
2321. list_examples({ category: "social-media" })
2332. get_example({ examplePath: "social-media/instagram-story" })
2343. render_video() with custom inputs
235```
236
237### Pattern 3: Data Visualization
238```
239User: "Create an animated bar chart showing Q1 sales"
240
241AI flow:
2421. get_example({ examplePath: "data-visualization/animated-bar-chart" })
2432. Modify template with data
2443. render_video()
245```
246
247### Pattern 4: Batch Generation
248```
249User: "Create 10 videos with different titles"
250
251AI flow:
2521. Load template once
2532. Call render_video() 10 times with different inputs
254```
255
256### Pattern 5: Template Validation
257```
258User: "Check if my custom template is valid"
259
260AI flow:
2611. validate_template() to check structure
2622. Fix any errors
2633. render_video() to generate
264```
265
266## Special Topics
267
268### Animations
269
270Rendervid supports 40+ animation presets organized by category:
271
272**Entrance Animations:**
273- fadeIn, fadeInUp, fadeInDown, fadeInLeft, fadeInRight
274- slideInUp, slideInDown, slideInLeft, slideInRight
275- scaleIn, zoomIn, rotateIn, bounceIn, flipInX, flipInY
276
277**Exit Animations:**
278- fadeOut, fadeOutUp, fadeOutDown, fadeOutLeft, fadeOutRight
279- slideOutUp, slideOutDown, slideOutLeft, slideOutRight
280- scaleOut, zoomOut, rotateOut, bounceOut
281
282**Emphasis Animations:**
283- pulse, shake, bounce, swing, wobble, flash, rubberBand
284- heartbeat, float, spin, tada, jello, flip
285
286**Easing Functions (30+):**
287- Linear: linear
288- Ease: ease, easeIn, easeOut, easeInOut
289- Cubic: easeInQuad, easeOutQuad, easeInOutQuad
290- And more: Cubic, Quart, Quint, Sine, Expo, Circ, Back, Elastic, Bounce
291
292### Layer Types
293
294**Text Layers:**
295- Typography controls (font, size, weight, style)
296- Alignment and spacing
297- Color and effects
298- Google Fonts support
299
300**Image Layers:**
301- Fit options (cover, contain, fill)
302- Scaling and positioning
303- Filters and blend modes
304
305**Video Layers:**
306- Playback controls
307- Timing and trimming
308- Audio control
309
310**Shape Layers:**
311- Rectangles, ellipses, polygons, stars, paths
312- Fill and stroke
313- Border radius and effects
314
315**Audio Layers:**
316- Background music
317- Sound effects
318- Volume and fade controls
319
320**Lottie Layers:**
321- Animated vector graphics
322- JSON animation files
323
324**Custom Layers:**
325- React components
326- Full CSS/Tailwind support
327- Advanced use cases
328
329### Output Formats
330
331**Video Formats:**
332- MP4 (H.264, H.265)
333- WebM (VP8, VP9, AV1)
334- MOV (ProRes, H.264)
335- GIF
336
337**Image Formats:**
338- PNG (lossless)
339- JPEG (lossy, quality control)
340- WebP (modern, efficient)
341
342**Quality Presets:**
343- draft: Fast rendering, lower quality
344- standard: Balanced quality/speed
345- high: High quality, slower rendering
346- lossless: Maximum quality, large files
347
348### Template Categories
349
350**Getting Started:**
351- Hello World
352- First Video
353- First Image
354
355**Social Media:**
356- Instagram Story (1080x1920)
357- Instagram Post (1080x1080)
358- TikTok Video (1080x1920)
359- YouTube Thumbnail (1280x720)
360- Twitter Card (1200x630)
361- LinkedIn Banner (1584x396)
362
363**Marketing:**
364- Product Showcase
365- Sale Announcement
366- Testimonial Video
367- Before & After
368- Logo Reveal
369
370**Data Visualization:**
371- Animated Bar Chart
372- Line Graph
373- Pie Chart
374- Counter Animation
375- Progress Dashboard
376
377**Business:**
378- Quote Card
379- Stat Highlight
380- Feature Announcement
381- Team Introduction
382- Company Update
383
384**Education:**
385- Lesson Title
386- Quiz Question
387- Course Intro
388- Study Tip
389- Progress Tracker
390
391**Celebrations:**
392- Birthday Card
393- Holiday Greeting
394- Congratulations
395- Thank You
396- Milestone
397
398**E-commerce:**
399- Product Launch
400- Flash Sale
401- New Arrival
402- Customer Review
403- Price Drop
404
405**Event:**
406- Event Announcement
407- Countdown Timer
408- Registration
409- Thank You (Attendees)
410- Highlight Reel
411
412**Podcast:**
413- Episode Intro
414- Quote Card
415- Guest Introduction
416- Coming Soon
417- Subscribe Reminder
418
419**Real Estate:**
420- Property Showcase
421- Open House
422- Sold Announcement
423- Agent Introduction
424- Virtual Tour Intro
425
426## Best Practices
427
428### Template Design
429
4301. **Keep it Simple**
431 - Start with examples
432 - Build complexity gradually
433 - Test frequently
434
4352. **Use Dynamic Inputs**
436 - Make values customizable
437 - Provide sensible defaults
438 - Document input purposes
439
4403. **Optimize Frame Ranges**
441 - Minimize total frames for faster rendering
442 - Use appropriate FPS (24-30 for most content)
443 - Consider file size vs quality tradeoffs
444
4454. **Test Animations**
446 - Preview before full render
447 - Check timing and easing
448 - Verify layer stacking
449
450### Performance
451
4521. **Draft Quality for Iteration**
453 - Use draft quality during development
454 - Switch to high quality for finals
455 - Consider file size requirements
456
4572. **Batch Rendering**
458 - Reuse templates when possible
459 - Queue multiple renders
460 - Monitor resource usage
461
4623. **Asset Optimization**
463 - Compress images before use
464 - Use appropriate video codecs
465 - Optimize Lottie animations
466
467### AI Integration
468
4691. **Clear Descriptions**
470 - Describe intent clearly
471 - Specify dimensions and duration
472 - Mention animation preferences
473
4742. **Validate Templates**
475 - Always validate AI-generated templates
476 - Check for common errors
477 - Test with sample data
478
4793. **Iterate Progressively**
480 - Start simple, add complexity
481 - Test each change
482 - Use examples as starting points
483
484## Example Workflows
485
486### Workflow 1: Quick Social Media Post
487
488```
489User: "Create an Instagram story announcing a flash sale"
490
491AI Agent:
4921. list_examples({ category: "social-media" })
4932. get_example({ examplePath: "social-media/instagram-story" })
4943. render_video({
495 template: {...},
496 inputs: {
497 title: "Flash Sale",
498 subtitle: "50% Off Everything",
499 backgroundColor: "#FF6B6B"
500 },
501 format: "mp4",
502 quality: "high"
503 })
504
505Result: Instagram-ready 1080x1920 video
506```
507
508### Workflow 2: Data Visualization
509
510```
511User: "Create an animated chart showing Q1 revenue growth"
512
513AI Agent:
5141. get_example({ examplePath: "data-visualization/animated-bar-chart" })
5152. Modify template with revenue data
5163. validate_template({ template })
5174. render_video({
518 template,
519 inputs: { data: [...], title: "Q1 Revenue" },
520 format: "mp4",
521 quality: "high"
522 })
523
524Result: Animated bar chart video
525```
526
527### Workflow 3: Custom Template Creation
528
529```
530User: "Create a custom video with my brand colors and logo"
531
532AI Agent:
5331. get_capabilities() to understand options
5342. Start with example template
5353. Customize colors, fonts, layout
5364. validate_template() to check
5375. render_video() with draft quality
5386. Iterate based on preview
5397. Final render with high quality
540
541Result: Custom branded video
542```
543
544### Workflow 4: Batch Video Generation
545
546```
547User: "Create welcome videos for 100 new users"
548
549AI Agent:
5501. get_example({ examplePath: "business/team-introduction" })
5512. Loop through user list:
552 - render_video({
553 template,
554 inputs: { name: user.name },
555 outputPath: `welcome-${user.id}.mp4`
556 })
557
558Result: 100 personalized welcome videos
559```
560
561## Troubleshooting
562
563### Common Issues
564
565**Issue: Server not connecting**
566- Check absolute path in MCP config
567- Verify Node.js version (20+)
568- Check server builds: `pnpm build`
569- Review logs in AI editor
570
571**Issue: FFmpeg not found**
572```bash
573# Install FFmpeg
574brew install ffmpeg # macOS
575sudo apt install ffmpeg # Ubuntu
576choco install ffmpeg # Windows
577```
578
579**Issue: Template validation fails**
580- Check JSON syntax
581- Verify required fields
582- Review error messages
583- Use validate_template tool
584
585**Issue: Slow rendering**
586- Use draft quality for iteration
587- Reduce video duration/FPS
588- Optimize asset sizes
589- Check system resources
590
591**Issue: Node version errors**
592- Update to Node.js 20+
593- Use full Node.js path in config
594- Verify with: `node --version`
595
596### Getting Help
597
598- **Documentation**: [MCP Server README](../mcp/README.md)
599- **Examples**: Browse `/examples/` directory
600- **Issues**: [GitHub Issues](https://github.com/QualityUnit/rendervid/issues)
601- **Discussions**: [GitHub Discussions](https://github.com/QualityUnit/rendervid/discussions)
602
603## Resources
604
605### Documentation
606- [MCP Server Documentation](../mcp/README.md)
607- [Installation Guide](../mcp/INSTALL.md)
608- [Quick Start Guide](../mcp/QUICKSTART.md)
609- [API Reference](./README.md)
610
611### Templates
612- [50+ Example Templates](../examples/)
613- [Skills Registry](./skills-registry.json)
614- [Individual Tool Docs](./README.md#available-skills)
615
616### External Links
617- [Model Context Protocol](https://modelcontextprotocol.io)
618- [MCP Specification](https://modelcontextprotocol.io/specification)
619- [Rendervid Repository](https://github.com/QualityUnit/rendervid)
620
621## Version History
622
623### 0.1.0 (Initial Release)
624- 6 MCP tools (render_video, render_image, validate_template, get_capabilities, list_examples, get_example)
625- 50+ example templates across 10 categories
626- 40+ animation presets with 30+ easing functions
627- Support for MP4, WebM, MOV, GIF, PNG, JPEG, WebP
628- Full TypeScript with Zod validation
629- Stdio transport for maximum compatibility
630- Comprehensive documentation
631
632## License
633
634FlowHunt Attribution License - Free for commercial and personal use with attribution
635
636## Contributing
637
638Contributions welcome! See [CONTRIBUTING.md](../CONTRIBUTING.md) for guidelines.
639
640## Credits
641
642Developed by QualityUnit
643
644Built with:
645- TypeScript
646- Model Context Protocol SDK
647- Zod for validation
648- Puppeteer for rendering
649- FFmpeg for video encoding