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.