Tutorial
Wie verwendet man die Recraft Crisp Upscale API? Ein Feld, doppelte Vergrößerung
Ohne Prompt, nur ein Feld image_url, verlustfreie 2-fache Vergrößerung für $0,004 pro Bild: curl/Python-Beispiele und Hinweise zu Grenzen.
TL;DR
- Recraft Crisp Upscale (
recraft/crisp-upscale) macht eine Sache: Es verdoppelt Breite und Höhe des Bildes, Kanten und Texturen werden klarer, Bildinhalt und Text bleiben unverändert. Kein Prompt, der Request-Body enthält nur eineimage_url. Modellseite öffnen, ein Bild hochladen und ausprobieren – neue Nutzer erhalten bei der Registrierung 200 Credits. - $0,004 pro Bild: 1.000 Bilder $4,00, für $10 etwa 2.500 Bilder; die Größe des Eingabebildes beeinflusst den Preis nicht (vollständige Preise auf der Preisseite).
- Aufruf über die HiAPI-Schnittstelle
/v1/tasks: Aufgabe einreichen undtaskIderhalten, dann das Ergebnis abfragen und nach Erfolg vonoutput[0].urlherunterladen (JPEG, ohne Alphakanal).
Was es kann
- Verlustfreie Vergrößerung, kein Neuzeichnen: Details wie Zifferblatt-Texturen, Hautfalten oder kleine Schrift auf Postern werden klarer, aber Inhalt, Komposition und Text ändern sich nicht – Material mit Schrift wird nicht „zu einem anderen Bild hochskaliert“.
- Mit einem Feld steuerbar:
image_urlmit öffentlicher Adresse übergeben (JPEG / PNG / WebP, ≤10 MB), kein Prompt, keine Auswahl des Faktors. - Geeignet für Produktbilder, Poster mit Schrift, Designmaterial: alle Szenarien, in denen „das Original bereits stimmt und nur die Auflösung fehlt“.
- Auch die ungeeigneten Szenarien sind klar: Wenn du 4K-Details durch Neuzeichnen willst oder den Inhalt ändern möchtest, solltest du generative Neuzeichnung verwenden (siehe auch englisches Tutorial zur Erhöhung der Auflösung mit Bild-zu-Bild-Modellen); Crisp Upscale vergrößert nur die Abmessungen um das 2-Fache und zeichnet den Inhalt nicht neu.
- Ausgabe ist 1 JPEG; für ein transparentes Ergebnis zuerst vergrößern, dann den Hintergrund entfernen (zur Nutzung der Hintergrundentfernung siehe englisches Tutorial zur Hintergrundentfernung).
Hier ein echtes Paar „Original → 2-fach“:
| Original 640×640 | Vergrößertes Ergebnis 1280×1280 |
|---|---|
![]() |
![]() |
recraft/crisp-upscale, 640×640 → 1280×1280, $0,004. Guilloché-Muster des Zifferblatts, gebürstetes Stahlgehäuse und kleine Schrift auf dem Zifferblatt bleiben bei doppelter Größe klar.
Modellseite öffnen und ein Bild hochladen und ausprobieren →
Zwei Wege zum Einstieg
Browser in 3 Schritten: Modellseite öffnen → Bild hochladen → auf Vergrößern klicken, $0,004 pro Bild.
API in 3 Schritten: POST /v1/tasks einreichen → taskId erhalten → mit GET /v1/tasks/<taskId> abfragen und nach success herunterladen. Für Stapelverarbeitung diese drei Schritte wiederholen, ein Task pro Bild.
curl: das erste Bild
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: your-unique-key-001" \
-d '{
"model": "recraft/crisp-upscale",
"input": {
"image_url": "https://static.hiapi.ai/gallery/2026/10/4fdfd6b43b638849.jpg"
}
}'
Das ist der gesamte Request-Body – jedes zusätzliche Feld (z. B. prompt, scale) führt direkt zu 400.
Python: einreichen, abfragen, herunterladen
import time, uuid, requests
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"model": "recraft/crisp-upscale",
"input": {
"image_url": "https://example.com/your-image.jpg",
},
}
resp = requests.post(
BASE,
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json=payload,
timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["taskId"]
while True:
task = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()
print(task["status"])
if task["status"] in ("success", "fail"):
break
time.sleep(5)
if task["status"] == "success":
image_url = task["output"][0]["url"] # temporäre Adresse, so schnell wie möglich herunterladen und speichern
img = requests.get(image_url, timeout=60)
with open("upscaled.jpg", "wb") as f:
f.write(img.content)
print("saved upscaled.jpg")
Parametertabelle
| Feld | Erforderlich | Wert | Beschreibung |
|---|---|---|---|
image_url |
Ja | Öffentliche http/https-Adresse | JPEG / PNG / WebP, pro Bild ≤10 MB |
Nur dieses eine Feld. Der Vergrößerungsfaktor ist fest auf 2-fach in Breite und Höhe, nicht wählbar; kein Prompt, kein Parameter für das Ausgabeformat.
Fehler, auf die du stoßen wirst
| Statuscode | Bedeutung | Behandlung |
|---|---|---|
| 400 INVALID_REQUEST | image_url fehlt, ist keine http/https-Adresse oder es wurden nicht existierende Felder wie prompt / scale mitgesendet |
Im Request-Body nur image_url behalten |
| 402 INSUFFICIENT_QUOTA | Guthaben nicht ausreichend (keine Abbuchung) | Nach dem Aufladen erneut versuchen |
| 429 RATE_LIMITED | Rate-Limit ausgelöst | Einreichungsfrequenz reduzieren |
| 409 / 422 IDEMPOTENCY_KEY_* | Doppelte Einreichung mit demselben Idempotenzschlüssel | Neuen Idempotency-Key verwenden |
Bei einem Endzustand des Tasks mit Fehler gibt es außerdem Fehlercodes wie TASK_FAILED, TASK_TIMEOUT; bei Fehlern wird nichts abgebucht.
Vor dem Livegang beachten
- Callback: Auf oberster Ebene des Request-Bodys
"callback": {"url": "https://..."}übergeben, der Endzustand wird automatisch benachrichtigt. - Rechtzeitig speichern:
output[0].urlist eine temporäre Adresse, sofort nach Erhalt herunterladen. - Dauer: Ein einzelnes Bild dauert normalerweise 10 Sekunden bis etwa 1 Minute, das Abfrageintervall nicht zu kurz einstellen.
- Alphakanal: Die Ausgabe ist JPEG ohne Transparenz; für Material mit transparentem Hintergrund zuerst vergrößern, dann den Hintergrund entfernen (bei umgekehrter Reihenfolge werden die Freistellungsränder unscharf).
- Die Rechnung für Stapel ist einfach: Fünf Bilder eines SKU alle vergrößern kostet $0,02; 1.000 Materialien des gesamten Shops in einer Runde kosten $4,00, einfach in Stapeln einreichen, jeder Task wird einzeln abgerechnet.
- Die Qualität des Originals setzt die Obergrenze: Die 2-fache Vergrößerung macht Kanten klarer, aber Teile, die im Original völlig unscharf sind, gewinnen keine Details aus dem Nichts; bei kritischem Material zuerst mit einem Testbild prüfen, dann in Stapeln verarbeiten.
Häufige Fragen
Sind es wirklich 2-fach?
Ja. Breite und Höhe werden jeweils verdoppelt (640×640 → 1280×1280, 480×640 → 960×1280), der Faktor ist fest, es gibt keine 4-fach-Option; für mehr einfach nach der Vergrößerung erneut ausführen.
Ändert sich der Text im Bild?
Nein. Bei Postern mit Schrift bleibt die Schriftform nach der Vergrößerung unverändert, es wird nichts umgeschrieben oder hinzugefügt.
Wie viel kostet ein Bild?
$0,004 pro Bild, 1.000 Bilder $4,00; die Größe des Eingabebildes beeinflusst den Preis nicht. Bei Fehlern wird nichts abgebucht, bei fehlgeschlagener Parameterprüfung wird nicht abgerechnet.
Kann man base64 übergeben?
Nein. image_url muss eine öffentliche http/https-Adresse sein; lokale Dateien zuerst in deinen Speicher hochladen und dann die Adresse angeben.
Wie lange dauert ein Bild?
Normalerweise 10 Sekunden bis etwa 1 Minute; Stapelaufgaben werden nach Anzahl der Bilder in die Warteschlange gestellt, bei Zeitdruck in Stapeln einreichen.
Nächster Schritt: Nimm ein Produktbild von dir und vergrößere es auf der Modellseite, um den Effekt zu sehen; fünf echte Vergleichspaare „Original → 2-fach“ findest du auf der Beispielseite; den Vergleich mit generativer Neuzeichnung am selben Original findest du auf der Vergleichsseite.
Ähnliche Artikel
Alle Artikel ansehen →-
Tutorial
So rufen Sie hailuo-2.3-fast/image-to-video über die HiAPI API auf: curl und Python in der Praxis
Die erste lauffähige Anfrage für die schnelle, kostengünstige Bild-zu-Video-Stufe – von der Modell-ID bis zum heruntergeladenen MP4
-
Tutorial
So rufen Sie hailuo-2.3/text-to-video über die HiAPI API auf: curl, Python und lauffähige Anfragebeispiele
-
Tutorial
Kandinsky 6.0 Pro Text-zu-Video auf HiAPI: curl- und Python-Tutorial
Eine anfrageorientierte praktische Demonstration: Aufbau des Aufrufs vom Prompt zum Videoclip, Absenden der Anfrage, Abfragen des Fertigstellungsstatus und Herunterladen des Ergebnisses
