Open API

Grok Image API

Rufen Sie Grok-Bildmodelle über die OpenAI-Images-kompatible API von LMU AI auf: Text-zu-Bild, Bearbeitung, URL- und Base64-Eingabe, Downloads, Modellauswahl und Fehlerbehebung.

LMU AI stellt Grok-Bildgenerierung und Bildbearbeitung über den OpenAI-Images-kompatiblen Pfad bereit.

Basis-URL

OpenAI-kompatibles SDK:

https://api.lmuai.com/v1

Vollständige HTTP-Endpunkte:

POST https://api.lmuai.com/v1/images/generations
POST https://api.lmuai.com/v1/images/edits

1. API-Überblick

MethodePfadBeschreibung
GET/v1/modelsFragt die für Ihre aktuelle Grok-Gruppe verfügbaren Modelle ab
POST/v1/images/generationsGrok Text-zu-Bild, synchrone Antwort
POST/v1/images/editsGrok Bildbearbeitung / Bild-zu-Bild, synchrone Antwort

Es gibt derzeit keine öffentlich verfügbare asynchrone Grok-Auftrags- oder Mehrfach-Batch-API.

2. Empfohlene Modelle

SzenarioEmpfohlenes Modell
Standard-Text-zu-Bildgrok-imagine-image
Qualitätsorientiertes Text-zu-Bildgrok-imagine-image-quality
Bildbearbeitung / Bild-zu-Bildgrok-imagine-image-quality

Fragen Sie zunächst die Modelle mit Ihrem aktuellen API-Schlüssel ab:

curl https://api.lmuai.com/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"

Verwenden Sie das Qualitätsmodell für die Bildbearbeitung

Die Bildbearbeitungsbeispiele verwenden grok-imagine-image-quality. Wir empfehlen grok-imagine-edit nicht als Standardmodell: Dieser Kompatibilitätsname kann in einigen Modelllisten erscheinen, aber einige Upstream-Kanäle geben 404 zurück, wenn er aufgerufen wird.

3. Authentifizierung

Authorization: Bearer YOUR_API_KEY

Ihr API-Schlüssel muss zu einer Grok-Gruppe gehören, für die die Bildgenerierung aktiviert ist.

4. Text-zu-Bild

POST /v1/images/generations

curl https://api.lmuai.com/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-image",
    "prompt": "A blue ceramic mug, centered on a light-gray studio background, soft side lighting, no text",
    "n": 1,
    "size": "1024x1024"
  }'

JavaScript:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.LMU_API_KEY,
  baseURL: "https://api.lmuai.com/v1",
});

const result = await client.images.generate({
  model: "grok-imagine-image",
  prompt: "A blue ceramic mug, light-gray studio background, soft side lighting, no text",
  n: 1,
  size: "1024x1024",
});

const url = result.data?.[0]?.url;
if (!url) throw new Error("No image URL in the response");
console.log(url);

Python:

from openai import OpenAI
import requests

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.lmuai.com/v1",
)

result = client.images.generate(
    model="grok-imagine-image",
    prompt="A blue ceramic mug, light-gray studio background, soft side lighting, no text",
    n=1,
    size="1024x1024",
)

url = result.data[0].url
if not url:
    raise RuntimeError("No image URL in the response")

image = requests.get(url, timeout=60)
image.raise_for_status()
with open("grok-output.jpg", "wb") as f:
    f.write(image.content)

5. Text-zu-Bild-Parameter

FeldTypErforderlichBeschreibung
modelstringJaEmpfohlen: grok-imagine-image oder grok-imagine-image-quality
promptstringJaBildbeschreibung
nintegerNeinAnzahl der Bilder; wir empfehlen, Ihre Tests mit 1 zu beginnen
sizestringNeinOpenAI-kompatibler Größenparameter; die tatsächliche Ausgabegröße wird durch die Grok-Upstream-Fähigkeiten bestimmt
response_formatstringNeinKompatibilitätsparameter für das Antwortformat; Grok gibt in der Regel eine URL zurück

Verlassen Sie sich nicht auf size, um feste Ausgabepixel zu erzwingen

Grok-Kanäle akzeptieren size möglicherweise als Kompatibilitäts- oder Abrechnungsparameter, aber die endgültigen Pixel und das Seitenverhältnis des Bildes werden durch das Upstream-Generierungsergebnis bestimmt. Wenn Sie feste Pixel benötigen, laden Sie das Bild herunter und schneiden Sie es zu oder ändern Sie die Größe selbst.

