One API key for Veo 3.1, Seedance and Nano Banana
Pay as you go for 45 image and video models, from a REST API or from an MCP server that Claude, ChatGPT, Cursor and Codex connect to with one sign-in. It's the credit balance you use in the web app, at the same prices.
- MCP server
- https://azurade.com/mcp
- REST API
- /api/v2, keys as Bearer tokens. Reference
- Billing
- A credit costs $0.02 to $0.04, no subscription. 4 free on signup.
- Credits
- Never expire. Replicate's prepaid credit lasts a year, fal.ai's 365 days (compared).
- Failed generations
- Refunded to the balance automatically, no ticket.
Watch Claude and Codex connect to Azurade in two clicks. The steps for every other client are below. Only want pictures in Claude? Read Claude image generation
Connect an MCP client
Claude (web and desktop)
- Open Customize > Connectors.
- Click +, then Add custom connector.
- Paste the URL.
On Team and Enterprise an owner adds it first under Organization settings > Connectors. The free plan allows one custom connector.
https://azurade.com/mcpChatGPT
- Turn on Developer mode in Settings > Security and login.
- Press + on the Plugins page and create an app with the URL.
- Pick it from the Developer mode tool in a chat.
Developer mode is on Plus, Pro, Business, Enterprise and Edu, on the web.
https://azurade.com/mcpClaude Code
- Add the server.
- Run /mcp in a session and pick azurade to sign in.
claude mcp add --transport http azurade https://azurade.com/mcpCodex
- Add the server.
- Sign in with codex mcp login azurade.
codex mcp add azurade --url https://azurade.com/mcpGemini CLI
- Add the server.
- Run /mcp auth azurade in a session.
gemini mcp add --transport http azurade https://azurade.com/mcpCursor
- Use Add to Cursor, or put this in ~/.cursor/mcp.json.
{"mcpServers": {"azurade": {"url": "https://azurade.com/mcp"}}}VS Code
- Run MCP: Open User Configuration, or edit .vscode/mcp.json.
- Add this server entry.
{"servers": {"azurade": {"type": "http", "url": "https://azurade.com/mcp"}}}On first use the client opens an Azurade page where you sign in and click Allow, and it's connected without you copying a key.
claude mcp add --transport http azurade https://azurade.com/mcp --header "Authorization: Bearer sk-..."Then ask for a picture in Claude:
A teal dragon breathing a stream of photos into the night sky, painterly
estimate_generation
model: "nano-banana-pro", resolution: "2K", aspect_ratio: "4:5"
← cost: 9, balance: 240, affordable: true
create_generation
same arguments
← status: "completed", cost: 9
outputs[0].url: https://azurade.com/api/files/output_result_files/r8f2k1x0q9m4b7d/dragon.png

