Skip to main content

AI-powered video editing MCP server with Submagic API integration

Project description

Submagic MCP Server

mcp-name: io.github.sidart10/submagic-mcp-server

Python MCP server for AI-powered video editing using the Submagic API. Supports automatic captions in 107 languages, magic zooms, B-rolls, silence removal, and viral clip generation from YouTube videos.

Features

  • Automatic AI captions with 98%+ accuracy in 107 languages
  • Magic zooms (AI-powered dynamic emphasis effects)
  • Magic B-rolls (auto-insert stock footage with configurable coverage)
  • Silence removal with three speed presets
  • Filler word removal (removes "um", "uh", "like")
  • Custom B-roll insertion at exact timestamps
  • YouTube to short-form clips (TikTok, Reels, Shorts)
  • 30+ professional templates (Hormozi, Beast, Sara)
  • Platform-optimized exports (9:16, 1:1, 16:9, 4:5)
  • Post-creation editing and iterative refinement

Installation

From PyPI

pip install submagic-mcp-server

From Source

git clone https://github.com/sidart10/submagic-mcp-server.git
cd submagic-mcp-server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Configuration

Get API Key

Sign up at https://app.submagic.co/signup to get your API key.

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "submagic": {
      "command": "python",
      "args": ["-m", "submagic_mcp"],
      "env": {
        "SUBMAGIC_API_KEY": "sk-your-api-key-here"
      }
    }
  }
}

If installed from source, use absolute paths:

{
  "mcpServers": {
    "submagic": {
      "command": "/path/to/venv/bin/python",
      "args": ["/path/to/submagic_mcp.py"],
      "env": {
        "SUBMAGIC_API_KEY": "sk-your-api-key-here"
      }
    }
  }
}

Restart Claude Desktop after configuration.

Tools

submagic_list_languages

Get list of supported languages for transcription.

Returns 107+ language codes (e.g., "en", "es", "fr", "cmn_en").

Rate limit: 1000 requests/hour

submagic_list_templates

Get available video styling templates.

Returns 30+ template names including Hormozi series, Beast, Sara, and others.

Rate limit: 1000 requests/hour

submagic_create_project

Create a new video project with AI features.

Inputs:

  • title (string): Project title
  • language (string): Language code from submagic_list_languages
  • video_url (string): Public URL to video file
  • template_name (string, optional): Template name
  • user_theme_id (string, optional): Custom theme UUID
  • magic_zooms (boolean, optional): Enable AI zooms (default: true)
  • magic_brolls (boolean, optional): Enable auto B-rolls (default: true)
  • magic_brolls_percentage (integer, optional): B-roll coverage 0-100 (default: 75)
  • remove_silence_pace (string, optional): "natural", "fast", or "extra-fast" (default: "medium")
  • remove_bad_takes (boolean, optional): Remove filler words (default: true)
  • dictionary (array, optional): Custom words for transcription accuracy
  • webhook_url (string, optional): Completion notification URL

Returns project ID and status. Processing takes 2-10 minutes.

Rate limit: 500 requests/hour

submagic_get_project

Get project details and status.

Inputs:

  • project_id (string): UUID from submagic_create_project

Returns complete project information including status, settings, and download URL when complete.

Rate limit: 500 requests/hour

submagic_update_project

Update project settings after creation.

Inputs:

  • project_id (string): Project UUID
  • remove_silence_pace (string, optional): Adjust silence removal speed
  • remove_bad_takes (boolean, optional): Enable/disable filler word removal
  • custom_broll_items (array, optional): Insert custom B-roll clips
    • Each item: {startTime: float, endTime: float, userMediaId: string}

Must re-export project after updating to apply changes.

Rate limit: 100 requests/hour

submagic_export_project

Export completed project video.

Inputs:

  • project_id (string): Project UUID
  • fps (integer, optional): Frames per second 1-60 (default: 30)
  • width (integer, optional): Video width in pixels 100-4000 (default: 1080)
  • height (integer, optional): Video height in pixels 100-4000 (default: 1920)
  • webhook_url (string, optional): Export completion notification URL

Returns export status. Use submagic_get_project to get download URL.

Rate limit: 500 requests/hour

submagic_create_magic_clips

Generate viral short-form clips from YouTube videos.

Inputs:

  • title (string): Project title
  • youtube_url (string): YouTube video URL
  • language (string): Language code
  • min_clip_length (integer, optional): Minimum duration in seconds 15-300 (default: 15)
  • max_clip_length (integer, optional): Maximum duration in seconds 15-300 (default: 60)
  • user_theme_id (string, optional): Custom theme UUID
  • webhook_url (string, optional): Completion notification URL

AI analyzes video and generates multiple optimized clips. Processing takes 5-15 minutes.

Rate limit: 500 requests/hour

Usage Examples

Create Video with AI Captions

submagic_create_project(
    title="Product Demo",
    language="en",
    video_url="https://example.com/video.mp4",
    template_name="Hormozi 2",
    remove_silence_pace="fast"
)

Generate TikTok Clips from YouTube

submagic_create_magic_clips(
    title="TikTok Highlights",
    youtube_url="https://youtube.com/watch?v=abc123",
    language="en",
    min_clip_length=15,
    max_clip_length=30
)

Export for Instagram Reels (9:16)

submagic_export_project(
    project_id="project-uuid",
    width=1080,
    height=1920,
    fps=30
)

Limitations

  • Videos must be publicly accessible URLs
  • Maximum file size: 2GB
  • Maximum duration: 2 hours
  • Supported formats: MP4, MOV
  • remove_bad_takes adds 1-2 minutes processing time
  • Some dashboard features not available via API (see docs/API_LIMITATIONS_DISCOVERED.md)

Development

Run Tests

python tests/test_server.py

Project Structure

submagic-mcp-server/
├── submagic_mcp.py      # Main server implementation
├── tests/               # Test suite
├── docs/                # API documentation
├── pyproject.toml       # Package configuration
└── requirements.txt     # Dependencies

License

MIT

Resources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

submagic_mcp_server-1.0.3.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

submagic_mcp_server-1.0.3-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file submagic_mcp_server-1.0.3.tar.gz.

File metadata

  • Download URL: submagic_mcp_server-1.0.3.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for submagic_mcp_server-1.0.3.tar.gz
Algorithm Hash digest
SHA256 aca1404ab96568e099a1e7e0ea707dbd42a89af36218d469037f2f2c7254f116
MD5 efbfcc4796b2a115f24fcd4694f690d7
BLAKE2b-256 0d938e1720d25d4e6466baa87a924ebcbe0d0ea1346c18ea455d7bcccf9cd050

See more details on using hashes here.

File details

Details for the file submagic_mcp_server-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for submagic_mcp_server-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 79b008a6899c37705ec8c1f2b3fef1ee420ee241e99b58f87d4cef034aa9fc81
MD5 b286600e9c3a5c1e163b5ba9e55201af
BLAKE2b-256 b9400da671a43998c73301a8bf40e0f1391fa787846c464872cb64c838004c2f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page