SVG to Video

السجل الرسمي الوسائط والتصميم

Convert animated SVG (CSS/SMIL) to video (MP4/WebM) or image (GIF/aPNG) with in-band delivery.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

NPM package @gehdoc/svg-to-video
Claude Code
claude mcp add svg-to-video -e 'DO_NOT_TRACK=0' -e 'MCP_HOSTED=false' -e 'PUPPETEER_EXECUTABLE_PATH=<PUPPETEER_EXECUTABLE_PATH>' -e 'PUPPETEER_ARGS=<PUPPETEER_ARGS>' -- npx -y @gehdoc/svg-to-video@0.33.0
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "svg-to-video": {
            "command": "npx",
            "args": [
                "-y",
                "@gehdoc/svg-to-video@0.33.0"
            ],
            "env": {
                "DO_NOT_TRACK": "0",
                "MCP_HOSTED": "false",
                "PUPPETEER_EXECUTABLE_PATH": "<PUPPETEER_EXECUTABLE_PATH>",
                "PUPPETEER_ARGS": "<PUPPETEER_ARGS>"
            }
        }
    }
}

متغيرات البيئة

  • DO_NOT_TRACK Set to '1' or 'true' to disable anonymous usage telemetry.
  • MCP_HOSTED Set to 'true' or '1' to enforce security sandboxing against path traversal by forbidding local file path arguments.
  • PUPPETEER_EXECUTABLE_PATH Custom file path to a system Chromium or Chrome binary.
  • PUPPETEER_ARGS Additional command-line flags to pass to the Puppeteer Chromium instance.
OCI package docker.io/gehdoc/svg-to-video:0.33.0
Claude Code
claude mcp add svg-to-video -e 'DO_NOT_TRACK=0' -e 'MCP_HOSTED=false' -e 'PUPPETEER_EXECUTABLE_PATH=<PUPPETEER_EXECUTABLE_PATH>' -e 'PUPPETEER_ARGS=<PUPPETEER_ARGS>' -- docker run -i --rm docker.io/gehdoc/svg-to-video:0.33.0 mcp
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "svg-to-video": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "docker.io/gehdoc/svg-to-video:0.33.0",
                "mcp"
            ],
            "env": {
                "DO_NOT_TRACK": "0",
                "MCP_HOSTED": "false",
                "PUPPETEER_EXECUTABLE_PATH": "<PUPPETEER_EXECUTABLE_PATH>",
                "PUPPETEER_ARGS": "<PUPPETEER_ARGS>"
            }
        }
    }
}

متغيرات البيئة

  • DO_NOT_TRACK Set to '1' or 'true' to disable anonymous usage telemetry.
  • MCP_HOSTED Set to 'true' or '1' to enforce security sandboxing against path traversal by forbidding local file path arguments.
  • PUPPETEER_EXECUTABLE_PATH Custom file path to a system Chromium or Chrome binary.
  • PUPPETEER_ARGS Additional command-line flags to pass to the Puppeteer Chromium instance.

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. SVG to Video
  2. 🌟 Why SVG to Video?
  3. 🚀 Getting Started
  4. 🌐 Web Studio
  5. 🚀 CLI / Docker Tool
  6. 🤖 AI Agent & MCP Integration
  7. 🔗 Official Package Distributions
  8. 📦 Quick Installation & Execution
  9. 🛠 Technical Details
  10. ❓ FAQ
  11. 🤝 Contributing
  12. 💖 Support the Project
  13. 📜 License

SVG to Video

A high-fidelity tool to transform your CSS- and SMIL-animated SVGs into high-quality videos (MP4, WebM, MKV, MOV) or lightweight animated formats (aPNG, GIF) with perfect alpha-channel transparency directly in your browser or via CLI/MCP server.

Automated demo generated by our CI/CD pipeline


🌟 Why SVG to Video?

  • Transparent Backgrounds: Export your animations with a full alpha channel using WebM or aPNG, and optimized indexed transparency with GIF89a. Perfect for overlays in video editing tools or web use.
  • Privacy-First: The Web Studio runs entirely in your browser—your SVG files never leave your computer.
  • Frame-Accurate: Our engine scrubs both the Web Animations API and native SVG SMIL, ensuring every frame is captured exactly as rendered.
  • AI Agent Native: Native Model Context Protocol (MCP) server and Agent Skill (SKILL.md) support indexed on the official MCP Registry (mcp.json) and hosted live on HuggingFace Spaces.
  • Universal Animated Formats: Beyond video, generate lightweight Animated PNGs (aPNG) and GIFs perfect for documentation, Slack, or GitHub, with full control over background transparency.
  • Copy to Clipboard: Instant export to Base64 Data URL—copy your video and embed it directly into your HTML, CSS, or JS code without manual downloads. Perfect for rapid prototyping and developers.
  • Metadata Injection: Support for custom titles and comments across video (MP4, WebM, MKV, MOV) and animated image (aPNG, GIF) formats.
  • Versatile: Whether you need an accessible Web Studio for quick conversions or a powerful CLI tool for batch automation and CI/CD pipelines, this project has you covered.

🚀 Getting Started

Choose the entry point that matches your needs:

  • Web Studio: The easiest way to convert SVGs to video, high-fidelity aPNG, or optimized GIF in your browser without any installation.
  • CLI / Docker Tool: For batch processing, server-side automation, and CI/CD integration.
  • AI Agent & MCP Server: For Claude Desktop, Cursor, Antigravity, and autonomous LLM workflows.