REST API
- Create a key on your profile page.
GET /api/v2/modelsis public; everything else takes the key. POST /api/v2/generations/estimatetakes the same body and returns the cost and whether your balance covers it. It starts nothing.- The create call answers 202 with an id. Poll
GET /api/v2/generations/<id>until the status isfailed, orcompletedwith files inoutputs.
The MCP tools call the same code, so prices, refunds, content screening and error codes match. Download links need no authentication: anyone you share one with can open the file.
Full contract: the OpenAPI document, generated from the running code and browsable at /swagger/. Agents that read skills can start from SKILL.md.
curl -X POST https://azurade.com/api/v2/generations \
-H "Authorization: Bearer $AZURADE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "nano-banana", "prompt": "a lighthouse at dusk"}'202 Accepted
{"id": "r8f2k1x0q9m4b7d", "model": "nano-banana", "type": "image",
"status": "pending", "cost": 2}
GET /api/v2/generations/r8f2k1x0q9m4b7d
{
"id": "r8f2k1x0q9m4b7d",
"status": "completed",
"cost": 2,
"outputs": [{
"url": "https://azurade.com/api/files/output_result_files/.../lighthouse.png",
"content_type": "image/png"
}]
}What the agent can do
Eleven tools. A finished image comes back with its download link and a small inline preview, so the agent can look at what it made before deciding to try again.
Choose a model
- list_models
- Every model with its type and the credit price of a default request.
- get_model
- One model's parameters: names, defaults, allowed values.
- estimate_generation
- The exact credit cost of a request. Free, starts nothing.
Generate
- create_generation
- Starts an image or video and waits up to about 50 seconds for it.
- get_generation
- Status and file links; waits again while the job runs.
- list_generations
- Your history, newest first.
- create_upload_url
- A one-off link the agent's shell uploads a local file to with curl.
Prompts
- enhance_prompt
- Rewrites a short prompt using the target model's prompting guide.
- moderate_prompt
- Runs the content-policy screen on a prompt without generating.
Account
- get_account
- Your credit balance.
- buy_credits
- A card checkout link for a credit pack, for you to pay when the balance runs out.
Models and prices
Credits for a request that sends only a prompt, the figure estimate_generation returns for it. † marks a model whose price changes with resolution, duration or inputs; estimate those before you submit. A credit costs $0.02 to $0.04 depending on the pack or plan.
Image models 26
| Model id | Best for | Takes | Credits |
|---|---|---|---|
| nano-banana | Quick image edits and blending several reference images | text, image | 2 |
| nano-banana-2.1 | Images up to 4K with clean text and characters that stay the same across edits | text, image | 2, price varies |
| qwen-image-2.1 | Generating and editing in one model, with transparent backgrounds | text, image | 2, price varies |
| recraft-crisp-upscale | Upscaling an image with crisp edges and text | image | 2 |
| remove-background | Cutting the subject out onto a transparent background | image | 2 |
| seedream-5-flash | Fast, low-cost images and edits up to 2K | text, image | 2 |
| flux-dev | General-purpose images with control over steps, guidance and seed | text, image | 3, price varies |
| gpt-image-2.5 | Photorealistic images with precise text up to 4K, and tighter edits | text, image | 3, price varies |
| qwen-image | Images and edits with clean in-image text in Chinese or English | text, image | 3, price varies |
| qwen-image-edit | Editing one image with a text instruction | text, image | 3 |
| qwen-image-edit-plus | Edits that combine several input images, such as swapping outfits | text, image | 3 |
| qwen-image-edit-plus-lora | Image edits in the style of a custom LoRA | text, image | 3 |
| seedream-3 | Photoreal images at up to 2048 px | text | 3 |
| seedream-4 | Up to 6 images per request, and edits with up to 10 references | text, image | 3, price varies |
| seedream-4.5 | Detailed images up to 4K, and edits with up to 14 references | text, image | 3 |
| seedream-5-lite | Images up to 4K at one price for every size, and edits with up to 14 references | text, image | 3 |
| wan-2.7-image | Images and sets of up to 12 related images, up to 4K on Pro | text, image | 3, price varies |
| flux-kontext-pro | Editing an image with a text instruction while the rest stays put | text, image | 4 |
| nano-banana-2 | Images up to 4K with legible text, many references and web search | text, image | 4, price varies |
| nano-banana-2-lite | Fast, cheap drafts and quick edits at 1K | text, image | 4 |
| restore-image | Repairing old, scratched or faded photos | image | 4 |
| seedream-5-pro | Detailed photoreal images and edits from up to 10 references, a fee for each after the first | text, image | 4, price varies |
| gpt-image-2 | Photorealism and exact text in images, such as posters and UI mockups | text, image | 6 |
| imagen-4-ultra | Detailed photorealistic images from a text prompt | text | 6 |
| nano-banana-pro | High-fidelity images up to 4K with accurate text and compositing | text, image | 9, price varies |
| qwen-image-layered | Splitting an image into separate transparent layers for editing | text, image | 11, price varies |
Video models 19
| Model id | Best for | Takes | Credits |
|---|---|---|---|
| wan-2.2 | Low-cost short clips, with LoRA support | text, image | 1, price varies |
| seedance-2-mini | Lower-cost video with a soundtrack from text or images, up to 15 s | text, image, video, audio | 20.5, price varies4.1 per second |
| veo3.1 | 8 s video with native sound from text, first and last frames, or references | text, image | 30, price varies |
| vidu-q4 | Animating one image into a clip up to 16 s at up to 4K, with sound | text, image | 38, price varies7.6 per second |
| vidu-q4-reference | Clips up to 16 s at up to 4K that keep characters and voices from up to 15 images and 3 audio clips | text, image, audio | 38, price varies7.6 per second |
| wan-3.0 | Clips up to 30 s at 1080p with sound, from text, frames or image, video and audio references | text, image, video, audio | 40, price varies8 per second |
| kling-3.0-turbo | Faster Kling clips up to 15 s at 1080p, from text or one image | text, image | 45, price varies9 per second |
| kling-3.0 | Clips up to 15 s at up to 4K with sound, from text or first and last frames | text, image | 50, price varies10 per second |
| motion-control | Making a character from a photo copy the moves in a reference video, billed by that video's length | text, image, video | 50, price varies10 per second |
| wan-2.6 | Multi-shot video from text or an image, 5 to 15 s at up to 1080p | text, image, video | 53, price varies |
| wan-2.7 | Video from text or images, continuing a clip, or editing a video | text, image, video, audio | 60, price varies |
| wan-3.0-prime | Faster clips up to 30 s at 1080p with sound, from text, frames or image, video and audio references | text, image, video, audio | 63, price varies12.6 per second |
| seedance-pro | 1080p video from a prompt, 2 to 12 s | text | 75, price varies15 per second |
| seedance-2 | Video with a soundtrack from text or images, up to 15 s, with a fast tier | text, image, video, audio | 102.5, price varies20.5 per second |
| veo3-fast | Faster, cheaper 8 s video with native sound | text | 120 |
| seedance-2.5 | Clips up to 30 s at 1080p, steered by image, video or audio references | text, image, video, audio | 160, price varies32 per second |
| hunyuan | Text-to-video with control over frame count, size and steps | text | 250 |
| veo2 | Short clips from a prompt or a first-frame image | text, image | 250, price varies50 per second |
| veo3 | 8 s video with native sound and dialogue at up to 1080p | text | 320 |
Questions
Can one API key call Veo 3.1, Seedance and Nano Banana?
Yes. A key from your profile page calls every model in the table below, veo3.1, the seedance models and the nano-banana models included, and each call bills the same credit balance. There's no plan to buy first and no per-model signup.
Do API credits expire?
No, the balance never expires and never resets. Replicate's prepaid credit, for comparison, is valid for a year from purchase and fal.ai's expires after 365 days.
Do I need an API key to use the MCP server?
Not with a client that supports MCP authorization, which covers Claude, ChatGPT, Claude Code, Codex, Gemini CLI, Cursor and VS Code. The client opens an Azurade page, you sign in and click Allow, and it's connected. A client without OAuth support sends a key from your profile page as Authorization: Bearer sk-...
How do I disconnect a client?
Each connection is a key named after the client, for example "Claude (connected app)", on your profile page. Delete it and the client loses access at once.
What does a generation cost through the API?
The same credits as in the web app. There's no separate developer plan or per-seat fee. A failed generation is refunded to your balance automatically.
Why does create_generation sometimes answer pending?
Most MCP clients give up on a tool call after 60 seconds, so the server returns after about 50 with the job's id. The agent calls get_generation, which waits another 50 seconds. Images usually finish inside the first call; a video can take a few.
Can the agent use an image from my computer?
Yes. create_upload_url gives the agent a link and a curl command; it uploads the file from your machine and passes the returned URL to the model. The link works for 15 minutes and needs no key. A file that is already online needs no upload.
What happens when the agent runs out of credits?
It calls buy_credits and hands you a checkout link for a credit pack. You pay by card on the checkout page, which shows the price, and the credits land on your balance at once. The agent cannot pay by itself.
Can an agent without a key sign itself up?
It can ask for a key, but you approve it. The agent gives you a link and a six-digit code; you sign in, type the code, and the agent receives a key named "Agent" on your account. Delete that key on your profile page to cut it off.
