Dokumentation der Bildgenerierungs-API
KozeAI bietet Schnittstellen zur Bildgenerierung und -bearbeitung im OpenAI-Stil. Die Bildschnittstelle liefert ein einheitliches Bildantwortformat. Die spezifische, vom Modell unterstützte Größe, Qualität, das Referenzbild und das Ausgabeformat werden jedoch vom Kanaladapter bestimmt.
Authentifizierung
Alle Anfragen werden über Authorization: Bearer authentifiziert. Dieses Token wird verwendet, nachdem in der Konsole ein API-Token erstellt wurde.
export KOZEAI_API_KEY='sk-your-token'
export KOZEAI_BASE_URL='https://your-kozeai-domain'
API Übersicht
| Methode | Pfad | Inhaltstyp | Zweck | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| POST | /v1/images/generations |
application/json |
Textgenerierte Bilder | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Modell |
Zeichenkette | Ist | Name des Bildmodells. Die tatsächlich verfügbaren Modelle basieren auf den Ergebnissen von /v1/models. |
Eingabeaufforderung |
Zeichenkette | Ja | Beschreibung des Bildinhalts. Es wird empfohlen, eine nicht leere Zeichenkette zu verwenden. ... |
Qualität |
Zeichenkette | Nein | Qualitätsstufe. Gängige Werte sind Standard, HD, Auto, 2k und 4k. |
Antwortformat |
Zeichenkette | Nein | Gängige Werte sind URL oder b64_json. |
style |
any | No | OpenAI-kompatibler Stilparameter. |
user / user_id |
any | No | Benutzerkennung des Aufrufers. |
extra_fields |
object | No | Zusätzlicher strukturierter Parameter; Seine Effektivität hängt vom Kanaladapter ab. |
Hintergrund |
Beliebig | Nein | Hintergrundeinstellungen. |
Moderation |
Beliebig | Nein | Einstellungen für die Inhaltsmoderation. |
Ausgabeformat |
Beliebig | Nein | Bildausgabeformat. |
output_compression |
integer | No | Ausgabekomprimierungsparameter, wird von einigen Codex-Bildmodellen unterstützt. |
partial_images |
integer | No | Einige bild-/streamingbezogene Parameter, die von einigen Codex-Bildmodellen unterstützt werden. |
watermark |
boolean | No | Wasserzeichenschalter, dessen Wirksamkeit vom Kanal abhängt. |
watermark_enabled |
any | No | Kompatibel mit einigen Upstream-Wasserzeichenparametern. |
image |
string/object/array | No | Verweisen Sie auf die Bild-URL, die Daten-URL oder das Bildobjekt; Einige Kanäle werden automatisch in den Bearbeitungsprozess überführt. |
DALL·E Größe und Standardeinstellungen
| Modell | Größe Zulässig Werte |
Standardwerte |
|---|---|---|
dall-e-2 / dall-e |
256x256、512x512、1024x1024 |
1024x1024 |
1024x1024、1024x1792、1792x1024 |
1024x1024 |
|
gpt-image-1 / gpt-image-2 |
Vom Upstream-Modell bestimmt | quality=auto |
size Es müssen Buchstaben mit halber Breite verwendet werden x, keine Multiplikationszeichen ×.
2. Bildbearbeitung
Standardmäßige Bearbeitungsanfragen verwenden das Multipart-Formular mit dem Bildfeld namens image. Mehrere Eingabebilder können mit image oder image[] wiederverwendet werden.
curl '$KOZEAI_BASE_URL/v1/images/edits' \
-H 'Authorization: Bearer $KOZEAI_API_KEY' \
-F 'model=gpt-image-1' \
-F 'prompt=Ändere den Hintergrund in eine Nachtszene und behalte die Motivdetails bei' \
-F 'image=@./input.png' \
-F 'n=1' \
-F 'quality=standard'
Allgemeines Formular Felder:
| Feld | Typ | Beschreibung |
|---|---|---|
Modell |
Zeichenkette | Modell für die Bildbearbeitung. |
Eingabeaufforderung |
Zeichenkette | Bearbeitungsanforderungen. |
Bild / Bild[] |
Datei | Geben Sie mindestens ein Bild ein. |
Maske |
Datei | Maskenbild; Wird hauptsächlich für OpenAI/Codex-kompatible Bearbeitungs-Workflows verwendet. |
n |
Ganzzahl | Anzahl der generierten Elemente, Standardwert 1, Bereich 1-10. |
Größe |
Zeichenkette | Ausgabegröße oder -verhältnis. |
Qualität |
Zeichenkette | Ausgabequalität. |
response_format |
string | url oder b64_json, abhängig vom Kanal. |
watermark |
boolean | Wasserzeichen-Schalter, abhängig vom Kanal. |
Einige Kanäle unterstützen auch JSON-Bearbeitungsanfragen, z. B. das Setzen von image auf eine Daten-URL oder Bild-URL. OpenAI, Codex und ChatGPT OAuth-Bearbeitungspfade verwenden jedoch bevorzugt Multipart.
3. Kanalunterschiede
| Kanal | Zusätzliche Verhaltensweisen |
|---|---|
| OpenAI / DALL·E | Das Bildfeld wird von OpenAI weitergeleitet; DALL·E führt eine strenge Validierung für size durch. |
| xAI | size wird in aspect_ratio und resolution konvertiert; response_format ist standardmäßig b64_json. Zusätzliche JSON-Parameter wie aspect_ratio und resolution werden unterstützt. |
| Flow | size Unterstützt die Seitenverhältnisse 1:1, 16:9, 9:16, 4:3 und 3:4; quality=2k/4k löst einen Skalierungsprozess aus. Referenzbilder werden über image hochgeladen. |
| Jimeng / Dreamina | size wird für die Seitenverhältniszuordnung verwendet; quality=hd wählt eine höhere Auflösung; das Referenzbild wird in den Mischprozess einbezogen. |
| Codex | Unterstützt zusätzlich input_fidelity, mask, stream, output_format, output_compression und partial_images. |
| ChatGPT OAuth | Verwendet model, prompt und n und bearbeitet Bilder; andere Bildparameter können ignoriert werden. |
| Grok | response_format Unterstützt nur url oder b64_json, Standardwert ist url; Bearbeitungsanfragen erfordern mindestens ein Bild. |
Parameter, die nicht in öffentlichen Feldern definiert sind, werden nicht automatisch übertragen. Nur zusätzliche Parameter, die explizit vom entsprechenden Kanaladapter gelesen werden, sind wirksam.
4. Antwortformat
{
"created": 1751000000,
"data": [
{
"url": "https://example.com/generated.png",
"b64_json": "",
"revised_prompt": "Eine orange Katze sitzt am Fenster, filmisches Licht und Schatten"
}
]
}
Bei `response_format=b64_json` befindet sich der Bildinhalt in `data[].b64_json`; bei Verwendung des URL-Formats befindet sich die Bildadresse in `data[].url`. Verschiedene Kanäle können leere Zeichenketten für nicht verwendete Felder zurückgeben.
5. JavaScript-Aufrufbeispiel
const baseURL = process.env.KOZEAI_BASE_URL;
const apiKey = process.env.KOZEAI_API_KEY;
const response = await fetch(`${baseURL}/v1/images/generations`, {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'gpt-image-1',
prompt: 'Eine minimalistische Produktillustration auf weißem Hintergrund',
n: 1, size: 1024x1024,
response_format: url,
}),
});
if (!response.ok) {
throw new Error(await response.text());
}
const result = await response.json();
console.log(result.data[0].url || result.data[0].b64_json);
6. Häufige Fehler
Modell erforderlich: Der Modellname wurde nicht angegeben.Eingabeaufforderung erforderlich: Das Eingabeaufforderungswort ist leer.n muss zwischen 1 und 10 liegen: Die Anzahl der generierten Werte überschreitet das öffentliche Limit.Größe muss einer der folgenden Werte sein: DALL·E verwendet eine nicht unterstützte Größe.Bild erforderlich: Die Bearbeitungsoberfläche hat kein Bild hochgeladen oder keine erkennbare Bildreferenz angegeben.Nicht unterstütztes Antwortformat: Der Zielkanal unterstützt das angeforderte Ausgabeformat nicht.