> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MiniMax-H3-Image Bildgenerierung

>  - Standardmodell minimax-h3-image, stark bei fotorealistischen Aufnahmen, Postern, Produktbildern und Bildern mit Text
- Asynchrone Verarbeitung mit task_id für spätere Abfragen
- Text-zu-Bild und Bildbearbeitung mit bis zu 16 Referenzbildern
- Bis zu 10 Bilder pro Anfrage, integrierte Prompt-Optimierung (abschaltbar)
- Stufen 1K / 2K / 4K + Seitenverhältnis oder exakte Pixelmaße (max. 20 Megapixel) 

```bash cURL theme={null}
curl --request POST \
  --url https://api.apimart.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "minimax-h3-image",
    "prompt": "Ein Café am Meer in der Abenddämmerung, fotorealistischer Stil, warme Farbtöne",
    "size": "16:9",
    "resolution": "2K",
    "n": 1
  }'
```

```python Python theme={null}
import requests

response = requests.post(
    "https://api.apimart.ai/v1/images/generations",
    headers={
        "Authorization": "Bearer <token>",
        "Content-Type": "application/json",
    },
    json={
        "model": "minimax-h3-image",
        "prompt": "Ein Café am Meer in der Abenddämmerung, fotorealistischer Stil, warme Farbtöne",
        "size": "16:9",
        "resolution": "2K",
        "n": 1,
    },
)

print(response.json())
```

```javascript JavaScript theme={null}
const response = await fetch(
  "https://api.apimart.ai/v1/images/generations",
  {
    method: "POST",
    headers: {
      Authorization: "Bearer <token>",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "minimax-h3-image",
      prompt: "Ein Café am Meer in der Abenddämmerung, fotorealistischer Stil, warme Farbtöne",
      size: "16:9",
      resolution: "2K",
      n: 1,
    }),
  },
);

console.log(await response.json());
```

```json 200 theme={null}
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KXXXXXXXXXXXXXXX"
    }
  ]
}
```

```json 400 theme={null}
{
  "error": {
    "code": 400,
    "message": "Ungültige Anfrageparameter",
    "type": "invalid_request_error"
  }
}
```

```json 401 theme={null}
{
  "error": {
    "code": 401,
    "message": "Authentifizierung fehlgeschlagen. API-Schlüssel prüfen.",
    "type": "authentication_error"
  }
}
```

```json 402 theme={null}
{
  "error": {
    "code": 402,
    "message": "Kontoguthaben nicht ausreichend",
    "type": "payment_required"
  }
}
```

```json 429 theme={null}
{
  "error": {
    "code": 429,
    "message": "Zu viele Anfragen. Bitte später erneut versuchen.",
    "type": "rate_limit_error"
  }
}
```

```json 500 theme={null}
{
  "error": {
    "code": 500,
    "message": "Interner Serverfehler. Bitte später erneut versuchen.",
    "type": "server_error"
  }
}
```

## Authentifizierung

**Authorization** `string` *required*

