GenMagic
Generate text, images, speech, music, and video with any AI model, from one credit balance.
Should I use this
Quality & Safety
Findings (1)
- LOWin generate_speech
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"genmagic": {
"url": "https://genmagic.co/api/mcp"
}
}
}Remote endpoints
https://genmagic.co/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢generate_text(prompt, type, system, attachments)
Generate 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.
Input Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "What to write or produce."
},
"type": {
"type": "string",
"description": "The kind of artifact to make. Omit for plain text.",
"enum": [
"writing",
"code",
"svg",
"website"
]
},
"system": {
"type": "string",
"description": "Optional system instruction to steer tone, role, or format."
},
"attachments": {
"type": "array",
"description": "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.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Filename, e.g. report.pdf."
},
"mime": {
"type": "string",
"description": "MIME type, e.g. application/pdf."
},
"dataUrl": {
"type": "string",
"description": "data:<mime>;base64,<bytes>"
}
},
"required": [
"dataUrl"
]
}
}
},
"required": [
"prompt"
]
}⚪generate_image(prompt, size, image, type)
Generate 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.
Input Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "A description of the image to create (or the edit to make when 'image' is given)."
},
"size": {
"type": "string",
"description": "Image size, e.g. 1024x1024 (square), 1792x1024 (wide), 1024x1792 (tall).",
"enum": [
"1024x1024",
"1792x1024",
"1024x1792"
]
},
"image": {
"type": "string",
"description": "Optional reference image (an https URL or a data:image URL) to transform (image-to-image), e.g. a character to keep consistent."
},
"type": {
"type": "string",
"description": "Set to 'logo' to generate a brand mark instead of a picture.",
"enum": [
"image",
"logo"
]
}
},
"required": [
"prompt"
]
}⚪generate_speech(input, voice)
Turn text into spoken audio with GenMagic. Returns the audio inline plus a hosted URL. The text is voiced verbatim.
Input Schema
{
"type": "object",
"properties": {
"input": {
"type": "string",
"description": "The text to speak, read aloud verbatim."
},
"voice": {
"type": "string",
"description": "Optional voice name (e.g. alloy). Defaults to a neutral voice."
}
},
"required": [
"input"
]
}⚪generate_music(prompt)
Generate 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.
Input Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "A description of the music to create (genre, mood, instruments, tempo)."
}
},
"required": [
"prompt"
]
}🟡create_video(prompt, aspect_ratio)
Start generating a video from a text description with GenMagic. 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. On-brand automatically when the account has brand personalization on.
Input Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "A description of the video to create."
},
"aspect_ratio": {
"type": "string",
"description": "Aspect ratio: 16:9 (landscape), 9:16 (portrait), or 1:1 (square). Defaults to 16:9.",
"enum": [
"16:9",
"9:16",
"1:1"
]
}
},
"required": [
"prompt"
]
}🟡get_video(id)
Check 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.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The video job id returned by create_video."
}
},
"required": [
"id"
]
}Community
Evidence