Skip to main content
Glama

Server Details

Generate authentic pixel art - sprites, animations, and tilesets - from any MCP client

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Retro-Diffusion/retro-diffusion-mcp
GitHub Stars
7
Server Listing
Retro Diffusion MCP Server
ChatGPT
–
Claude
–

TDQS

A3.6/5.0

Scored across 33 tools

Disambiguation3/5

Most tools have distinct resource+action targets, but several pairs genuinely overlap: fix_pixel_art vs. create_inference with rd_pro__pixelate vs. run_edit_tool pixel_correction all touch pixel-grid repair, and get_inference_result vs. get_inference_job vs. list_inference_jobs require careful reading to separate. list_available_models vs. list_available_styles also read as near-synonyms from the same selector endpoint. The rich descriptions mitigate this, but selection still needs the prose.

Naming Consistency4/5

The dominant pattern is verb_noun snake_case (create_inference, list_available_styles, start_lowpoly_generate, estimate_edit_tool_cost, delete_user_style), applied consistently across the low-poly family. Minor deviations exist: bare verbs authenticate/logout, and fix_pixel_art uses an adjective-noun object. Nothing is inconsistent enough to break predictability.

Tool Count3/5

33 tools is heavy, but the server spans three sizable products: 2D generation, canvas edit tools, and low-poly 3D modeling/animation. Still, several entries feel like documentation or convenience wrappers (get_style_usage, get_service_status, list_available_models) that dilute the surface, and the low-poly group alone accounts for 13 tools.

Completeness4/5

Coverage is strong: styles have full create/update/delete/list lifecycle, inferences have create/estimate/async job/list/result recovery, edit tools have list/run/estimate, and low-poly has generate/revise/animate/rerig/split/recolor/export/pricing. The main gap is deletion/cleanup for low-poly models and inference jobs (only delete_lowpoly_animation exists), leaving a minor dead end.

Available Tools

33 tools
authenticateAuthenticateA
Read-onlyIdempotent
Inspect

Authenticate this MCP session with a RetroDiffusion public API key.

Inputs: api_key (required). Returns: object

create_inferenceGenerate Pixel ArtAInspect

Generate images using the public /v2/inferences endpoint.

