GenMagic
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Generate images, video, speech, music and text with 450+ AI models, one API key and one balance.
| Author | io.github.yumaheymans |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2888 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"GenMagic": {
"url": "https://genmagic.co/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (7)
list_modelsList the AI models GenMagic runs, newest first, with each one's id, price and key details (context window and capabilities for text, voices for speech, resolutions, clip lengths and sound for video). Pass a model's id as 'model' to generate_text, generate_image, generate_speech, generate_music or create_video. Filter by category and search; the model marked default is the one that runs when no model is named (for generate_text, when no type is given either). Needs no API key and costs nothing.
Parameters:
limit— integer — How many models to return (1-100, default 25).search— string — Only models whose id or name contains this text, e.g. veo, flux, claude.category— string — Only models of this kind. audio holds both speech and music models.capability— string — Text models only: keep models with this capability.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
generate_textGenerate text with GenMagic: copy, an answer, a draft, code, an SVG graphic, or a complete web page. Pass 'type' to make a specific artifact ("website" for a full self-contained HTML page, "svg" for a vector graphic, "code" for a code snippet, "writing" for prose); omit it for plain text. Attach files for the model to read via 'attachments' (PDF, Word/Excel/PowerPoint, CSV, text/code, images, audio); GenMagic converts anything a model cannot ingest natively. If the caller's account has brand personalization on, the output comes out on-brand automatically, and a website or svg also picks up the brand's palette and typeface.
Parameters:
prompt(required) — string — What to write or produce.type— string — The kind of artifact to make. Omit for plain text.model— string — Optional GenMagic model id for the text (call list_models with category "text" for the ids and prices). Omit it to let GenMagic choose its default.system— string — Optional system instruction to steer tone, role, or format.attachments— array — Files for the model to read. Each item is { name, mime, dataUrl } where dataUrl is a base64 data URL (data:<mime>;base64,...). Any type is accepted: PDF, docx/xlsx/pptx, csv, text/code, images, audio.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
generate_imageGenerate an image from a text description with GenMagic. Pass 'image' (an https or data URL) to transform THAT image instead of generating from scratch (image-to-image), and type "logo" to make a brand mark. Returns the image inline plus a hosted URL. On-brand automatically when the account has brand personalization on.
Parameters:
prompt(required) — string — A description of the image to create (or the edit to make when 'image' is given).size— string — Image size, e.g. 1024x1024 (square), 1792x1024 (wide), 1024x1792 (tall).type— string — Set to 'logo' to generate a brand mark instead of a picture.image— string — Optional reference image (an https URL or a data:image URL) to transform (image-to-image), e.g. a character to keep consistent.model— string — Optional GenMagic model id for the image (call list_models with category "image" for the ids and prices). Omit it to let GenMagic choose its default.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
generate_speechTurn text into spoken audio with GenMagic. Returns the audio inline plus a hosted URL. The text is voiced verbatim.
Parameters:
input(required) — string — The text to speak, read aloud verbatim.model— string — Optional GenMagic model id for the speech (call list_models with category "audio" for the ids and prices). Omit it to let GenMagic choose its default.voice— string — Optional voice name (e.g. alloy); list_models shows each speech model's voices. Defaults to a neutral voice.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
generate_musicGenerate an original music track from a text description with GenMagic. Returns the audio inline plus a hosted URL. On-brand in mood automatically when the account has brand personalization on.
Parameters:
prompt(required) — string — A description of the music to create (genre, mood, instruments, tempo).model— string — Optional GenMagic model id for the music (call list_models with category "audio" for the ids and prices). Omit it to let GenMagic choose its default.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
create_videoStart generating a video from a text description with GenMagic (or animate an image: pass 'image' as the opening frame), with any text-to-video model, clip length, resolution and sound the model supports (list_models with category "video" shows them and the per-second price). Video is asynchronous, so this returns a job id immediately (nothing is charged yet). Poll it with the get_video tool every few seconds until the status is "completed" to get the hosted video URL. A failed render is never charged. On-brand automatically when the account has brand personalization on.
Parameters:
prompt(required) — string — A description of the video to create.image— string — Optional image (an https URL or a data:image URL) the clip opens on: image-to-video. The prompt then describes the motion. list_models shows each model's frame_images, and in its video prices image_input_usd or image_to_video_usd_per_second where a model bills image-to-video apart.model— string — Optional GenMagic model id for the video (call list_models with category "video" for the ids and prices). Omit it to let GenMagic choose its default.duration— integer — Clip length in seconds, one of the lengths the model supports (list_models shows durations_seconds). Omit for the model's default.last_frame— string — Optional image (an https URL or a data:image URL) the clip ends on, for models whose frame_images include last_frame.resolution— string — Output resolution the model supports, e.g. 720p or 1080p (list_models shows resolutions). Omit for the model's default.aspect_ratio— string — Aspect ratio: 16:9 (landscape), 9:16 (portrait), or 1:1 (square). Defaults to 16:9.generate_audio— boolean — Generate sound with the clip on models that support it (list_models shows audio_supported). Omit for the model's default.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_videoCheck a video started with create_video. Returns "queued" or "processing" while it renders, "completed" with the hosted video URL when it is ready, or a terminal failure if the render failed. Poll every few seconds until it is either completed or failed (both are terminal: stop polling once you see one). The clip is charged once, on completion.
Parameters:
id(required) — string — The video job id returned by create_video.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.