HiAPI
Blog

Tutorial

Wie verwendet man die FIBO 1.5 API? In 5 Minuten Generierung und Bearbeitung zum Laufen bringen

fibo-gen-1.5 Text-zu-Bild + fibo-edit-1.5 Bildbearbeitung per Anweisung: curl/Python-Beispiele, Parametertabelle und Fehlermeldungen im Originalwortlaut.

Oct 22, 2026
Wie verwendet man die FIBO 1.5 API? In 5 Minuten Generierung und Bearbeitung zum Laufen bringen

TL;DR

  • FIBO 1.5 ist ein Schnittstellenpaar aus „Generierung + Bearbeitung": fibo-gen-1.5/text-to-image erzeugt fotorealistische Bilder aus Text (auch Bildtext wird korrekt dargestellt), fibo-edit-1.5/image-to-image bearbeitet Bilder mit einer einzigen Anweisung (bis zu 4 Referenzbilder, auch lokale Änderungen per Maske). Gen-Modellseite öffnen und direkt ausprobieren, neue Nutzer erhalten bei der Registrierung 200 Credits.
  • Beide Seiten zum gleichen Preis: $0.0575 pro Bild, eine Pipeline aus erst Generieren, dann Bearbeiten kostet $0.115 (siehe Preisseite).
  • Aufruf über die HiAPI-/v1/tasks-Schnittstelle: Aufgabe einreichen und taskId erhalten, dann das Ergebnis abfragen; das Anweisungsfeld der Bearbeitungsschnittstelle heißt instruction, nicht prompt.

Was es kann

  • Fotorealistische Bilder + korrekter Text: Bildtext wie Produktetiketten oder Ladenschilder wird buchstabengenau geschrieben (das Label im folgenden Beispiel ist NOIR 07).
  • Bildbearbeitung per Anweisung: Edit beschreibt mit instruction, was geändert werden soll; nicht erwähnte Teile wie Pose, Gesicht und Hintergrund bleiben unverändert.
  • Komposition aus bis zu 4 Bildern: Outfit-Wechsel, Hintergrundwechsel, Produkte in Szene setzen, image_urls werden in Reihenfolge referenziert.
  • Nur lokale Änderungen per Maske: Weiß = zu ändernder Bereich, Schwarz = bleibt erhalten.

Hier ein echtes Ergebnis von Gen:

Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads 'NOIR 07' in elegant serif letters

(Bedeutung: Luxus-Produktfoto: bernsteinfarbene Glasflasche auf nassem schwarzem Marmor, goldene Kappe, weiches Kantenlicht, Wassertropfen auf der Flasche, auf dem Etikett steht NOIR 07. Seitenverhältnis 4:5.)

fibo-gen-1.5/text-to-image, 4:5, 768×960, $0.0575.

Mit diesem Prompt generieren →

Welche der beiden Schnittstellen wählen

fibo-gen-1.5/text-to-image fibo-edit-1.5/image-to-image
Aufgabe Fotorealistische Bilder aus Text erzeugen Vorhandene Bilder mit einer Anweisung bearbeiten
Pflichteingabe prompt image_urls (1–4 Bilder) + instruction
Preis $0.0575/Bild $0.0575/Bild
Besondere Parameter aspect_ratio 9 Varianten, seed (Standard 5555) mask_url Maske, seed (Standard 5555)
Geeignet für Neue Bilder, Materialien mit Text Outfit-/Hintergrundwechsel, Komposition, lokale Feinabstimmung

Typische Pipeline: Gen erzeugt das Basisbild → Edit macht daraus ein Bilderset (Hintergrund wechseln, Farben ändern, Elemente hinzufügen). Prompts nach Szenario findest du in der Prompt-Sammlung.

Zwei Einstiegswege

Browser in 3 Schritten: Modellseite öffnen → Prompt einfügen, Seitenverhältnis wählen → auf Generieren klicken, ein Bild kostet $0.0575.

API in 3 Schritten: POST /v1/tasks einreichen → taskId erhalten → mit GET /v1/tasks/<taskId> abfragen und nach success herunterladen.

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": "fibo-gen-1.5/text-to-image",
  "input": {
    "prompt": "Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads '"'"'NOIR 07'"'"' in elegant serif letters",
    "aspect_ratio": "4:5",
    "seed": 2026
  }
}'

Bearbeitungsschnittstelle: model durch fibo-edit-1.5/image-to-image ersetzen, die Anweisung in instruction schreiben, Bilder in Reihenfolge referenzieren (Anprobe durch Komposition zweier Bilder):

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "fibo-edit-1.5/image-to-image",
  "input": {
    "image_urls": [
      "https://static.hiapi.ai/gallery/2026/10/78f963cb21d0242c.jpg",
      "https://static.hiapi.ai/gallery/2026/10/36246b7cabde4a1a.jpg"
    ],
    "instruction": "Dress the woman in image 1 with the mustard corduroy jacket from image 2, worn open over her white t-shirt. Keep her pose, face and the studio background.",
    "aspect_ratio": "3:4"
  }
}'