For the highest quality prefer RD Pro styles (rd_pro__*); they support reference_images for character/style consistency, and most go as small as 12x12 px (check list_available_styles for each style's limits) — a small target size is never a reason to switch to a cheaper model family. Style ids are opaque strings with no uniform format (some RD Fast styles appear as "default:rd_flux"); take them verbatim from the catalog and never infer capabilities from an id's prefix. For animation styles prefer start_inference_job + get_inference_job instead — animations are long-running, and a failed animation is worth one retry with identical parameters (failures auto-refund).

Field-tested workflow rules: N distinct items = N individually usable images (separate calls or num_images=N), never one sheet/grid image unless a sheet IS the deliverable. Variants of ONE image (seasons, day/night, palettes) = generate the base once, then derive each variant with the image_edit tool ("... keep the exact same composition") — independent generations of the "same" scene come out unrelated. Converting an existing image INTO pixel art is rd_pro__pixelate with input_image (16-256 px output, batch<=16); reference_images-based generation re-imagines rather than converts. To animate an image you already have, use rd_advanced_animation__* with input_image (fixed-format rd_animation__* styles generate their own subject from the prompt instead). To get the other directional views of a sprite you already have, use rd_advanced_animation__rotate with input_image (same 8-direction layout as rd_animation__8_dir_rotation).

Use input_image for the main source image, reference_images for extra per-inference guidance, and style_reference_images only on create_user_style/update_user_style. The response excludes raw base64 image payloads to keep MCP outputs compact.

Inputs: width (required), height (required), prompt (required), prompt_style (required), +21 more. Returns: object

create_user_styleCreate Custom StyleAInspect

Create a user style from the public RD Pro template using /v2/styles.

Use style_reference_images and style_reference_caption for style-level references. These are baked into the custom style and are not the same as per-inference reference_images.

Inputs: name (required), min_width, min_height, rd_api_key, +12 more. Returns: object

delete_lowpoly_animationDelete Low-Poly AnimationA
Destructive
Inspect

Delete one animation from a Low-Poly model's version (free) and return the model. The rig stays, so animating again needs no new rig. This cannot be undone.

Inputs: version (required), asset_id (required), animation (required), rd_api_key. Returns: object

delete_user_styleDelete Custom StyleB
DestructiveIdempotent
Inspect

Delete a user style using /v2/styles/{style_id}. style_id can be either internal id or prompt_style/public_id.

Inputs: style_id (required), rd_api_key. Returns: object

estimate_edit_tool_costEstimate Edit Cost (Free)A
Read-onlyIdempotent
Inspect

Validate an edit-tool request and estimate its cost and duration without running it. Always free.

Inputs: tool_id (required), input_image (required), width, height, +21 more. Returns: object

estimate_inference_costEstimate Cost (Free)B
Read-onlyIdempotent
Inspect

Estimate generation cost using the public /v2/inferences endpoint with check_cost=true.

Use input_image for the main source image, reference_images for extra per-inference guidance, and style_reference_images only on create_user_style/update_user_style.

Inputs: width (required), height (required), prompt (required), prompt_style (required), +16 more. Returns: object

estimate_lowpoly_costEstimate Low-Poly JobA
Read-onlyIdempotent
Inspect

Price a Low-Poly job without starting it (free). For generate with size auto, returns the size auto would pick. style prices a generate in that style (Lite styles cost less); other operations use the model's own style.

Inputs: size, style, prompt, asset_id, +2 more. Returns: object

export_lowpoly_modelExport Low-Poly ModelA
Idempotent
Inspect

Export a Low-Poly model for an engine or tool and return a hosted download URL (free). Engines (Godot, Unity, Unreal, three.js) and Blender get .glb; Blockbench gets .bbmodel; Minecraft gets a resource pack; .glb and .bbmodel include every animation. Animated GIFs, sprite sheets and MP4 videos need an animation name from the model.

Inputs: target (required), asset_id (required), version, animation, +1 more. Returns: object

fix_pixel_artFix Pixel ArtA
Read-onlyIdempotent
Inspect

Recover the native pixel grid from enlarged, softened, AI-rendered, or compressed pixel art.

Standard uses the native Rust detector. Neural uses the neural reconstruction engine and accepts optional target width and height values. This repairs existing art—it does not generate a new image. Standard costs $0.002 per call and neural $0.005, charged before running and refunded automatically if the call fails. Both engines share a limit of 10 requests per minute per API token. Provide exactly one source as base64 input_image or a public HTTPS image_url. URL input avoids the ALB request-body limit. Decoded images may contain up to 16 megapixels. Successful response JSON is limited to 850,000 bytes for AWS ALB compatibility.

Inputs: width, engine, height, image_url, +3 more. Returns: object

get_balanceGet BalanceA
Read-onlyIdempotent
Inspect

Get your balance, plan usage left (%) and API job slots in use.

Reads /v2/inferences/credits plus the account usage (GET /usage). On a plan, 2 API jobs run at once on plan usage; usage.api_job_slots shows how many are busy.

Inputs: rd_api_key. Returns: object

get_inference_jobCheck Async JobA
Read-onlyIdempotent
Inspect

Check the status of an async generation started with start_inference_job.

Statuses: pending, running, succeeded, failed. On success the result carries hosted output_urls (raw base64 payloads are excluded to keep MCP outputs compact).

Inputs: task_id (required), rd_api_key. Returns: object

get_inference_resultGet Generated OutputsA
Read-onlyIdempotent
Inspect

Retrieve retained outputs for a synchronous generation.

Use the request_id returned by create_inference to recover or refresh signed output URLs. This lookup is read-only; never repeat a paid create_inference call just because delivery URLs are temporarily missing.

Inputs: request_id (required), rd_api_key. Returns: object

get_lowpoly_jobCheck Low-Poly JobA
Read-onlyIdempotent
Inspect

Status of a Low-Poly job: pending, running, succeeded or failed. On success, the model with its versions, render URLs and animations. Poll every 10-20 seconds; jobs take minutes.

Inputs: task_id (required), rd_api_key. Returns: object

get_lowpoly_modelGet Low-Poly ModelB
Read-onlyIdempotent
Inspect

A Low-Poly model: status, versions (render URLs, animations) and any running job.

Inputs: asset_id (required), rd_api_key. Returns: object

get_lowpoly_pricingLow-Poly PricingB
Read-onlyIdempotent
Inspect

Low-Poly (3D) sizes, prices per operation (generate / revise / animate), styles, limits and export targets. Free.

Inputs: rd_api_key. Returns: object

get_service_statusService StatusA
Read-onlyIdempotent
Inspect

Check RetroDiffusion subsystem health (/v2/status, no auth). Useful before bulk generation runs.

Inputs: no named parameters. Returns: object

get_style_usageGet Style UsageA
Read-onlyIdempotent
Inspect

Explain how to use a public prompt_style from the RetroDiffusion API.

Use this before create_inference if you are unsure whether a style expects input_image, supports per-inference reference_images, or whether you meant style-level style_reference_images.

Inputs: prompt_style (required), rd_api_key. Returns: object

list_available_modelsList ModelsA
Read-onlyIdempotent
Inspect

Return unique public model identifiers available in /v2/styles/selector.

Inputs: rd_api_key. Returns: object

list_available_stylesList StylesA
Read-onlyIdempotent
Inspect

List publicly available styles from /v2/styles/selector. Use this to discover valid prompt_style values plus style metadata such as require_input_image and supports_reference_images.

Inputs: tab, model, rd_api_key. Returns: object

list_edit_toolsList Edit ToolsA
Read-onlyIdempotent
Inspect

List the enabled canvas edit tools from /v2/edit/tools with their fields, costs, and limits.

Edit tools are the recommended way to post-process generated pixel art: background removal, palette conversion, color reduction, pixel correction, rotation, inpainting, outpainting, seam tiling, and prompt-driven edits.

Inputs: rd_api_key. Returns: object

list_inference_jobsList Async JobsA
Read-onlyIdempotent
Inspect

List your most recent async jobs, newest first (GET /v2/inferences/tasks).

Recovery path: if a submission response was lost (timeout, disconnect) before the task_id arrived, the job was still accepted — find it here instead of re-submitting and being charged twice. Then poll it with get_inference_job.

Inputs: limit, status, rd_api_key. Returns: object

list_lowpoly_modelsList Low-Poly ModelsB
Read-onlyIdempotent
Inspect

The account's Low-Poly models, newest first.

Inputs: limit, rd_api_key. Returns: object

logoutLog OutA
Idempotent
Inspect

Clear the authenticated RetroDiffusion API key for this MCP session.

Inputs: no named parameters. Returns: object

recolor_lowpoly_modelRecolor Low-Poly ModelAInspect

Recolor a Low-Poly model's textures with the image color tools and save the result as a new version (returns the model). Color Reducer and Palette Converter cost $0.001; Color Style Transfer costs $0.01. Later revisions and animations keep the new colors.

Inputs: tool (required), asset_id (required), version, rd_api_key, +5 more. Returns: object

run_edit_toolRun Edit ToolAInspect

Run a canvas edit tool on an image via /v2/edit/tools/{tool_id}.

$0.001 tools (per frame for animated inputs): color_reducer, palette_converter, pixel_correction, k_centroid_downscale, rotate. $0.01 tools: background_remover, color_style_transfer. $0.12 tools (RD Core, in the picture's own style): image_edit, inpainting, outpainting, seam_tiling. Use estimate_edit_tool_cost first for anything that charges — estimation is free. The edited image is returned in base64_images.

Inputs: tool_id (required), input_image (required), seed, width, +22 more. Returns: object

start_inference_jobStart Async GenerationAInspect

Start a generation as an async job (POST /v2/inferences with async=true) and return a task_id.

Recommended for advanced animations (rd_advanced_animation__*), other animation styles, and batches — they run for tens of seconds and can outlive a synchronous MCP call. Poll the returned task_id with get_inference_job roughly every 2-5 seconds.

Inputs: width (required), height (required), prompt (required), prompt_style (required), +21 more. Returns: object

start_lowpoly_animateStart Low-Poly AnimationAInspect

Add an animation to a Low-Poly model version, or change an existing one by passing its name as animation (paid, priced by size). The first animation rigs the model for free. Animations attach to the version; they do not create a new version. Poll get_lowpoly_job(task_id).

Inputs: prompt (required), asset_id (required), mode, version, +3 more. Returns: object

start_lowpoly_generateStart Low-Poly 3D ModelAInspect

Start building a low-poly 3D model with pixel-art textures from a prompt and/or reference images (paid). reference_models puts your existing models (by asset_id) into it exactly, e.g. "a tavern with my table". Optional input_palette (a palette image, as for create_inference): the model uses only its colors, and revisions and animations keep them.

Returns task_id and asset_id immediately; poll get_lowpoly_job(task_id) until it succeeds (usually 1-5 minutes). Then use export_lowpoly_model for .glb/.bbmodel/Minecraft/OBJ files, start_lowpoly_revise to change it, or start_lowpoly_animate to add motion. Failed jobs are refunded automatically; never restart a running job.

Inputs: mode, size, style, prompt, +5 more. Returns: object

start_lowpoly_rerigRe-rig Low-Poly ModelAInspect

Rebuild the skeleton of a rigged Low-Poly model version (paid, priced by size), e.g. to move a pivot or add bones. The version is updated in place; animations whose bones the new rig still has are kept. Versions without a rig are rigged for free by their first animation instead. Poll get_lowpoly_job(task_id).

Inputs: asset_id (required), prompt, version, rd_api_key, +1 more. Returns: object

start_lowpoly_reviseStart Low-Poly RevisionAInspect

Change an existing Low-Poly model (paid, priced by its size). The result is saved as a new version. Poll get_lowpoly_job(task_id). One job per model at a time.

Inputs: prompt (required), asset_id (required), mode, version, +3 more. Returns: object

start_lowpoly_splitSplit Low-Poly ModelAInspect

Break a Low-Poly model into separate models (paid, priced by its size): a desk scene becomes the desk, a candle, each book, and so on. Each piece is a new model (and history item) facing the front, with its own textures, rig and animations; the original is unchanged. Poll get_lowpoly_job(task_id); its pieces list the new models.

Inputs: asset_id (required), prompt, version, rd_api_key, +1 more. Returns: object

update_user_styleUpdate Custom StyleA
Idempotent
Inspect

Update a public RD Pro user style using /v2/styles/{style_id}.

Use style_reference_images and style_reference_caption for style-level references. These are baked into the custom style and are not the same as per-inference reference_images.

Inputs: style_id (required), name, min_width, min_height, +14 more. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      C
      maintenance
      An MCP server that turns images generated in a logged-in ChatGPT web session into consistent, game-ready assets: it composes style-bible prompts, ingests browser downloads, removes backgrounds, pixelates to a true grid, outlines, slices grid sheets into cells, and packs uniform sprite sheets with JSON atlases and GIF previews. Everything runs locally in pure JavaScript with no API key or native dependencies.
      12
      1
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables AI agents to create and refine pixel art and sprite animations through MCP tools, including seeded generators, indexed palettes, shading, animation presets, inline PNG previews, and multi-format export.
      28
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      An MCP server that lets AI agents create, edit, and animate pixel-art sprites, with PNG previews after every step and support for export to GIF/APNG/spritesheets.
      48,326 npm
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.