Retro Diffusion Pixel Art
REMOTE · MCP.RETRODIFFUSION.AI · SCANNED AUG 3
Generate authentic pixel art - sprites, animations, and tilesets - from any MCP client
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_user_style). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability53
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 5737 tokens (~286/item across 20 items; 20 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · mcp.retrodiffusion.ai
claude mcp add --transport http ai-retrodiffusion-pixel-art https://mcp.retrodiffusion.ai/mcp
[mcp_servers.ai-retrodiffusion-pixel-art] url = "https://mcp.retrodiffusion.ai/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-retrodiffusion-pixel-art": {
"type": "remote",
"url": "https://mcp.retrodiffusion.ai/mcp",
"enabled": true
}
}
} openclaw mcp add ai-retrodiffusion-pixel-art --url https://mcp.retrodiffusion.ai/mcp --transport streamable-http
mcp_servers:
ai-retrodiffusion-pixel-art:
url: "https://mcp.retrodiffusion.ai/mcp" {
"mcpServers": {
"ai-retrodiffusion-pixel-art": {
"type": "http",
"url": "https://mcp.retrodiffusion.ai/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 0
- The server rewrote its instructions, which are the text every model session reads security
- New tool “get_inference_result” functional
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 58
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://mcp.retrodiffusion.ai/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.retrodiffusion.ai | CN=YE1,O=Let's Encrypt,C=US | 17 Jun 2026 | 15 Sept 2026 | ECDSA 256 | ECDSA-SHA384 | 5337356f68a79a677e070ed00ebc7b65147 |
| SANs: mcp.retrodiffusion.ai | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of mcp.retrodiffusion.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 3799 | 8 | Verified |
| retrodiffusion.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.retrodiffusion.ai/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.retrodiffusion.ai/mcp | HTTPS enforced | 301 | https://mcp.retrodiffusion.ai/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
authenticate Authenticate ~51
Authenticate this MCP session with a RetroDiffusion public API key.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | yes | RetroDiffusion API key (rdpk-...), created free at https://retrodiffusion.ai/app/devtools. |
Structured output declared, but exposes no named fields.
No examples provided.
create_inference Generate Pixel Art ~752
Generate images using the public /v1/inferences endpoint. For the highest quality prefer RD Pro styles (rd_pro__*); they support reference_images for character/style consistency. For animation styles prefer start_inference_job + get_inference_job instead — animations are long-running. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| bypass_prompt_expansion | — | — | Skip the automatic LLM prompt enrichment and use the prompt verbatim. |
| extra_input_image | — | — | Second base64 input image for styles that use one (e.g. the second texture in rd_tile__tileset_advanced). |
| extra_prompt | — | — | Secondary prompt for styles that use one (e.g. the transition texture in advanced tilesets). |
| frames_duration | — | — | Animation frame count for animation styles: 4, 6, 8, 10, 12, or 16. |
| height | integer | yes | Output height in pixels. Each style enforces its own limits; check list_available_styles or get_style_usage. |
| include_downloadable_data | — | — | Include extra structured assets when available (e.g. tileset atlas JSON, animation frame data). |
| input_image | — | — | Base64 PNG used as the main source image for edits, variations, tilesets, animations, or styles that require a starting frame. Raw base64 or a data URL. |
| input_palette | — | — | Base64 image of a color palette; output colors are constrained to it. |
| num_images | integer | — | How many images to generate in one batch. Style-specific maximums apply. |
| prompt | string | yes | Describe the SUBJECT only (e.g. 'a knight resting by a campfire'). Never write 'pixel art' — the selected style handles all rendering. |
| prompt_style | string | yes | Style id from list_available_styles (e.g. 'rd_fast__default', 'rd_pro__isometric', or a custom 'user__...' style). |
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| reference_images | — | — | Extra per-inference guidance images (base64), only for styles where supports_reference_images is true. Not for defining custom styles. |
| remove_bg | boolean | — | Remove the background for transparent output. |
| return_non_bg_removed | — | — | Also return the render from before background removal was applied. |
| return_pre_palette | — | — | Also return the render from before palette constraints were applied. |
| return_spritesheet | — | — | For animation styles: return a PNG sprite sheet instead of a GIF. |
| seed | — | — | Seed for reproducible results; reuse the same seed to iterate on one composition. |
| strength | — | — | How strongly to change input_image, 0-1 (default 0.75). Lower values keep more of the original. |
| tile_x | boolean | — | Make the result tile seamlessly on the horizontal axis. |
| tile_y | boolean | — | Make the result tile seamlessly on the vertical axis. |
| timeout_seconds | — | — | Read-timeout override in seconds for this call; increase for animations or large batches. |
| upload_outputs | boolean | — | Host outputs and return URLs in output_urls (recommended for MCP clients) instead of only base64 payloads. |
| upscale_output_factor | — | — | Integer upscale factor for the output image; 1 returns the native pixel size. |
| width | integer | yes | Output width in pixels. Each style enforces its own limits; check list_available_styles or get_style_usage. |
Structured output declared, but exposes no named fields.
No examples provided.
create_user_style Create Custom Style ~371
Create a user style from the public RD Pro template using /v1/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`.
| Name | Type | Req | Description |
|---|---|---|---|
| apply_prompt_fixer | — | — | Let the API tidy prompts automatically for this style (default true). |
| description | — | — | Short description of the custom style. |
| expanded_llm_instructions | — | — | Extended instructions for the prompt-expansion LLM. |
| force_bg_removal | — | — | Always remove backgrounds for this style. |
| force_palette | — | — | Always apply palette constraining for this style. |
| llm_instructions | — | — | Instructions for the prompt-expansion LLM when this style is used. |
| min_height | — | — | Force a fixed height (96-256); must be provided together with min_width. |
| min_width | — | — | Force a fixed width (96-256); must be provided together with min_height. |
| name | string | yes | Display name for the custom style. |
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| reference_caption | — | — | Alias for style_reference_caption on this tool; prefer style_reference_caption and never provide both. |
| reference_images | — | — | Alias for style_reference_images on this tool; prefer style_reference_images and never provide both. |
| style_icon | — | — | Icon name for the style (e.g. 'sparkles'). |
| style_reference_caption | — | — | Caption describing the style reference image(s). |
| style_reference_images | — | — | Style-level reference image(s), base64, baked into the custom style (max 1 via the public API). |
| user_prompt_template | — | — | Prompt template for the style; must contain the {prompt} token. |
Structured output declared, but exposes no named fields.
No examples provided.
delete_user_style Delete Custom Style ~93
Delete a user style using /v1/styles/{style_id}. style_id can be either internal id or prompt_style/public_id.
| Name | Type | Req | Description |
|---|---|---|---|
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| style_id | string | yes | Style id — the internal id or the prompt_style/public id (e.g. user__mystyle_ab12). |
Structured output declared, but exposes no named fields.
No examples provided.
estimate_edit_tool_cost Estimate Edit Cost (Free) ~577
Validate an edit-tool request and estimate its cost and duration without running it. Always free.
| Name | Type | Req | Description |
|---|---|---|---|
| color_count | — | — | color_reducer: target number of colors. |
| dither_mode | — | — | color_reducer/palette_converter: dithering mode. |
| dither_strength | — | — | color_reducer/palette_converter: dithering strength. |
| expand_bottom | — | — | Outpainting: pixels to add on the bottom edge. |
| expand_left | — | — | Outpainting: pixels to add on the left edge. |
| expand_right | — | — | Outpainting: pixels to add on the right edge. |
| expand_top | — | — | Outpainting: pixels to add on the top edge. |
| extra_input_image | — | — | Second base64 input image for styles that use one (e.g. the second texture in rd_tile__tileset_advanced). |
| force_solid_pixels | — | — | background_remover: force fully solid or fully transparent pixels (tool default applies when omitted). |
| height | — | — | k_centroid_downscale: target height in pixels (required for that tool). |
| input_image | string | yes | Base64 PNG of the image to edit (raw base64 or a data URL). Required by every edit tool. |
| input_palette | — | — | Base64 image of a color palette; output colors are constrained to it. |
| mask_image | — | — | Base64 mask for inpainting: white pixels are regenerated, black pixels are kept. |
| prompt | — | — | What to generate or change (required by image_edit and inpainting; optional for outpainting). |
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| repair_window_size | — | — | seam_tiling: size of the repair window. |
| rotation_degrees | — | — | rotate: rotation angle in degrees (clean-edge pixel rotation). |
| seam_width | — | — | seam_tiling: width in pixels of the seam band to repair. |
| soft_inpaint | — | — | Inpainting/outpainting: blend edits softly with the surrounding pixels. |
| tile_x | — | — | seam_tiling: repair the horizontal seam (tool default applies when omitted). |
| tile_y | — | — | seam_tiling: repair the vertical seam (tool default applies when omitted). |
| timeout_seconds | — | — | Read-timeout override in seconds for this call; increase for animations or large batches. |
| tool_id | string | yes | Edit tool id. One of: image_edit, inpainting, outpainting, seam_tiling, background_remover, color_style_transfer, color_reducer, palette_converter, pixel_correction, k_centroid_downscale, rotate. Use… |
| transparency_threshold | — | — | background_remover: alpha threshold for treating pixels as transparent. |
| width | — | — | k_centroid_downscale: target width in pixels (required for that tool). |
Structured output declared, but exposes no named fields.
No examples provided.
estimate_inference_cost Estimate Cost (Free) ~600
Estimate generation cost using the public /v1/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.
| Name | Type | Req | Description |
|---|---|---|---|
| bypass_prompt_expansion | — | — | Skip the automatic LLM prompt enrichment and use the prompt verbatim. |
| extra_input_image | — | — | Second base64 input image for styles that use one (e.g. the second texture in rd_tile__tileset_advanced). |
| extra_prompt | — | — | Secondary prompt for styles that use one (e.g. the transition texture in advanced tilesets). |
| frames_duration | — | — | Animation frame count for animation styles: 4, 6, 8, 10, 12, or 16. |
| height | integer | yes | Output height in pixels. Each style enforces its own limits; check list_available_styles or get_style_usage. |
| include_downloadable_data | — | — | Include extra structured assets when available (e.g. tileset atlas JSON, animation frame data). |
| input_image | — | — | Base64 PNG used as the main source image for edits, variations, tilesets, animations, or styles that require a starting frame. Raw base64 or a data URL. |
| input_palette | — | — | Base64 image of a color palette; output colors are constrained to it. |
| num_images | integer | — | How many images to generate in one batch. Style-specific maximums apply. |
| prompt | string | yes | Describe the SUBJECT only (e.g. 'a knight resting by a campfire'). Never write 'pixel art' — the selected style handles all rendering. |
| prompt_style | string | yes | Style id from list_available_styles (e.g. 'rd_fast__default', 'rd_pro__isometric', or a custom 'user__...' style). |
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| reference_images | — | — | Extra per-inference guidance images (base64), only for styles where supports_reference_images is true. Not for defining custom styles. |
| return_non_bg_removed | — | — | Also return the render from before background removal was applied. |
| return_pre_palette | — | — | Also return the render from before palette constraints were applied. |
| return_spritesheet | — | — | For animation styles: return a PNG sprite sheet instead of a GIF. |
| strength | — | — | How strongly to change input_image, 0-1 (default 0.75). Lower values keep more of the original. |
| timeout_seconds | — | — | Read-timeout override in seconds for this call; increase for animations or large batches. |
| upscale_output_factor | — | — | Integer upscale factor for the output image; 1 returns the native pixel size. |
| width | integer | yes | Output width in pixels. Each style enforces its own limits; check list_available_styles or get_style_usage. |
Structured output declared, but exposes no named fields.
No examples provided.
fix_pixel_art Fix Pixel Art ~353
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. Both engines are free and 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.
| Name | Type | Req | Description |
|---|---|---|---|
| engine | string | — | Fixer engine. Standard uses the native Rust detector; neural uses the neural reconstruction engine. |
| height | — | — | Optional neural target dimension in pixels. Accepted only with engine='neural'. |
| image_url | — | — | Public HTTPS PNG or JPEG URL to reconstruct. Provide this or input_image, not both. URL downloads may contain up to 20 MB and bypass the API request-body limit. |
| input_image | — | — | Base64 PNG or JPEG to reconstruct at its native pixel grid. Raw base64 or a data URL; provide this or image_url, not both. Decoded input may contain up to 16 megapixels, and complete base64 request J… |
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| timeout_seconds | — | — | Read-timeout override in seconds for this call; increase for animations or large batches. |
| width | — | — | Optional neural target dimension in pixels. Accepted only with engine='neural'. |
Structured output declared, but exposes no named fields.
No examples provided.
get_balance Get Balance ~51
Get credits/balance using the public /v1/inferences/credits endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
Structured output declared, but exposes no named fields.
No examples provided.
get_inference_job Check Async Job ~101
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).
| Name | Type | Req | Description |
|---|---|---|---|
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| task_id | string | yes | Async job id returned by start_inference_job. |
Structured output declared, but exposes no named fields.
No examples provided.
get_inference_result Get Generated Outputs ~102
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.
| Name | Type | Req | Description |
|---|---|---|---|
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| request_id | string | yes | Inference request id returned by create_inference. |
Structured output declared, but exposes no named fields.
No examples provided.
get_service_status Service Status ~29
Check RetroDiffusion subsystem health (/v1/status, no auth). Useful before bulk generation runs.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_style_usage Get Style Usage ~127
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`.
| Name | Type | Req | Description |
|---|---|---|---|
| prompt_style | string | yes | Style id from list_available_styles (e.g. 'rd_fast__default', 'rd_pro__isometric', or a custom 'user__...' style). |
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
Structured output declared, but exposes no named fields.
No examples provided.
list_available_models List Models ~50
Return unique public model identifiers available in /v1/styles/selector.
| Name | Type | Req | Description |
|---|---|---|---|
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
Structured output declared, but exposes no named fields.
No examples provided.
list_available_styles List Styles ~119
List publicly available styles from /v1/styles/selector. Use this to discover valid prompt_style values plus style metadata such as require_input_image and supports_reference_images.
| Name | Type | Req | Description |
|---|---|---|---|
| model | — | — | Filter styles by model: rd_fast, rd_plus, rd_pro, or rd_mini. |
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| tab | — | — | Filter styles by tab: tab:image, tab:animation, tab:advanced-animation, or tab:tileset. |
Structured output declared, but exposes no named fields.
No examples provided.
list_edit_tools List Edit Tools ~100
List the enabled canvas edit tools from /v1/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.
| Name | Type | Req | Description |
|---|---|---|---|
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
Structured output declared, but exposes no named fields.
No examples provided.
list_inference_jobs List Async Jobs ~140
List your most recent async jobs, newest first (GET /v1/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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Maximum number of recent jobs to return (1-100, default 20). |
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| status | — | — | Optional: only return jobs with this status. |
Structured output declared, but exposes no named fields.
No examples provided.
logout Log Out ~20
Clear the authenticated RetroDiffusion API key for this MCP session.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
run_edit_tool Run Edit Tool ~678
Run a canvas edit tool on an image via /v1/edit/tools/{tool_id}. Free tools: color_reducer, palette_converter, pixel_correction, k_centroid_downscale, rotate. $0.01 tools: background_remover, color_style_transfer. Premium ($0.18): 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.
| Name | Type | Req | Description |
|---|---|---|---|
| color_count | — | — | color_reducer: target number of colors. |
| dither_mode | — | — | color_reducer/palette_converter: dithering mode. |
| dither_strength | — | — | color_reducer/palette_converter: dithering strength. |
| expand_bottom | — | — | Outpainting: pixels to add on the bottom edge. |
| expand_left | — | — | Outpainting: pixels to add on the left edge. |
| expand_right | — | — | Outpainting: pixels to add on the right edge. |
| expand_top | — | — | Outpainting: pixels to add on the top edge. |
| extra_input_image | — | — | Second base64 input image for styles that use one (e.g. the second texture in rd_tile__tileset_advanced). |
| force_solid_pixels | — | — | background_remover: force fully solid or fully transparent pixels (tool default applies when omitted). |
| height | — | — | k_centroid_downscale: target height in pixels (required for that tool). |
| input_image | string | yes | Base64 PNG of the image to edit (raw base64 or a data URL). Required by every edit tool. |
| input_palette | — | — | Base64 image of a color palette; output colors are constrained to it. |
| mask_image | — | — | Base64 mask for inpainting: white pixels are regenerated, black pixels are kept. |
| prompt | — | — | What to generate or change (required by image_edit and inpainting; optional for outpainting). |
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| repair_window_size | — | — | seam_tiling: size of the repair window. |
| rotation_degrees | — | — | rotate: rotation angle in degrees (clean-edge pixel rotation). |
| seam_width | — | — | seam_tiling: width in pixels of the seam band to repair. |
| seed | — | — | Seed for reproducible results; reuse the same seed to iterate on one composition. |
| soft_inpaint | — | — | Inpainting/outpainting: blend edits softly with the surrounding pixels. |
| tile_x | — | — | seam_tiling: repair the horizontal seam (tool default applies when omitted). |
| tile_y | — | — | seam_tiling: repair the vertical seam (tool default applies when omitted). |
| timeout_seconds | — | — | Read-timeout override in seconds for this call; increase for animations or large batches. |
| tool_id | string | yes | Edit tool id. One of: image_edit, inpainting, outpainting, seam_tiling, background_remover, color_style_transfer, color_reducer, palette_converter, pixel_correction, k_centroid_downscale, rotate. Use… |
| transparency_threshold | — | — | background_remover: alpha threshold for treating pixels as transparent. |
| width | — | — | k_centroid_downscale: target width in pixels (required for that tool). |
Structured output declared, but exposes no named fields.
No examples provided.
start_inference_job Start Async Generation ~722
Start a generation as an async job (POST /v1/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.
| Name | Type | Req | Description |
|---|---|---|---|
| bypass_prompt_expansion | — | — | Skip the automatic LLM prompt enrichment and use the prompt verbatim. |
| extra_input_image | — | — | Second base64 input image for styles that use one (e.g. the second texture in rd_tile__tileset_advanced). |
| extra_prompt | — | — | Secondary prompt for styles that use one (e.g. the transition texture in advanced tilesets). |
| frames_duration | — | — | Animation frame count for animation styles: 4, 6, 8, 10, 12, or 16. |
| height | integer | yes | Output height in pixels. Each style enforces its own limits; check list_available_styles or get_style_usage. |
| include_downloadable_data | — | — | Include extra structured assets when available (e.g. tileset atlas JSON, animation frame data). |
| input_image | — | — | Base64 PNG used as the main source image for edits, variations, tilesets, animations, or styles that require a starting frame. Raw base64 or a data URL. |
| input_palette | — | — | Base64 image of a color palette; output colors are constrained to it. |
| num_images | integer | — | How many images to generate in one batch. Style-specific maximums apply. |
| prompt | string | yes | Describe the SUBJECT only (e.g. 'a knight resting by a campfire'). Never write 'pixel art' — the selected style handles all rendering. |
| prompt_style | string | yes | Style id from list_available_styles (e.g. 'rd_fast__default', 'rd_pro__isometric', or a custom 'user__...' style). |
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| reference_images | — | — | Extra per-inference guidance images (base64), only for styles where supports_reference_images is true. Not for defining custom styles. |
| remove_bg | boolean | — | Remove the background for transparent output. |
| return_non_bg_removed | — | — | Also return the render from before background removal was applied. |
| return_pre_palette | — | — | Also return the render from before palette constraints were applied. |
| return_spritesheet | — | — | For animation styles: return a PNG sprite sheet instead of a GIF. |
| seed | — | — | Seed for reproducible results; reuse the same seed to iterate on one composition. |
| strength | — | — | How strongly to change input_image, 0-1 (default 0.75). Lower values keep more of the original. |
| tile_x | boolean | — | Make the result tile seamlessly on the horizontal axis. |
| tile_y | boolean | — | Make the result tile seamlessly on the vertical axis. |
| timeout_seconds | — | — | Read-timeout override in seconds for this call; increase for animations or large batches. |
| upload_outputs | boolean | — | Host outputs and return URLs in output_urls (recommended for MCP clients) instead of only base64 payloads. |
| upscale_output_factor | — | — | Integer upscale factor for the output image; 1 returns the native pixel size. |
| width | integer | yes | Output width in pixels. Each style enforces its own limits; check list_available_styles or get_style_usage. |
Structured output declared, but exposes no named fields.
No examples provided.
update_user_style Update Custom Style ~425
Update a public RD Pro user style using /v1/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`.
| Name | Type | Req | Description |
|---|---|---|---|
| apply_prompt_fixer | — | — | Let the API tidy prompts automatically for this style (default true). |
| description | — | — | Short description of the custom style. |
| expanded_llm_instructions | — | — | Extended instructions for the prompt-expansion LLM. |
| force_bg_removal | — | — | Always remove backgrounds for this style. |
| force_palette | — | — | Always apply palette constraining for this style. |
| llm_instructions | — | — | Instructions for the prompt-expansion LLM when this style is used. |
| min_height | — | — | Force a fixed height (96-256); must be provided together with min_width. |
| min_width | — | — | Force a fixed width (96-256); must be provided together with min_height. |
| name | — | — | New display name for the custom style. |
| rd_api_key | — | — | RetroDiffusion API key (rdpk-...) for this call only; overrides session or header auth. |
| reference_caption | — | — | Alias for style_reference_caption on this tool; prefer style_reference_caption and never provide both. |
| reference_images | — | — | Alias for style_reference_images on this tool; prefer style_reference_images and never provide both. |
| reset_forced_dimensions | boolean | — | Clear previously forced dimensions; do not combine with min_width/min_height. |
| style_icon | — | — | Icon name for the style (e.g. 'sparkles'). |
| style_id | string | yes | Style id — the internal id or the prompt_style/public id (e.g. user__mystyle_ab12). |
| style_reference_caption | — | — | Caption describing the style reference image(s). |
| style_reference_images | — | — | Style-level reference image(s), base64, baked into the custom style (max 1 via the public API). |
| user_prompt_template | — | — | Prompt template for the style; must contain the {prompt} token. |
Structured output declared, but exposes no named fields.
No examples provided.