Mage.Space
Server Details
Generate AI images, video, and audio with many frontier models, private by default.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 16 tools
Most tools target a clearly distinct resource+action (list_models vs get_model vs estimate_cost vs generate), and descriptions explicitly cross-reference each other to steer selection. The closest pairs are create_character vs create_reference (both save an asset from an image/audio) and get_request vs list_history (both report status), but the descriptions draw the boundary well enough that misselection is unlikely.
Nearly all tools follow a consistent verb_noun snake_case pattern (create_character, delete_reference, list_models, get_account, cancel_request, search_creations). The single exception is the bare verb `generate`, which breaks the noun suffix convention but remains unambiguous and readable.
Sixteen tools cover genuinely separable concerns: model discovery, pricing, generation lifecycle, uploads, and two asset families plus account and history. Each tool maps to a real operation rather than a variant of another, though the surface sits at the upper end of comfortable for an agent to hold in context.
Generation, pricing, cancellation, polling, history, and model discovery form a complete lifecycle, and characters/references have create, list, and delete. However there is no update or rename for characters and references, so correcting an existing asset means delete + recreate, which invalidates its handle and breaks any prompt using it.
Available Tools
16 toolscancel_requestCancel requestADestructiveIdempotentInspect
Stop a queued or running request started with generate. Its Gems are not refunded. A finished request cannot be cancelled, and cancelling a cancelled one changes nothing.
Inputs: request_id (required).
create_characterCreate characterAInspect
Save a private character from a name and an image (a public https URL or a data URL of a JPEG or PNG), optionally with a voice clip (MP3 or WAV, trimmed to 10 seconds). Returns its handle: mention it in a generate prompt as @handle. Publishing a character happens in the Mage app.
Inputs: name (required), image (required), voice, handle, +1 more.
create_referenceCreate referenceAInspect
Save a private reference: an outfit, pose, location, or object from an image (a public https URL or a data URL of a JPEG or PNG), or a voice clip (kind: audio) from audio (MP3 or WAV, trimmed to 15 seconds). Returns its handle: mention it in a generate prompt as @handle.
Inputs: kind (required), name (required), audio, image, +2 more.
create_uploadCreate uploadAInspect
Get a signed URL to upload a local file too large for a data URL (over about 3 MB): an image, a video, or an audio clip, up to 100 MB. Only for a file on a machine where you can run commands: this server cannot read files attached to the chat. PUT the file to upload_url before upload_url_expires_at with exactly the returned headers, for example curl -X PUT -T clip.mp4 -H 'Content-Type: video/mp4' -H 'x-goog-content-length-range: 0,104857600' '<upload_url>'. Then pass url as a media input to generate (a first frame, reference images, or a source video) or as the image or audio of create_character or create_reference; estimate_cost measures a video at url to price it. Each upload holds one file: for a new or corrected file, call create_upload again, never PUT to an earlier upload_url, because the CDN keeps serving the first file at url for up to 4 hours. The file is deleted at url_expires_at.
Inputs: content_type (required).
delete_characterDelete characterADestructiveIdempotentInspect
Delete one of the account's characters by its id from list_characters. Its handle stops working in prompts at once.
Inputs: character_id (required).
delete_referenceDelete referenceADestructiveIdempotentInspect
Delete one of the account's references by its id from list_references. Its handle stops working in prompts at once.
Inputs: reference_id (required).
estimate_costEstimate costARead-onlyIdempotentInspect
Price a generation before starting it: takes the same architecture and config as generate and returns what it would charge in Gems, with the account balance, or the refusal generate would answer, so a config that breaks the model's rules is caught here for free. Nothing is charged or stored. A video input is measured to price it when it is a create_upload url, an earlier result, or a data URL; a video on another host answers requires_media_measurement, since only generate downloads it: upload it with create_upload to price it first.
Inputs: config (required), architecture (required).
generateGenerateAIdempotentInspect
Start an image, video, or audio generation, paid in Gems from the account. config is a partial config in the model's field names (see get_model), layered onto the model's defaults; set model_id to the variant you chose from list_models; mention saved characters and references in prompt as @handle; and pass media inputs as https URLs of the files or data URLs, uploading a larger local file with create_upload first. Check the price with estimate_cost first; it also refuses a config the model would refuse, at no cost. The account runs a limited number of generations at once, counting ones started in the Mage app (get_account shows how many are in flight); past it, generate answers too_many_requests, so start a batch in waves. Make a new idempotency_key for each generation you mean to start, and send the same key again only to retry a call whose response you did not get: the retry returns the original request without charging again. Returns a request_id; call get_request with it to wait for the result.
Inputs: config (required), architecture (required), idempotency_key (required), approval_id.
get_accountGet accountARead-onlyIdempotentInspect
The connected Mage account: its username, its Gems balance, what auto top-up can add when a generation needs more (gems.auto_top_up: the Gems of one package, bought at most once per generation, and the Gems it can still add this month, null for no monthly limit; both 0 when it is off), and how many generations are in flight against its limit. Every generation started here is paid from this balance, and generate refuses one past the limit (too_many_requests), counting generations started in the Mage app too, so read this before starting a batch.
Inputs: no named parameters.
get_modelGet modelARead-onlyIdempotentInspect
Describe one model: the JSON Schema of the config generate takes (input_schema), the allowed values of each option (options, narrowed per model_id in options_by_model), its defaults (base_config), the fields that take image and video URLs, the @handle mentions it accepts and its image budget, the rules a request must follow, its price in Gems at its defaults, its documentation page, and, as in list_models, its tier and each variant's price and what it is best for and trades off.
Inputs: architecture (required).
get_requestGet requestARead-onlyIdempotentInspect
Read a request started with generate: its status (queued, in_progress, completed, failed, or cancelled), its result, and the Gems it charged. It waits up to wait_seconds (default 45, at most 120) for the request to finish; call it again while the status is queued or in_progress. To follow many requests at once, list_history with status: "in_progress" (or queued, completed, failed) lists them with their request_id. A result's url stays available for 30 days, so tell the user to download what they want to keep. Generations started in the Mage app are not requests; list_history shows them.
Inputs: request_id (required), wait_seconds.
list_charactersList charactersARead-onlyIdempotentInspect
List the account's saved characters, newest first: each one's handle, name, image, and voice. Put @handle in a generate prompt to include the character. Other users' public characters also work by handle, but are not listed.
Inputs: limit, cursor.
list_historyList historyARead-onlyIdempotentInspect
List the account's generations from the last 30 days, newest first, whatever started them (source): the Mage app (app), the API (rest), this MCP server (mcp), the Mage sidekick (agent), or auto-creation (auto). Each has its prompt, model, status, result URL, and billing: gems with the Gems charged, or unlimited for app generations covered by a membership. request_id is set for API, MCP, and sidekick generations, which get_request and cancel_request accept. Media expires 30 days after it was made; the user's saved creations, kept permanently, are in search_creations.
Inputs: limit, cursor, status, media_type, +1 more.
list_modelsList modelsARead-onlyIdempotentInspect
List the models Mage generates with, as a guide to choosing one. Unless the user names a model, generate images with Mango 4 (mango, model_id mango-v4), video with Cherry 2 Pro (cherry, model_id cherry-2-pro), and audio with Seed Audio (seed_audio, model_id seed-audio-1.0) (defaults). Each model has its id (the architecture get_model, estimate_cost, and generate take), media type, tier, price in Gems at its defaults, and summary; each variant has its model_id, price, options, image budget, and what it is best for and trades off. By default only the default and recommended models are listed: the rest are opt-in, listed with include_opt_in, and run only when the user asks for one by name. Call get_model before using one.
Inputs: type, include_opt_in.
list_referencesList referencesARead-onlyIdempotentInspect
List the account's saved references, newest first: outfits, poses, locations, objects, and voice clips. Narrow to one kind (outfit, pose, location, object, or audio), for example outfit for the user's outfits. Mention a reference in a generate prompt as @handle.
Inputs: kind, limit, cursor.
search_creationsSearch creationsARead-onlyIdempotentInspect
Search the creations the user saved in Mage, which are kept permanently: by meaning with query (for example "a red car at night"), by media type, by collection, or by date. Without a query, newest first. Each result has its permanent URL, prompt, and model.
Inputs: limit, query, offset, collection, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Generate images and videos with frontier AI models. Pay per use; credits never expire.
Generate reproducible image, video, and audio assets with leading models and your own provider keys.
Generate AI images, video and audio with 55 models, priced in credits before you generate.
Image, video, music and text generation across 100+ models through one endpoint.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceGenerate and refine AI images/audio/video through natural conversation.412Apache 2.0
- AlicenseAqualityCmaintenanceEnables AI assistants to generate video, images, music, speech and sound effects, transcribe audio, edit and extend clips, and upscale media across 100+ models using a single API key. Also provides task tracking, model discovery, cost estimation and balance checks.14MIT

Createya MCP & APIofficial
AlicenseNot gradedqualityDmaintenanceEnables AI agents and developers to generate images, videos, audio, and text using 100+ models via MCP or REST with a single API key.4MIT- AlicenseAqualityCmaintenanceHosted multi-model AI media + chat MCP server. Generates images, video, audio, face-swaps and talking-avatars, and chats across 300+ models (Claude, GPT, Gemini, DeepSeek…) - all from one balance and one API key.16MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.