API-Schlüssel auf dem Server halten
Legen Sie den Schlüssel nie in Browsercode, Mobile-Bundles, Prompts, Logs oder Agent-Ausgaben offen. Senden Sie Anfragen aus einem Backend unter Ihrer Kontrolle.
Integrationen
Nutzen Sie OpenAI-kompatible Aufrufe für Chat und Rollenspiel oder die Task-API für Bilder, Video und Audio. Wählen Sie ein Modell, halten Sie den Schlüssel auf dem Server und folgen Sie dem passenden Einstieg.
Ihr Weg
Beginnen Sie dort, wo Ihre Arbeit ohnehin stattfindet. Jeder Weg führt zu denselben Modellen zu denselben Preisen.
Schnellstart in 5 Minuten
Erstellen Sie einen Task, merken Sie sich seine ID und holen Sie dann die fertige Datei ab. Dasselbe Muster gilt für jedes Bild-, Video- und Audiomodell.
Aufgabeneignung, Eingaben, Richtlinie, aktuelle Verfügbarkeit und Preis vergleichen.
Ersetzen Sie die Modell-ID und input des Beispiels durch die genauen Felder dieser Modellseite. Übertragen Sie keine Parameter ungeprüft von einem anderen Modell.
HTTP 202 bedeutet, dass der Task angenommen wurde, nicht dass die Generierung fertig ist. Der Geschäftscode der Antwort bleibt code: 200. Speichern Sie data.taskId sofort; estimatedCost ist der für diesen Task reservierte Betrag.
queued und running laufen noch; succeeded, failed und expired sind Endzustände. Brechen Sie bei jedem Endzustand ab, statt nur auf Erfolg zu warten.
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-8814-render-1" \
-d '{
"model": "alibaba/z-image-turbo/text-to-image",
"input": { "prompt": "A ceramic teapot on a linen cloth, soft window light" }
}'alibaba/z-image-turbo/text-to-image ist ein echter Text-zu-Bild-Endpunkt. Verwenden Sie bei einem anderen Medienmodell dessen genaue ID und Schema.
{
"code": 200,
"msg": "success",
"data": {
"taskId": "job_01k...",
"state": "queued"
},
"request_id": "req_01k..."
}Gekürztes Antwortbeispiel. Ersetzen Sie die beispielhaften IDs und URLs durch die Werte Ihrer Antwort.
curl 'https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=job_01k...' \
-H "Authorization: Bearer $SPICY_API_KEY"{
"code": 200,
"data": {
"taskId": "job_01k...",
"state": "succeeded",
"output": {
"assets": [{
"key": "tasks/.../output.png",
"url": "https://example.com/result.png?signature=FROM_RESPONSE",
"expiresAt": "2026-10-07T12:20:00Z",
"mime": "image/png"
}]
},
"settled": true
}
}Gekürztes Antwortbeispiel. Ersetzen Sie die beispielhaften IDs und URLs durch die Werte Ihrer Antwort.
# Copy data.output.assets[0].url from the task response
curl -L -o result.png "URL_FROM_TASK_RESPONSE"Laden Sie data.output.assets[0].url direkt und ohne API-Schlüssel herunter. URLs gelten normalerweise 20 Minuten; lesen Sie den Auftrag erneut für eine neue URL und speichern Sie benötigte Dateien in Ihrem eigenen Speicher. Bei pending fragen Sie erneut ab, bis die URL bereitsteht.
Verzeichnis
Wählen Sie das Tool, das Sie ohnehin nutzen. Jede Karte öffnet die Einrichtungsanleitung.
Serversicherheit
Diese drei Regeln schützen vor offengelegten Keys, doppelter Abrechnung und verlorenen Tasks. Sie sind die Mindestvoraussetzung vor dem Produktivstart.
Legen Sie den Schlüssel nie in Browsercode, Mobile-Bundles, Prompts, Logs oder Agent-Ausgaben offen. Senden Sie Anfragen aus einem Backend unter Ihrer Kontrolle.
Senden Sie bei jedem Create-Request einen stabilen Idempotency-Key. Ist das Netzwerkergebnis unklar, wiederholen Sie dieselbe Arbeit mit demselben Key – so entstehen nie zwei abrechenbare Tasks.
Speichern Sie die taskId und verwenden Sie einen signierten Webhook oder begrenzte Statusabfragen. Ein angenommener Auftrag startet und kann nicht abgebrochen werden. Fehlgeschlagene oder abgelaufene Aufträge werden normalerweise nicht berechnet. Manche Modelle berechnen Inhaltsablehnungen wie auf ihrer Modellseite angegeben; prüfen Sie diese Abrechnungsbedingungen vor dem Absenden.
API-Dokumentation