01
Ein Seed hilft beim Vergleich, garantiert aber keine identischen Pixel
Speichern Sie einen unterstützten Seed mit Prompt, Modellversion, Größe und Referenzen. Manche Endpoints liefern auch bei gleichem Seed unterschiedliche Bilder.
Bild-API-Lösung
Jeder Bild-Endpunkt deklariert eigene Felder. Manche nehmen einen negativen Prompt, manche einen Seed, manche liefern vier Kandidaten pro Aufruf. Ein Einheitsformular verbirgt genau die Regler, die Ergebnisse wiederholbar machen.

Die Herausforderung
Prompt rein, Bild raus stimmt etwa zehn Sekunden lang. Danach brauchen Sie dieselbe Figur ein zweites Mal, 3:2 statt quadratisch, vier Kandidaten pro Aufruf und einen Seed, den Sie notieren können.
01
Speichern Sie einen unterstützten Seed mit Prompt, Modellversion, Größe und Referenzen. Manche Endpoints liefern auch bei gleichem Seed unterschiedliche Bilder.
02
Manche Endpunkte nehmen resolution oder aspect_ratio, andere width und height in Pixeln. Das falsche Feld ergibt 400, und bei Abrechnung nach Megapixel ist die gewählte Größe zugleich der Preis.
03
Wo num_outputs existiert, folgt die Abrechnung der Anzahl der Bilder, nicht der Anzahl der Anfragen. Ein Standardwert von 4 kostet das Vierfache von 1, und dieser Unterschied ist vor dem Absenden nur in der Schätzung sichtbar.
Der Ansatz
Erstellen Sie Eingaben nach dem Endpoint-Schema. Speichern Sie die genaue Anfrage, Referenzreihenfolge und Modellversion mit dem Ergebnis. Behalten Sie das Original; eine identische Neugenerierung ist nicht garantiert.
Bildaufträge nutzen denselben Vertrag aus Erstellen und Verfolgen wie Video. Der gesamte Unterschied steckt in input.
POST /api/v1/jobs/createTask
POST /api/v1/jobs/createTask
Authorization: Bearer $SPICY_API_KEY
Idempotency-Key: 7b1f0c2e-9a4d-4f31-8c67-2b5e0d9a1c44
Content-Type: application/json
{
"model": "<publisher>/<model>/text-to-image",
"input": {
"prompt": "A ceramic teapot on linen, soft window light, muted palette",
"aspect_ratio": "3:2",
"num_outputs": 2,
"seed": 1337
}
}GET /api/v1/jobs/recordInfo?taskId=…
{
"code": 200,
"msg": "success",
"request_id": "req_example_record",
"data": {
"taskId": "job_01k3m8x9q2z4v7n5p6r8s0t1w3",
"state": "succeeded",
"output": {
"assets": [
{
"mime": "image/png",
"url": "https://…/result.png?X-Amz-Signature=…",
"expiresAt": "2026-09-12T12:20:08Z"
}
]
},
"cost": "0.040000",
"settled": true
}
}Vertrag
| Feld oder Header | Wert oder Grenze |
|---|---|
| input | additionalProperties: false |
| seed · num_outputs · aspect_ratio | declared per endpoint |
| cost + settled: false | hold · final charge never exceeds it |
| errorCode | 9 stable values, content_rejected included |
Horizontal wischen, um alle Spalten zu sehen.
Integration
Passung
Belege
Der auf der Modellseite zusammengestellte Körper ist der Körper, den Ihr Server sendet: gleiche Felder, gleiche Prüfung, gleiche Schätzung. Es gibt keine vereinfachte Vorschau, die später abweicht.
Die Eingabe wird gegen das Endpunktschema mit geschlossenem additionalProperties geprüft. Ein nicht deklarierter Parameter ergibt 400 mit stabilem errorCode statt stillem Ignorieren.
Sie erscheinen als output.assets mit key, MIME-Typ, signierter url und expiresAt. Nichts verlinkt dorthin, wo das Modell ausgeführt wurde.
Vor dem Start
Häufige Fragen
Modelle
Jeder Link führt auf die Seite der jeweiligen Modellfamilie: Eingaben, Grenzen, Inhaltsrichtlinie und der aktuelle Preis je Einheit.
Weiter
Bild-Endpunkte nach Eingaben, Größen- und Seed-Steuerung, Anzahl der Ausgaben und Preis pro Bild vergleichen und die getestete Anfrage übernehmen.