🌐 Web Studio

🚀 Try the Web Studio

Our Web Studio is a serverless, client-side rendering tool. It runs entirely in your browser using WebCodecs—your SVG files never leave your computer, ensuring absolute privacy. The interface is optimized for high-productivity on screens starting from 720p resolution.

Automated Demo: The demo video at the top of this README is automatically generated and updated by our CI/CD pipeline using Playwright and Driver.js, ensuring it always reflects the latest UI changes.

Privacy Note: We use Umami Analytics to collect anonymous usage data across our Web Studio, CLI, and MCP server interfaces (e.g., number of conversions and format usage) to help us improve the tool. This tracking is cookie-less, respects standard "Do Not Track" settings (set the DO_NOT_TRACK=1 environment variable to opt out), and never collects personal information or SVG contents. See docs/ANALYTICS.md for details.

Explore our Visual Gallery (Storybook) to see how the engine handles complex CSS, SMIL, and fonts.

Quick Start
  1. Open the Web Studio.
  2. Drag and drop your .svg file, or test the engine instantly with 1-click built-in samples.
  3. Adjust resolution, duration, and FPS.
  4. Select your format, toggle Transparent Background if needed, and ensure High-Fidelity Capture is enabled for best results.
  5. Click Export.

🚀 CLI / Docker Tool

For automated or batch processing, use the CLI tool. It is built to run in a headless environment, making it perfect for CI/CD pipelines or server-side automation.

Quick Start

Ensure Node.js and FFmpeg are installed.

# Node.js (auto-detected duration)
npx -y -p @gehdoc/svg-to-video svg-to-video input.svg 60 ./out-dir

# Node.js (explicit duration & GIF output)
npx -y -p @gehdoc/svg-to-video svg-to-video input.svg 60 ./out-dir -d 5 --format gif --transparent

# Node.js (custom resolution dimensions e.g. vertical 1080x1920)
npx -y -p @gehdoc/svg-to-video svg-to-video input.svg 60 ./out-dir --resolution 1080x1920

# Node.js (animated PNG output)
npx -y -p @gehdoc/svg-to-video svg-to-video input.svg 60 ./out-dir -d 5 --format apng

# Docker (zero local dependencies; requires --shm-size=2gb for Chromium rendering; add :Z to -v for SELinux / Fedora)
docker run --rm --shm-size=2gb -e PUPPETEER_ARGS="--no-sandbox" -v $(pwd):/data:Z gehdoc/svg-to-video /data/input.svg 60 /data/out-dir -d 5 --format gif

See docs/CLI.md for full usage, arguments, and options. For local building and source execution, see CONTRIBUTING.md.


🤖 AI Agent & MCP Integration

Connect svg-to-video to AI Assistants (Claude Desktop, Cursor, Antigravity, AutoGPT) via Model Context Protocol:

  1. Add to mcpServers config:
     {
       "mcpServers": {
         "svg-to-video": {
           "command": "npx",
           "args": ["-y", "-p", "@gehdoc/svg-to-video", "svg-to-video-mcp"]
         }
       }
     }
  2. Prompt your AI Assistant:

    "Convert examples/example.svg into a 60fps transparent WebM video."

See docs/MCP.md for full setup instructions, tool schemas, Docker execution, and agent prompting guides.


🔗 Official Package Distributions


📦 Quick Installation & Execution

# Run on-demand via npx (no global installation required)
npx -y -p @gehdoc/svg-to-video svg-to-video input.svg 60 ./out-dir

# Install globally via npm
npm install -g @gehdoc/svg-to-video

# Pull official Docker image from Docker Hub
docker pull gehdoc/svg-to-video:latest

🛠 Technical Details

For a deep dive into the rendering engine, algorithms, and infrastructure, see docs/ARCHITECTURE.md.

The tool works by isolating the SVG, scrubbing both the Web Animations API and native SVG SMIL DOM, and capturing frames via WebCodecs or FFmpeg.


❓ FAQ

Common questions about privacy, how frame scrubbing works, CI/CD automation, and transparency support are answered in docs/FAQ.md.


🤝 Contributing

Contributions are welcome! This project follows a Spec-Driven Development (SDD) workflow to ensure clear requirements and high quality. Please open an issue or pull request.

Check out our Active Roadmap to see what we're working on next.

For instructions on contributing, build commands, security standards, and the technical roadmap, please see CONTRIBUTING.md.


💖 Support the Project

If you find this tool helpful, please consider supporting its development:

Your support helps cover maintenance and further development of the tool. Thank you!


📜 License

This project is licensed under the MIT License.

الأسئلة الشائعة

ما هو SVG to Video؟

Convert animated SVG (CSS/SMIL) to video (MP4/WebM) or image (GIF/aPNG) with in-band delivery.

كيف أثبّت SVG to Video؟

يعمل على جهازك. في Claude Code: claude mcp add svg-to-video -e 'DO_NOT_TRACK=0' -e 'MCP_HOSTED=false' -e 'PUPPETEER_EXECUTABLE_PATH=<PUPPETEER_EXECUTABLE_PATH>' -e 'PUPPETEER_ARGS=<PUPPETEER_ARGS>' -- npx -y @gehdoc/svg-to-video@0.33.0. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج SVG to Video إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل SVG to Video مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون SVG to Video؟

ينشره GehDoc. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.