---
title: "Image and Video Generation API and MCP Server | Azurade AI"
description: "Connect Claude, ChatGPT, Cursor or Codex to Azurade's MCP server with one sign-in, or call the REST API with a key. Pay per generation; credits never expire."
canonical: https://azurade.com/developers/
---

# Generate images and video from your AI agent

Azurade runs frontier image and video models behind one account. Your agent reaches them through an MCP server at `https://azurade.com/mcp`, or through a plain REST API. Both bill the same credit balance as the web app, at the same prices.

A credit costs about $0.02 in the starter pack. A Nano Banana image is about $0.04; a five-second 720p Wan 2.7 clip is about $0.80. Credits never expire, and new accounts start with 4 free credits.

## Connect an MCP client

Give the client the server URL and nothing else. On first use it opens an Azurade page in your browser. Sign in with Google or an emailed code, click Allow, and you are back in the client, connected. No key to copy.

[Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=azurade&config=eyJ1cmwiOiJodHRwczovL2F6dXJhZGUuY29tL21jcCJ9)

-   Claude (web and desktop)Open Customize > Connectors, click +, then Add custom connector, and 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/mcp
-   ChatGPTTurn on Developer mode in Settings > Security and login (Plus, Pro, Business, Enterprise and Edu, on the web). Then press + on the Plugins page, create an app with the URL, and pick it from the Developer mode tool in a chat.https://azurade.com/mcp
-   Claude CodeAdd the server, then run /mcp in a session and pick azurade to sign in.claude mcp add --transport http azurade https://azurade.com/mcp
-   CodexAdd the server, then sign in with codex mcp login azurade.codex mcp add azurade --url https://azurade.com/mcp
-   Gemini CLIAdd the server, then run /mcp auth azurade in a session.gemini mcp add --transport http azurade https://azurade.com/mcp
-   CursorUse the Add to Cursor link above, or put this in ~/.cursor/mcp.json:{"mcpServers": {"azurade": {"url": "https://azurade.com/mcp"}}}
-   VS CodeRun MCP: Open User Configuration, or edit .vscode/mcp.json:{"servers": {"azurade": {"type": "http", "url": "https://azurade.com/mcp"}}}

Older clients that cannot sign in take a key instead. Create one on your profile page and send it as a header:

`claude mcp add --transport http azurade https://azurade.com/mcp --header "Authorization: Bearer sk-..."`

## What the agent can do

Ten tools. They call the same code as the REST routes, so prices, refunds, content screening and error codes match exactly.

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.

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.

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.

get\_account

Your credit balance.

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. Download links need no authentication. Anyone you share one with can open the file.

## REST API quick start

Create a key on your profile page. The model catalogue is public; everything else takes the key.

`curl https://azurade.com/api/v2/models curl -X POST https://azurade.com/api/v2/generations/estimate \ -H "Authorization: Bearer $AZURADE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model": "nano-banana", "prompt": "a lighthouse at dusk"}' 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"}'`

The last call answers 202 with an id. Poll `GET /api/v2/generations/<id>` until the status is `failed`, or `completed` with a non-empty `outputs` array. The full contract is the [OpenAPI document](https://azurade.com/api/v2/openapi.json) (generated from the running code, browsable at [/swagger/](https://azurade.com/swagger/)), and agents that read skills can start from [SKILL.md](https://azurade.com/.well-known/agent-skills/azurade-generation/SKILL.md).

## Questions

### 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 is 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 is no separate developer plan, no per-seat fee and no rate card of its own. 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.
