Referenz
POST /v1/images/generations
Bilder aus einem Text-Prompt, im Format von OpenAI: Das images.generate des SDKs funktioniert, wenn nur die Base URL geändert wird. Die Bilder kommen in der Antwort zurück, und wir behalten keine Kopie.
Geprüft am 6. November 2026
Ein Bild erzeugen
import base64
import os
from openai import OpenAI
client = OpenAI(
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
)
result = client.images.generate(
model="z-image-turbo",
prompt="A lighthouse on a rocky coast at dusk",
size="1024x1024",
)
with open("picture.webp", "wb") as f:
f.write(base64.b64decode(result.data[0].b64_json))Modelle
| Modell | Geeignet für | Pro Bild | Größe | Längster Prompt |
|---|---|---|---|---|
| chroma | Ein offenes Modell, das lange, detaillierte Prompts liest. | 0,03 $ | Bis 1280 Pixel pro Seite, zurückgegeben mit 1,5-facher Größe | 7.500 Zeichen |
| z-image-turbo | Das schnellste hier, für fotografische Bilder in großer Menge. | 0,03 $ | Bis 1280 Pixel pro Seite | 7.500 Zeichen |
| wai-illustrious | Anime und Illustration. | 0,03 $ | Bis 1280 Pixel pro Seite | 1.500 Zeichen |
| krea-2-turbo | Hält bekannte Figuren und einen Hausstil, in 1K oder 2K. | 0,08 $ (1K), 0,12 $ (2K) | 1:1, 3:2, 16:9, 21:9, 9:16, 2:3, 3:4, 4:5 | 5.000 Zeichen |
GET /v1/models listet dieselben Preise und Grenzen.
Anfrage
| Feld | Nimmt | Was es bewirkt |
|---|---|---|
model | Pflicht | Eine der oben genannten Modell-IDs. |
prompt | Pflicht | Was gezeichnet werden soll, wird unverändert an das Modell gesendet. Über dem Limit des Modells wird abgelehnt, nie gekürzt. |
size | WIDTHxHEIGHT oder auto | Die Größe des Bildes. Standard ist 1024x1024. Siehe Größen. |
aspect_ratio | 1:1, 3:2, 2:3, 4:3, 3:4, 4:5, 16:9, 9:16, 21:9 | Ein Format anstelle von size. Wenn beide gesendet werden, gewinnt es. |
n | 1 bis 4 | Wie viele Bilder. Bezahlt wird nur für die, die zurückkommen. |
response_format | b64_json oder url | Standard ist b64_json. url liefert eine data:-URL, keinen Link zu einer gespeicherten Datei. |
output_format | webp, png oder jpeg | Standard ist webp. |
resolution | 1K oder 2K | Nur für krea-2-turbo, und der Preis richtet sich danach. |
seed | Eine ganze Zahl | Dieselbe Seed und derselbe Prompt ergeben ein ähnliches Bild. Mit n addiert jedes Bild eins dazu. |
negative_prompt | Text | Was weggelassen werden soll. Die Prüfung der harten Grenzen liest es nicht, und nicht jedes Modell berücksichtigt es. |
steps | 1 bis 50 | Mehr Schritte dauern länger. Nicht jedes Modell nutzt sie. |
cfg_scale | Über 0, bis 20 | Wie genau dem Prompt gefolgt wird. Nicht jedes Modell nutzt es. |
Jedes andere Feld, etwa quality, style oder user, wird verworfen und im Header x-nokeep-ignored genannt. Ein Feld, das ein Bild trägt, etwa image, wird mit 400 unsupported_input abgelehnt: Diese Modelle arbeiten nur mit Text.
Größen
- Eine Seite muss mindestens 256 Pixel haben, und die längere Seite darf höchstens das Dreifache der kürzeren sein. Darüber hinaus ist es
400 unsupported_size. - Eine größere Größe wird innerhalb von 1280 Pixeln pro Seite eingepasst und behält ihr Format. OpenAIs 1536x1024 wird zum Beispiel als 1280x848 gezeichnet.
chromaliefert das 1,5-Fache der Pixel zurück, die es zeichnet, ohne Aufpreis; so kommt 1024x1024 als 1536x1536 zurück.krea-2-turbozeichnet in benannten Formaten, deshalb wird einesizeauf das nächstliegende gesetzt.- Die
sizeoderaspect_ratioder Antwort sagt immer, was Sie bekommen haben.
Antwort
{
"created": 1793960000,
"data": [
{
"b64_json": "UklGRk…"
}
],
"model": "z-image-turbo",
"output_format": "webp",
"size": "1024x1024",
"usage": {
"images": 1,
"nokeep_credits": 30
}
}Die Header x-nokeep-credits und x-nokeep-balance zeigen, was der Aufruf gekostet hat und was übrig ist, wie beim Chat. Ein Bild wird abgerechnet, wenn es zurückkommt. Ein fehlgeschlagenes oder abgelehntes kostet nichts.
Was die Modelle erzeugen
Erwachsenen-Inhalte sind bei den Modellen abgedeckt, die der Host als unzensiert kennzeichnet. z-image-turbo gehört nicht dazu und hielt in unseren Prüfungen am meisten zurück, deshalb kann das Ergebnis weicher ausfallen als verlangt.
Vier harte Grenzen bleiben: sexuelle Inhalte mit Minderjährigen, sexuelle Inhalte über reale Personen, Schaden mit Massenopfern und das Angreifen einer realen Person. Ein Prompt, der eine davon überschreitet, bekommt 422 hard_limit und kostet nichts. Die Prüfung liest den Prompt; siehe Harte Grenzen. Der Host eines Modells kann eine Anfrage auch ablehnen oder ein Ergebnis zurückhalten: Das ist 422 content_refused, ebenfalls kostenlos.
Limits und Fehler
Ein Schlüssel kann 60 Bildanfragen pro Minute stellen, innerhalb seiner 120 Anfragen insgesamt. Darüber kommt 429 rate_limited mit Retry-After. Die Fehlerseite listet jeden Code.
Um Ihren Code ohne Kosten zu prüfen, senden Sie sk-nokeep-test als Schlüssel. Er führt jede oben genannte Prüfung aus und antwortet mit einem Ein-Pixel-Bild.
curl https://nokeep.ai/v1/images/generations \
-H "Authorization: Bearer $NOKEEP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "chroma",
"prompt": "A lighthouse on a rocky coast at dusk",
"n": 2,
"aspect_ratio": "16:9",
"output_format": "png",
"seed": 42
}'