Topaz
Topaz-Modelle werden über eine einheitliche, asynchrone Job-API aufgerufen. Starte einen Task mit POST /api/generate und frage dann GET /api/generate/{taskId} ab, bis er fertig ist. Diese Familie stellt 2 Endpunkte bereit.
Überblick
Jeder Endpunkt teilt sich dieselbe Hülle — nur model und die input-Felder ändern sich. Führe einen beliebigen im Playground des Modell-Markts aus.
Authentifizierung
Erstelle einen API-Schlüssel unter /api-keys und sende ihn als Bearer-Token. Anfragen aus dem Browser bei angemeldeter Sitzung funktionieren auch über das Session-Cookie.
Authorization: Bearer <YOUR_API_KEY>Task erstellen
POST https://97ai.97claude.com/api/generateBody: { "model": "<slug>", "input": { … } }
Antwort: { "taskId": "<id>", "state": "waiting" }
Ergebnis abfragen
GET https://97ai.97claude.com/api/generate/<taskId>Antwort: { "taskId", "state": "waiting" | "success" | "fail", "resultUrls": [ … ], "creditsConsumed", "failMsg", "balance" }
state zu success oder fail wird. Fehlgeschlagene Tasks werden nicht berechnet.Endpunkte
Topaz · Image Upscale
topaz/image-upscalepromptstringerforderlichText prompt describing the desired output.
image_urlsstring[]erforderlichOne or more source image URLs to condition on.
curl -X POST https://97ai.97claude.com/api/generate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "topaz/image-upscale",
"input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
}'Topaz · Video Upscale
topaz/video-upscalepromptstringerforderlichText prompt describing the desired output.
video_urlstringerforderlichSource video URL to transform.
curl -X POST https://97ai.97claude.com/api/generate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "topaz/video-upscale",
"input": { "prompt": "make it snow", "video_url": "https://example.com/in.mp4" }
}'