DevelopersAPI Docs
Resources

MCP Server

Bumi Digital provides an official Model Context Protocol (MCP) server so AI assistants and agents can call every generation endpoint directly.

Bumi Digital provides an official Model Context Protocol (MCP) server — use every API on this platform directly from AI assistants like Claude Desktop, ChatGPT, Cursor, and Trae, without writing any code. The server is a thin wrapper over the REST API v1, so credits, refunds, and webhooks behave exactly the same.

Option A — Local via npx (Claude, Cursor, Trae)

No installation required. Add this to your MCP client configuration:

json
{
  "mcpServers": {
    "bumi-digital": {
      "command": "npx",
      "args": ["-y", "bumi-digital-mcp"],
      "env": { "BUMI_API_KEY": "YOUR_API_KEY" }
    }
  }
}

Option B — Remote URL

If your client supports remote MCP servers (Streamable HTTP), point it to the hosted endpoint and pass your API key as a Bearer header:

json
{
  "mcpServers": {
    "bumi-digital": {
      "url": "https://mcp.bumi.digital/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Option C — ChatGPT Connector

ChatGPT connectors do not support custom headers. Pass your API key as a query parameter instead, and set authentication to None:

text
Server URL:    https://mcp.bumi.digital/mcp?api_key=YOUR_API_KEY
Authentication: None (no OAuth)

In HTTP mode the API key is resolved per request in this order: ?api_key= query parameter → Authorization header → server environment variable (fallback).

Available Tools

ToolDescription
generate_imageGenerate images (text-to-image, image-to-image)
generate_videoGenerate videos (text-to-video, image-to-video, motion control, avatar, lipsync)
generate_audioGenerate audio (music, speech/TTS, lipsync)
upscale_imageUpscale images to higher resolution
upscale_videoUpscale videos to higher resolution
list_modelsList available AI models by type
get_models_pricingList models with credit pricing and full input schemas
check_creditsCheck current credit balance
get_generation_statusPoll status/result of an async generation
list_generationsGeneration history with filters and pagination
upload_fileUpload image/video/audio (via source_url or base64) for generation input

Generation tools may return status: "processing" for async results — poll with get_generation_status until it becomes completed or failed. Credits are deducted upfront and refunded automatically on failure, just like the REST API.