6. Bildbearbeitung / Bild-zu-Bild

POST /v1/images/edits

Die Grok-Bildbearbeitung erfolgt am besten mit JSON; übergeben Sie eines der folgenden in image.url:

  • Eine öffentlich zugängliche HTTPS-Bild-URL; oder
  • Eine data:image/...;base64,...-Data-URL.

Verwendung einer Bild-URL

curl https://api.lmuai.com/v1/images/edits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-image-quality",
    "prompt": "Keep the mug's shape, composition, and lighting; change the mug from blue to yellow; no text",
    "image": {
      "url": "https://example.com/input.jpg",
      "type": "image_url"
    },
    "response_format": "url"
  }'

Konvertierung eines lokalen Bildes in eine Data-URL

Python:

import base64
import mimetypes
import requests

api_key = "YOUR_API_KEY"
image_path = "input.jpg"
mime_type = mimetypes.guess_type(image_path)[0] or "image/jpeg"

with open(image_path, "rb") as f:
    data_url = f"data:{mime_type};base64,{base64.b64encode(f.read()).decode()}"

payload = {
    "model": "grok-imagine-image-quality",
    "prompt": "Keep the subject and composition; change the background to a seaside at dusk; no text",
    "image": {
        "url": data_url,
        "type": "image_url",
    },
    "response_format": "url",
}

response = requests.post(
    "https://api.lmuai.com/v1/images/edits",
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    json=payload,
    timeout=300,
)
response.raise_for_status()
result = response.json()
print(result["data"][0]["url"])

Data-URLs vergrößern den Anfragetext

Base64 vergrößert den Anfragetext um etwa ein Drittel. Komprimieren Sie große Bilder zuerst oder laden Sie sie in Ihren eigenen HTTPS-Objektspeicher hoch und übergeben Sie die URL. Verwenden Sie keine Adressen, die Cookies, eine Anmeldesitzung oder einen temporären Hotlink-Schutz erfordern.

7. Antwortformat

Eine typische Grok-Bildantwort:

{
  "data": [
    {
      "url": "https://image-host.example/generated.jpg"
    }
  ],
  "usage": {
    "cost_in_usd_ticks": 200000000
  }
}

Clients sollten:

  1. Den HTTP-Statuscode prüfen;
  2. Prüfen, ob data ein nicht leeres Array ist;
  3. Prüfen, ob data[0].url nicht leer ist;
  4. Das Bild sofort herunterladen und in Ihrem eigenen Speicher sichern;
  5. Die temporäre URL nicht als permanente Ressourcenadresse behandeln.

Das Feld usage wird vom Upstream-Kanal zurückgegeben, und seine Struktur kann sich von der GPT Image API unterscheiden. Die endgültigen Kosten richten sich nach Ihrer LMU AI-Rechnung und den Nutzungsdetails; behandeln Sie kein einzelnes Upstream-Feld als den Ihrem Konto berechneten Betrag.

8. Häufige Fehler

HTTPHäufige UrsacheEmpfohlene Maßnahme
400Fehlende(s) model / prompt oder eine ungültige Bild-Data-URLÜberprüfen Sie das JSON und die Bildkodierung
401Ungültiger API-SchlüsselÜberprüfen Sie die Bearer-Authentifizierung
403Bildgenerierung für die Gruppe nicht aktiviertWenden Sie sich an den Administrator, um die Grok-Gruppenberechtigungen zu prüfen
404Ein kanalinkompatibler Modell-Alias wurde verwendet oder der Upstream-Pfad ist nicht verfügbarWechseln Sie für die Bearbeitung zunächst zu grok-imagine-image-quality und speichern Sie die Anfrage-ID
429Nebenläufigkeit, RPM oder Upstream-KontingentgrenzenReduzieren Sie die Nebenläufigkeit und wiederholen Sie mit exponentiellem Backoff
5xxUpstream-Generierung vorübergehend fehlgeschlagenWiederholen Sie eine begrenzte Anzahl von Malen und geben Sie dem Administrator die Anfrage-ID

9. Unterschiede zu anderen Image-APIs

BedarfEmpfohlenes Dokument
Gemini native Text-zu-Bild und Bild-zu-BildGemini Image API
GPT Text-zu-Bild und BearbeitungGPT Image API
Grok Text-zu-Bild und BearbeitungDiese Seite
Asynchrone Verarbeitung mehrerer Gemini-PromptsGemini Batch Image API

Zuletzt aktualisiert:

Auf dieser Seite