> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer.ideogram.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.ideogram.ai/_mcp/server.

> Overview of the Ideogram Developer API — capabilities, model families, and where to start.

# Ideogram Developer API

The Ideogram API lets you integrate the Ideogram Image Generation models right into your product.

## Capabilities

#### Ideogram 4.0

Prompt fidelity, crystal-clear type, reliable editing, and production-ready image workflows across the app, API, MCP, and open weights.

#### Background Control

Remove a background for a transparent cutout, or replace it with a generated scene from a prompt.

#### Typography

Ideogram excels at integrating text into images for logos, branding, POD, or design layouts.

#### Custom Models

Train on-brand image models from your approved assets so generations follow your style, art direction, typography, and visual identity.

### Generate

Generate an image given a descriptive prompt.

*prompt: A photo of a cat sleeping on a couch.*

![](/_fern-img/c4175df52dae484a097361fe9cf6d1a5447c1ef6e12a6c9b8845de4d60cf3657.webp)

### Remix

The **Remix** tool is invaluable for making changes to an existing image, whether it was generated in Ideogram or uploaded. The AI uses the original image as a basis to generate a new one, allowing you to control how much influence the original image has on the final result.

*prompt: A photo of a dog sleeping on a couch*

![](/_fern-img/44ee41021866594fa57b3f09d6ae59ead087696adc75d74d7cc581a9624e9773.webp)

![](/_fern-img/277a53d25343c498715d48729bbd51b3a4a3a3acba0bc61d22169b502d0267ee.webp)

### Edit

Take a starting image and modify a part of an image while keeping the rest intact.

*prompt: A dog wearing a cowboy hat*

![](/_fern-img/a0ec5ec44044270b41926319dc759d04f72223ff56d3c7c3fb515fcf54c3165c.webp)

![](/_fern-img/e48bfa22968f270ac136fd12243f73cad9246aacecfbb2b115ac1e1bbc06c018.webp)

![](/_fern-img/523005bb829cfbcd72a666c3d38d6a57ab729380c2f91459f5f06a45ec78dcce.webp)

### Reframe

Take a starting image and extend it to match your desired resolution.

*resolution: 1280x768*

![](/_fern-img/ee072c3d9d9b592b8f97597acee0e04f09f2b52c57cd43d6ee6f1bda1f7e7a49.webp)

![](/_fern-img/97a10963e47d8df6bebac168ea2691cb40021fa45c60e614b6f4c425d099af0d.webp)

### Replace Background

Take a starting image and replace the background with a new one.

*prompt: A man standing in a busy coffee shop*

![](/_fern-img/7e5374e84f8394a1d41cd52e89041e698689167455b63552fdc911a9ea4a000e.webp)

![](/_fern-img/256b57fd5837cb20a23e5ceb64d95d8ede925100c5174b60ab27ab8ba3ec6a08.webp)

### Face Swapping

Using the Edit endpoint, you can take a starting image and swap the face of the person in the image with a new one.

*prompt: A man sitting on a motorcycle in a dimly lit garage*

![](/_fern-img/ee072c3d9d9b592b8f97597acee0e04f09f2b52c57cd43d6ee6f1bda1f7e7a49.webp)

![](/_fern-img/d651067950c2440063d3b3de14c7fc0db0b908d4d9afcbe64737003a34104d89.webp)

![](/_fern-img/1f68e2f04e44d61a0bdcf442c7c5811666a802df5a8748380a17456db128644d.webp)

![](/_fern-img/687c40bb58485c9b5abed3b53016e474d2444b2ce9293e94a544a8afd0b74d00.webp)

### Style Presets

Using any of the API V3 endpoints, you can use a style\_preset to generate an image.
Here are a few examples with the same prompt but different `style_preset` values.

*prompt: A bioluminescent jellyfish in an underwater city*

![](/_fern-img/2b11d4d32347cc5f3e69c42494b56d36dbe8ec8491dea608ac06dc6eee9e3dce.webp)

![](/_fern-img/12b8f317a306fef79b5e55e2ff92e77a995a79ce17caa1afda6dd5956f63be7a.webp)

![](/_fern-img/c2732f7412111b09e448c6c02a51fd431a115c7504fc47a6cc6436f5ca84e67c.webp)

*prompt: A birthday cake with "Creative Typography" written on it*

![](/_fern-img/29e301fcc47f944e510684bc94dbd38e796270bac368bd172038c7398c97fc0c.webp)

![](/_fern-img/d47774b14978f9f1bf4758fcbd0cee2ecf44729331bd6533f648e70f7ecf6af5.webp)

![](/_fern-img/236d24c3871287635f520f726bb9ce54a467a9fa4331df091565960128f75c02.webp)

For more detailed documentation on our models' capabilities, please refer to our [Official Documentation](https://docs.ideogram.ai/).

## Start building

#### [Setup](/ideogram-api/api-setup)

Get started by following our Setup guide and then follow this example for a simple Generation with and without character reference.

#### [API Reference](/api-reference)

View the full API reference for all endpoints and parameters.

## Quickstart

Get started by following our Setup guide, then generate your first image with Ideogram 4.0. The second Python example shows a v3 generation with a character reference image.

#### Python

```python
import requests

# Generate with Ideogram 4.0 (POST /v1/ideogram-v4/generate)
response = requests.post(
  "https://api.ideogram.ai/v1/ideogram-v4/generate",
  headers={
    "Api-Key": "<apiKey>"
  },
  json={
    "text_prompt": "A picture of a cat"
  }
)
print(response.json())
if response.status_code == 200:
  with open('output.png', 'wb') as f:
    f.write(requests.get(response.json()['data'][0]['url']).content)

# Generate with Ideogram 3.0 and a character reference image
response = requests.post(
  "https://api.ideogram.ai/v1/ideogram-v3/generate",
  headers={
    "Api-Key": "<apiKey>"
  },
  data={
    "style_type": "AUTO",
    "prompt": "A cinematic medium shot of a man sitting on a motorcycle in a dimly lit garage.",
  },
  files=[
    ("character_reference_images", open("character_reference_image.png", "rb")),
  ]
)
print(response.json())
if response.status_code == 200:
  with open('output_character.png', 'wb') as f:
    f.write(requests.get(response.json()['data'][0]['url']).content)
```

#### Typescript

```typescript
// Generate with Ideogram 4.0 (POST /v1/ideogram-v4/generate)
const response = await fetch('https://api.ideogram.ai/v1/ideogram-v4/generate', {
  method: 'POST',
  headers: {
    'Api-Key': '<apiKey>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ text_prompt: 'A photo of a cat' })
});
const data = await response.json();
console.log(data);
```

## Enterprise Scale

The Ideogram API serves thousands of API customers to generate millions of images daily. If you wish to utilize our API at a larger scale than our default rate limit of 10 inflight requests, please reach out to us at *[partnership@ideogram.ai](mailto:partnership@ideogram.ai)* and we will help fit your exact needs.