GPT Image 2 & Gemini Bilder-APIs
Erzeuge Bilder mit GPT Image 2 über die OpenAI-kompatible Images API oder mit Nano Banana Pro und Nano Banana 2 über die native Gemini API.
Diese Seite bündelt zwei getrennte API-Verträge zur Bilderzeugung. Beide verwenden denselben Modelflare-API-Schlüssel und dieselben Credits, ihre Anfrage- und Antwortformate sind jedoch nicht austauschbar.
- gpt-image-2 verwendet die OpenAI-kompatiblen Verträge /v1/images/generations und /v1/images/edits.
- gemini-3-pro-image und gemini-3.1-flash-image verwenden Geminis nativen Vertrag generateContent.
Wählen Sie zuerst die Modellfamilie und mischen Sie keine Gemini- und GPT-Images-Felder.
1. GPT Image 2 — OpenAI-kompatible Images API
Erzeuge PNGs oder bearbeite Referenzbilder aus einer öffentlichen URL oder einem lokalen Upload mit gpt-image-2 über die OpenAI-kompatible Images API. Jede Anfrage liefert ein Bild und unterstützt mittlere oder hohe Qualität, kurzlebige signierte URLs oder Base64 sowie optionales SSE.
Endpunkt und Modus wählen
- Nutze https://origin.modelflare.dev/v1 für synchrone JSON-Anfragen, die mehrere Minuten dauern können.
- Nutze https://modelflare.dev/v1 mit stream=true für lange Cloudflare-Anfragen; SSE-Heartbeats halten die Verbindung bis zum fertigen Bild offen.
- Leite einen laufenden POST nicht zwischen Hosts um.
Synchrone Anfrage
curl https://origin.modelflare.dev/v1/images/generations \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2","prompt":"Eine ruhige Hütte am See im Morgenlicht","n":1,"quality":"medium","size":"1024x1024","response_format":"url","output_format":"png"}'
Die URL-Antwort enthält einen privaten signierten Modelflare-Link, der nach einer Stunde abläuft. Mit response_format=b64_json erhältst du das validierte PNG ohne gespeichertes API-Ausgabeobjekt.
Die aktuelle Seite Modelle & Preise zeigt medium- und high-Preispunkte für gängige Größen. Abgerechnet werden die exakt angeforderte Qualität und Abmessungen, ohne normale Routing-Gruppenmultiplikatoren; die endgültige Gebühr steht im Nutzungsprotokoll.
Referenzbild bearbeiten
Sende eine oder mehrere öffentlich erreichbare HTTP(S)-Bild-URLs an POST /v1/images/edits. Jeder Eintrag in images enthält genau eine image_url:
curl https://origin.modelflare.dev/v1/images/edits \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2","prompt":"Ersetze den Hintergrund durch ein sauberes weißes Fotostudio","images":[{"image_url":"https://example.com/input.png"}],"size":"2048x2048","response_format":"url"}'
Alternativ kannst du eine lokale PNG-, JPEG- oder WebP-Datei mit multipart/form-data hochladen:
curl https://origin.modelflare.dev/v1/images/edits \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-F "model=gpt-image-2" \
-F "prompt=Ersetze den Hintergrund durch ein sauberes weißes Fotostudio" \
-F "image=@/path/to/input.png" \
-F "size=2048x2048" \
-F "response_format=url"
Die Multipart-Anfrage muss genau eine Bilddatei enthalten und insgesamt höchstens 20 MiB groß sein. Die Referenz-URL oder hochgeladene Datei wird an den ausgewählten Upstream-Anbieter gesendet; die URL muss während des Abrufs erreichbar bleiben. Modelflare speichert keine der beiden Referenzeingaben als API-Ausgabeobjekt.
SSE-Anfrage
curl -N https://modelflare.dev/v1/images/generations \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2","prompt":"Eine weiße Katze rennt im Regen durch eine Neonstraße","n":1,"quality":"high","size":"1024x1024","response_format":"url","stream":true}'
SSE-Kommentare sind nur Heartbeats. Beende nach image_generation.completed und data: [DONE].
Unterstützt werden model, prompt, n=1, quality=medium|high, gültiges WIDTHxHEIGHT, response_format=url|b64_json, output_format=png und optionales stream. /v1/images/edits akzeptiert entweder ein nicht leeres images-Array mit öffentlichen HTTP(S)-Werten in image_url oder genau eine gültige PNG-, JPEG- oder WebP-Datei im Multipart-Feld image. Generierungsanfragen lehnen Referenzbilder ab; mehrere Upload-Dateien, data/base64-Eingaben, Masken, input_fidelity, Variationen, Teilbilder und unbekannte Felder werden abgelehnt. Reservierte Credits fehlgeschlagener Anfragen werden über den Request-ID-idempotenten Erstattungspfad zurückgegeben.
Verwende einen normalen API-Key. An einen Kanal gebundene Keys werden abgelehnt; bei aktivierter Modellbegrenzung muss gpt-image-2 freigegeben sein.
2. Gemini Image — native Gemini API
Verwenden Sie Nano Banana Pro oder Nano Banana 2 im nativen Gemini-Format. Diese Modelle nutzen nicht /v1/images/generations.
Endpunkt und lange Anfragen
- Synchron: POST https://modelflare.dev/v1beta/models/{model}:generateContent.
- Für Bilder empfohlen: POST https://modelflare.dev/v1beta/models/{model}:streamGenerateContent?alt=sse.
- origin.modelflare.dev stellt /v1beta nicht bereit. Verwenden Sie die Hauptdomain und für lange Jobs bevorzugt Streaming.
Streaming-Anfrage
Dieses Beispiel nutzt Nano Banana 2. Ersetzen Sie das Modell in der URL durch gemini-3-pro-image, um Nano Banana Pro zu verwenden.
curl -N "https://modelflare.dev/v1beta/models/gemini-3.1-flash-image:streamGenerateContent?alt=sse" \
-H "x-goog-api-key: YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"role": "user",
"parts": [{"text": "Create a clean blue circle centered on a white background. No text."}]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
}
}'
Antwortvertrag
Jedes SSE-data:-Ereignis enthält natives Gemini-JSON. Das Base64-Bild steht in candidates[].content.parts[].inlineData.data, der MIME-Typ in inlineData.mimeType. Textteile sind ebenfalls möglich. Beenden Sie bei finishReason=STOP oder wenn der Stream schließt; image_generation.completed wird hier nicht verwendet.
Modelle, Auflösungen und geschätzte Preise
| Modell | Auflösung | Geschätzter Preis pro Bild |
|---|---|---|
| Nano Banana Pro | 1K / 2K | US$0.06720 |
| Nano Banana Pro | 4K | US$0.12000 |
| Nano Banana 2 | 0.5K | US$0.02241 |
| Nano Banana 2 | 1K | US$0.03360 |
| Nano Banana 2 | 2K | US$0.05040 |
| Nano Banana 2 | 4K | US$0.07560 |
Verwenden Sie in imageSize ein großes K. Dies sind Schätzpreise pro Bild; der Endbetrag kann je nach Anfrage leicht abweichen und wird im Nutzungsprotokoll erfasst.
Verwenden Sie einen normalen Modelflare-API-Schlüssel über x-goog-api-key. Er muss die Gruppe gemini-image nutzen dürfen und bei Modelllimits das gewählte Modell enthalten.