Image-to-Image API
Edit, restyle, upscale, and transform existing images through one API — pass an image URL in, get the transformed result back, with the same request shape across every editing model.
27 image-to-image models available right now — every one runnable in a free playground, through the REST API and JavaScript SDK, or from an AI assistant via MCP.
Image-to-Image models & pricing
| Model | Endpoint | Price |
|---|---|---|
| Z-Image Turbo ControlNet | tongyi-mai/z-image/turbo/controlnet | $0.0065 per megapixel |
| Recraft V3 | recraft/v3/image-to-image | $0.04 per image |
| Bria Eraser | bria/eraser | $0.04 per image |
| Ideogram Character | ideogram/character | $0.15 per image |
| GPT Image 2 Edit | openai/gpt-image-2/edit | $0.151 per image |
| Bria Background Replace | bria/background/replace | $0.04 per image |
| Florence-2 Large Object Detection | microsoft/florence-2-large/object-detection | $0 per image |
| Segment Anything 2 (Auto-Segment) | meta/sam2/auto-segment | $0 per image |
| FLUX.1 Kontext [dev] | black-forest-labs/flux-kontext/dev | $0.025 per megapixel |
| CodeFormer | sczhou/codeformer | $0.0021 per megapixel |
| Bria Background Remove | bria/background/remove | $0.018 per image |
| Bria Expand | bria/expand | $0.04 per image |
| Recraft Vectorize | recraft/vectorize | $0.01 per image |
| Depth Anything V2 | depth-anything/v2 | $0 per image |
| NAFNet Denoise | megvii-research/nafnet/denoise | $0.0225 per megapixel |
| Bria Fibo Edit Colorize | bria/fibo-edit/colorize | $0.04 per image |
| IC-Light V2 | lllyasviel/iclight/v2 | $0.1 per megapixel |
| Qwen-Image-Edit | qwen/qwen-image-edit | $0.03 per megapixel |
| FASHN Virtual Try-On v1.6 | fashn/tryon | $0.075 per image |
| Ideogram V4 Image-to-Image | ideogram/ideogram-v4/image-to-image | $0.06 per megapixel |
| Bria GenFill V2 | bria/genfill/v2 | $0.04 per megapixel |
| Nano Banana 2 Image Editing | google/nano-banana-2/edit | usage-based |
| Firered Image Edit Text to Image | fireredteam/firered-image-edit | $0.0325 per megapixel |
| Z-Image Turbo Image to Image | tongyi-mai/z-image/turbo/image-to-image | $0.005 per megapixel |
| Seedream v4 | bytedance/seedream-v4 | $0.03 per image |
| Nano Banana | google/nano-banana | $0.039 per image |
| Inspyrenet Image Mask | swook/inspyrenet | ≈$0.00047363 per image |
Full catalog on the models page; live per-configuration costs on the pricing page.
Call a image-to-image model in one request
Every model shares the same request lifecycle: submit to the queue, poll the status URL, fetch the result. Swap the endpoint to switch models — nothing else changes.
cURL
curl -X POST https://queue.modelrunner.run/tongyi-mai/z-image/turbo/controlnet \
-H "Authorization: Key $MRUN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "input": { "prompt": "..." } }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }Use image-to-image models from Claude & Cursor
Connect the ModelRunner MCP server once and your AI assistant can run every image-to-image model in this table as a tool — authorized via OAuth, results returned as hosted URLs in the conversation.
Claude Code
claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcpFrequently asked questions
How do I send my own image to an image-to-image API?
Model inputs take URLs. Upload a local file through the Storage API (POST /storage/upload/initiate, then PUT the bytes) or the JavaScript SDK’s storage.upload() helper, and pass the returned media URL as the model’s image input.
How do I call a image-to-image model via the API?
Every model shares the same request shape: POST https://queue.modelrunner.run/<owner>/<alias> with an Authorization: Key header and an {"input": {...}} body, then poll the returned status_url and fetch the result from response_url. The JavaScript SDK (@modelrunner/client) wraps this in a single subscribe() call. Each model page shows copy-paste cURL, JavaScript, and Python examples with that model's real inputs.
Can I run image-to-image models from Claude or Cursor?
Yes. Connect the ModelRunner MCP server (https://mcp.modelrunner.run/mcp) once and every image-to-image model in the catalog becomes a tool your AI assistant can call with the run_model tool — authorized via OAuth, no API key pasted into config.
