HiAPI
Blog

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.

Oct 22, 2026
Wie verwendet man die Recraft Crisp Upscale API? Ein Feld, doppelte Vergrößerung

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 eine image_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 und taskId erhalten, dann das Ergebnis abfragen und nach Erfolg von output[0].url herunterladen (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_url mit ö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].url ist 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 →

Starte mit persistenten KI-Artefakten

Hol dir deinen API-Key und rufe Bild-, Video- und Audiomodelle über eine einzige task-basierte API auf.

API-Dokumentation lesen