Lokale Bearbeitung per Maske: mask_url funktioniert nur mit 1 Bild, Weiß = zu ändernder Bereich (genau umgekehrt zu Ideogram 4.5 Edit):

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "fibo-edit-1.5/image-to-image",
  "input": {
    "image_urls": ["https://static.hiapi.ai/gallery/2026/10/d9037da1559e78a6.jpg"],
    "mask_url": "https://static.hiapi.ai/gallery/2026/10/cae371f9e4689db5.png",
    "instruction": "Replace the floor under the sneaker with light wooden planks."
  }
}'

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": "fibo-gen-1.5/text-to-image",
    "input": {
        "prompt": "Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads 'NOIR 07' in elegant serif letters",
        "aspect_ratio": "4:5",
        "seed": 2026,
    },
}

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(3)

if task["status"] == "success":
    image_url = task["output"][0]["url"]   # temporäre Adresse, schnell herunterladen und speichern
    img = requests.get(image_url, timeout=60)
    with open("output_image", "wb") as f:
        f.write(img.content)
    print("saved")

Parametertabelle

fibo-gen-1.5/text-to-image

Feld Pflicht Werte Beschreibung
prompt Ja 1–10000 Zeichen Bildbeschreibung; Text, der erscheinen soll, in Anführungszeichen setzen (the label reads '…')
aspect_ratio Nein 1:1 / 2:3 / 3:2 / 3:4 / 4:3 / 4:5 / 5:4 / 9:16 / 16:9, Standard 1:1 9 Seitenverhältnisse zum gleichen Preis
seed Nein Ganzzahl, Standard 5555 Auch ohne Angabe fest: gleicher Prompt, gleiches Ergebnis; für Variationen seed ändern

fibo-edit-1.5/image-to-image

Feld Pflicht Werte Beschreibung
image_urls Ja 1–4 Bilder Reihenfolge ist relevant, instruction referenziert in Reihenfolge (image 1, image 2)
instruction Ja ≥1 Zeichen Was geändert werden soll; nicht Erwähntes bleibt unverändert
aspect_ratio Nein Wie oben, 9 Varianten Wirkt nur bei 2 oder mehr Bildern; bei einem einzelnen Bild bleibt das Originalverhältnis erhalten
mask_url Nein Bildadresse Nur bei Einzelbildbearbeitung; Weiß = ändern, Schwarz = beibehalten; Größe muss dem Originalbild entsprechen
seed Nein Ganzzahl, Standard 5555 Gleiche Eingabe reproduzieren

Felder außerhalb der Tabelle im Request-Body führen direkt zu 400.

Fehler, die dir begegnen werden (Originalwortlaut der Schnittstelle)

Was du getan hast Rückgabe
Gen ohne prompt 400 invalid input: prompt: missing required field "prompt"
Gen mit seed als String 400 invalid input: seed: got string, want integer
aspect_ratio falsch geschrieben 400 invalid input: aspect_ratio: value must be one of '1:1', '2:3', '3:2', '3:4', '4:3', '4:5', '5:4', '9:16', '16:9'
Edit ohne instruction 400 invalid input: instruction: missing required field "instruction"
Edit mit 5 Bildern 400 invalid input: image_urls: maxItems: got 5, want 4
Maske mit 2 Bildern 400 (image_urls darf nur 1 Bild enthalten, wenn mask_url vorhanden ist)
Guthaben nicht ausreichend 402 insufficient account balance; top up and retry

Derselbe Idempotency-Key bei erneuter Einreichung liefert 409 oder 422, neuen Key verwenden und erneut versuchen.

Vor dem Go-live beachten

  • Callback: auf oberster Ebene des Request-Bodys "callback": {"url": "https://..."} übergeben, der Endzustand wird automatisch benachrichtigt, das spart Polling.
  • Rechtzeitig speichern: output[0].url ist eine temporäre Adresse, sofort nach Erhalt herunterladen.
  • Bildnummer in der Anweisung nennen: Bei Multibild-Komposition image 1 / image 2 referenzieren, die Reihenfolge entspricht der Reihenfolge von image_urls.
  • Schwarz-Weiß-Semantik der Maske: Bei FIBO Weiß = ändern, Schwarz = beibehalten; beim Migrieren von Skripten aus anderen Bearbeitungsmodellen zuerst die Maske invertieren.

Häufige Fragen

Wie heißt das Feld für die Bearbeitungsanweisung?

Es heißt instruction, nicht prompt; ein falscher Feldname führt zu einer Fehlermeldung über ein fehlendes Feld.

Wie viele Eingabebilder kann man maximal übergeben?

Maximal 4, das fünfte führt direkt zu 400.

Wozu dient seed?

Standard 5555 und fest – dieselbe Eingabe wird reproduziert; für andere Ergebnisse explizit seed ändern.

Sind Preis und Aufrufweise der beiden Schnittstellen gleich?

Ja. Es ändern sich nur model und die input-Felder; Generierung und Bearbeitung kosten beide $0.0575 pro Bild.

Nächster Schritt: Nimm den Parfüm-Prompt und erzeuge auf der Modellseite ein Bild, ändere es dann mit einer instruction in die gewünschte Version; Szenario-Vorlagen findest du in der Prompt-Sammlung.

Ä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