Alle Endpunkte verwenden Bearer-Token-Authentifizierung. Den Schlüssel erhalten Sie auf der [API-Schlüssel-Seite](https://apimart.ai/keys).

```
Authorization: Bearer YOUR_API_KEY
```

## Modellübersicht

| Modell | Merkmale | Einsatzbereiche |
| - | - | - |
| `minimax-h3-image` | Standardversion, günstiger | Stapelgenerierung, fotorealistische Aufnahmen, Poster, Produktbilder, Bilder mit Text |
| `minimax-h3-image-highspeed` | Schnellversion: generiert schneller, Preis für Bildeingabe / -ausgabe doppelt so hoch wie beim Standardmodell | Szenarien, in denen die Antwortzeit zählt; siehe [MiniMax-H3-Image-Highspeed](https://docs.apimart.ai/de/api-reference/images/minimax-h3-image-highspeed/generation.md) |

MiniMax H3 Image erweitert den Prompt standardmäßig zunächst automatisch zu einer detaillierten Bildbeschreibung und generiert erst dann das Bild. Den erweiterten Text finden Sie im Abfrageergebnis unter `revised_prompt`. Soll exakt nach dem Originaltext generiert werden, siehe [Prompt-Optimierung deaktivieren](#prompt-optimierung-deaktivieren).

> [!WARNING]
>
> Ohne `resolution` wird standardmäßig in **4K** (ca. 16 Megapixel) ausgegeben; der Preis liegt etwa beim 3-Fachen von 1K / 2K. Wenn Sie kein 4K benötigen, übergeben Sie explizit `"resolution": "2K"`.

## Anfrageparameter

**model** `string` *required*

Name des Bildgenerierungsmodells, fest `minimax-h3-image`.

**prompt** `string` *required*

Textbeschreibung des zu erzeugenden oder zu bearbeitenden Bildes.

Unterstützt Chinesisch und Englisch. Länge nach Entfernen führender und abschließender Leerzeichen: `1` \~ `32,000` Zeichen.

**image\_urls** `string[]`

Array mit Referenzbildern, höchstens `16`. Ist das Feld gesetzt, wird automatisch der Bearbeitungsmodus aktiviert.

Jeder Eintrag kann ein öffentlich erreichbarer `http(s)://`-Direktlink oder Inline-Base64 im Format `data:image/png;base64,...` sein (die Plattform wandelt es zuerst in einen Link um und übergibt es dann an das Modell).

Siehe [Anforderungen an Referenzbilder](#anforderungen-an-referenzbilder).

**size** `string` (default: auto)

Seitenverhältnis oder exakte Pixelmaße des Ausgabebildes.

Unterstützt:

* `auto`: Das Modell wählt Komposition und Seitenverhältnis anhand des Prompts
* Seitenverhältnis: Format `X:Y`, X und Y ganze Zahlen von `1` bis `300`, Verhältnis zwischen `1:3` und `3:1` (einschließlich), z. B. `1:1`, `4:3`, `16:9`, `9:16`, `3:1`
* Exakte Pixel: `BreitexHöhe`, z. B. `2048x1152` (auch die Trennzeichen `X`, `×`, `*` sind zulässig)

Siehe [Größenregeln](#größenregeln).

**resolution** `string` (default: 4K)

Auflösungsstufe; bestimmt zusammen mit dem Seitenverhältnis die tatsächlichen Ausgabepixel.

* `1K`: ca. 1 Megapixel
* `2K`: ca. 4,2 Megapixel
* `4K` (Standard): ca. 16 Megapixel

Kleinschreibung wird ebenfalls akzeptiert.

> [!WARNING]
>
> Wenn `size` exakte Pixelmaße verwendet, darf `resolution` **nicht** übergeben werden, sonst wird 400 zurückgegeben.

**n** `integer` (default: 1)

Anzahl der zu generierenden Bilder, `1` \~ `10`.

**prompt\_optimizer** `boolean` (default: true)

Ob der Prompt automatisch erweitert wird.

`false` wirkt nur bei Text-zu-Bild und erfordert eine explizit angegebene Größe; siehe [Prompt-Optimierung deaktivieren](#prompt-optimierung-deaktivieren).

**output\_format** `string` (default: jpeg)

Ausgabedateiformat.

* `jpeg` (Standard, auch `jpg` möglich)
* `png`
* `webp`

**output\_compression** `integer` (default: 95)

Kompressionsqualität von `0` bis `100`; wirkt nicht bei `png`.

**watermark** `boolean` (default: false)

Ob ein sichtbares Wasserzeichen für KI-Generierung auf dem Bild angebracht wird. Die unsichtbare Kennzeichnung in den Bildmetadaten bleibt davon unberührt.

> [!NOTE]
>
> Folgende Parameter werden nicht unterstützt und ignoriert: `quality`, `style`, `seed`, `negative_prompt`, `background`, `mask_url`.
>
> Ergebnisse werden immer als URL zurückgegeben; `response_format: "b64_json"` führt zu 400.

## Größenregeln

| Ziel | Übergabe |
| - | - |
| Standard (4K, Seitenverhältnis wählt das Modell) | Keine Größenparameter übergeben |
| Stufe + Seitenverhältnis | `size: "16:9"`, `resolution: "2K"` |
| Nur Stufe festlegen, Seitenverhältnis wählt das Modell | `resolution: "1K"` (`size` weglassen oder `auto`) |
| Pixelgenaue Kontrolle | `size: "2048x1152"` (**kein `resolution` übergeben**) |

### Stufe + Seitenverhältnis

Die Stufe bestimmt die Gesamtfläche, das Seitenverhältnis die Form:

| Stufe | Zielfläche | Gemessenes Ausgabebeispiel |
| - | - | - |
| `1K` | ca. 1024×1024 (ca. 1 Megapixel) | Modellgewähltes Verhältnis → 1184×880 |
| `2K` | ca. 2048×2048 (ca. 4,2 Megapixel) | `1:1` → 2048×2048 |
| `4K` (Standard) | ca. 4096×4096 (ca. 16 Megapixel) | Modellgewähltes Verhältnis → 3552×4736 |

Die tatsächlichen Ausgabepixel rundet das Modell anhand von Verhältnis und Stufe; maßgeblich ist das zurückgegebene Ergebnis. Für exakte Maße verwenden Sie die Pixelschreibweise.

### Exakte Pixel

Bei `size: "BreitexHöhe"` gelten folgende Bedingungen:

| Einschränkung | Wert |
| - | - |
| Gesamtpixel (Breite × Höhe) | `655,360` \~ `20,000,000` |
| Seitenverhältnis | `1:3` \~ `3:1` |
| Mit `resolution` | Nicht gleichzeitig übergeben |

* ✅ `1024x1024`, `2048x1152`, `1536x1536`, `4000x5000`
* ❌ `512x512` (Fläche zu klein), `4000x1000` (Verhältnis über 3:1), `5000x5000` (über 20 Megapixel)

## Anforderungen an Referenzbilder

| Punkt | Anforderung |
| - | - |
| Anzahl | Höchstens 16 |
| Format | JPG / JPEG / PNG / WebP / HEIC / HEIF (kein GIF) |
| Dateigröße | Max. 64 MB pro Bild |
| Bildmaße | Jede Seite 128 \~ 8192 Pixel, lange Seite ÷ kurze Seite ≤ 4 |

> [!WARNING]
>
> Stellen Sie bei URLs sicher, dass der Link **öffentlich erreichbar** ist. Ist der Link nicht erreichbar, schlägt die Aufgabe in der Generierungsphase fehl (`status` ist `failed`, die Kosten werden vollständig erstattet).
>
> Im Bearbeitungsmodus ist die Prompt-Optimierung immer aktiv und kann nicht deaktiviert werden.

## Prompt-Optimierung deaktivieren

Standardmäßig erweitert das Modell zuerst den Prompt und generiert dann das Bild. Für eine Generierung exakt nach dem Originaltext übergeben Sie `"prompt_optimizer": false`. Voraussetzungen:

* Nur für **Text-zu-Bild**; mit `image_urls` wird 400 zurückgegeben
* Die Größe muss **explizit angegeben** sein: `size` muss ein Seitenverhältnis (z. B. `1:1`) oder Pixelmaße (z. B. `1024x1024`) sein, nicht `auto` und nicht leer

Bei deaktivierter Optimierung liest das Modell nur etwa die ersten 4096 Token des Prompts.

## Response

**code** `integer`

Antwortstatuscode; 200 bei erfolgreicher Übermittlung.

**data** `array`

Daten der Übermittlungsantwort.

**Array-Element**

**status** `string`

Anfangsstatus ist `submitted`.

**task\_id** `string`

Eindeutige Aufgaben-ID zur Abfrage von Status und Ergebnis.

## Übermittlungsantwort

Nach erfolgreicher Übermittlung wird sofort die ID der asynchronen Aufgabe zurückgegeben:

```json theme={null}
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KXXXXXXXXXXXXXXX"
    }
  ]
}
```

## Aufgabenergebnis abfragen

Verwenden Sie die `task_id` aus der Übermittlungsantwort mit dem [Endpunkt zur Aufgabenabfrage](https://docs.apimart.ai/de/api-reference/tasks/status.md):

```bash theme={null}
curl --request GET \
  --url https://api.apimart.ai/v1/tasks/task_01KXXXXXXXXXXXXXXX \
  --header 'Authorization: Bearer <token>'
```

Gemessen dauert ein einzelnes Bild in 1K / 2K etwa 10 \~ 20 Sekunden, in 4K etwa 20 Sekunden, eine Bearbeitung mit Referenzbildern etwa 20 Sekunden. Fragen Sie den Status am besten alle 3 \~ 5 Sekunden ab, bis er `completed` oder `failed` lautet. Eine Aufgabe kann bis zu 600 Sekunden laufen; setzen Sie das Polling-Timeout im Client daher auf 10 Minuten.

### Erfolgreiche Aufgabe

```json theme={null}
{
  "code": 200,
  "data": {
    "id": "task_01KXXXXXXXXXXXXXXX",
    "status": "completed",
    "progress": 100,
    "created": 1794450409,
    "completed": 1794450428,
    "actual_time": 19,
    "estimated_time": 60,
    "cost": 0.0493,
    "result": {
      "images": [
        {
          "url": [
            "https://upload.apimart.ai/f/image/example_0.jpeg",
            "https://upload.apimart.ai/f/image/example_1.jpeg"
          ],
          "expires_at": 1794536828,
          "revised_prompt": "The image is a realistic, close-up still life photograph of ...",
          "revised_prompts": [
            "The image is a realistic ...",
            "The image is a professional ..."
          ]
        }
      ]
    }
  }
}
```

Die Bild-URLs stehen in `data.result.images[0].url[]`; alle `n` Bilder befinden sich in diesem einen Array. Laden Sie sie vor `expires_at` herunter und speichern Sie sie. Schlägt eine Aufgabe fehl, ist `status` `failed`, der Grund steht in `error.message`, und die Kosten werden automatisch vollständig erstattet.

## Anwendungsbeispiele

### Text-zu-Bild (Standard 4K)

```json theme={null}
{
  "model": "minimax-h3-image",
  "prompt": "A cozy coffee shop by the sea at sunset, photorealistic, warm tones"
}
```

### Text-zu-Bild (1K + Seitenverhältnis, 4 Bilder)

```json theme={null}
{
  "model": "minimax-h3-image",
  "prompt": "Minimalistisches Produktbild von Kopfhörern, weißer Hintergrund, weiche Schatten",
  "size": "1:1",
  "resolution": "1K",
  "n": 4
}
```

### Exakte Pixel + PNG

```json theme={null}
{
  "model": "minimax-h3-image",
  "prompt": "Poster einer nächtlichen Stadt, Neonlichter, Cyberpunk-Stil, Titeltext NIGHT CITY",
  "size": "2048x1152",
  "output_format": "png"
}
```

### Bearbeitung mit Referenzbildern

```json theme={null}
{
  "model": "minimax-h3-image",
  "prompt": "Ziehe der Person aus dem ersten Bild die Jacke aus dem zweiten Bild an, Hintergrund unverändert lassen",
  "image_urls": [
    "https://example.com/person.jpg",
    "https://example.com/jacket.png"
  ],
  "resolution": "2K"
}
```

### Prompt-Optimierung deaktivieren

```json theme={null}
{
  "model": "minimax-h3-image",
  "prompt": "a red apple on a wooden table, top view",
  "size": "1:1",
  "resolution": "1K",
  "prompt_optimizer": false
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.