Claude Opus 5.5 ist auf SeedRouter verfügbar

Image

Seedream 5.5

View Markdown

Seedream 5.5 für Text zu Bild, Bearbeitung mit bis zu 10 Referenzbildern, transparente Ausgabe und Aufteilung in Ebenen mit Texterkennung aufrufen – pro Bild bezahlt und als Aufgabe geliefert.

Seedream 5.5 ist das Bildmodell von ByteDance. Eine Anfrage erstellt ein Bild aus einem Prompt oder einem Prompt mit bis zu 10 Referenzbildern oder teilt ein Bild in ein Hintergrundbild und transparente Ebenen auf, auf Wunsch mit dem ausgelesenen Text jeder Textebene. Sende die Anfrage, behalte die zurückgegebene Aufgaben-ID und lies die fertigen Bilder aus der Aufgabe aus. Referenzbilder werden als URLs übergeben.

Modell-IDs

Modell-IDEingabenAusgabegrößeBilder pro Anfrage
seedream-5-5Text, 0–10 Bilder1K, 1.5K, 2K oder WIDTHxHEIGHT1 oder 2–100 bei der Aufteilung in Ebenen (Hintergrundbild eingeschlossen)

Aktuelle Preise findest du auf der Modellseite.

Kurzbeispiel

curl https://api.seedrouter.ai/v1/images/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-5-5",
    "prompt": "A ceramic teapot shaped like a sleeping fox on a linen tablecloth, soft morning window light, shallow depth of field. No text.",
    "size": "1K"
  }'

Endpunkt

POST https://api.seedrouter.ai/v1/images/generations
HeaderWert
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Die Antwort ist eine Aufgabe ({"id": "task_...", "status": "processing"}), nicht das fertige Bild. Frage GET /v1/tasks/{task_id} für das Ergebnis ab. Bewahre API-Schlüssel im serverseitigen Code auf. Referenzbilder und die Aufteilung in Ebenen werden in derselben Anfrage über image übergeben; /v1/images/edits wird für dieses Modell nicht verwendet und gibt 400 zurück.

Parameter

FeldTypStandardHinweise
modelStringerforderlichseedream-5-5
promptStringerforderlichBeschreibt das zu erstellende Bild. Mit layer_decomposition optional: Nenne die zu trennenden Elemente oder lasse das Feld weg, und das Modell findet Motive, Text und Hintergrund selbst.
imageURL oder URL-ListekeineEine öffentliche Bild-URL oder eine Liste mit bis zu 10. Ohne sie ist die Anfrage Text zu Bild. Mit layer_decomposition genau eine. Jedes Referenzbild wird berechnet.
sizeString2KEine Stufe 1K, 1.5K oder 2K oder exakte Pixelmaße WIDTHxHEIGHT – siehe Ausgabegröße. Mit layer_decomposition: nur auto (Standard), 1K, 1.5K oder 2K.
output_formatEnumpngpng oder jpeg. Mit layer_decomposition wird nur das Hintergrundbild festgelegt; die Ebenen sind immer PNG.
backgroundEnumautoauto, opaque oder transparent. transparent funktioniert mit oder ohne Referenzbilder und erfordert png als Ausgabeformat. Mit layer_decomposition weglassen, auch auto.
layer_decompositionBooleanfalseTeilt das eine Eingabebild in ein Hintergrundbild und transparente PNG-Ebenen auf.
layer_decomposition_options.max_imagesInteger30Nur mit layer_decomposition. 2–100, das Hintergrundbild eingeschlossen. Eine Obergrenze: Das Modell kann weniger zurückgeben.
layer_decomposition_options.text_recognitionBooleanfalseNur mit layer_decomposition. Ergänzt reguläre Textebenen um den erkannten Text – siehe Texterkennung.
optimize_prompt_options.modeEnumstandardNur standard. Die Prompt-Optimierung ist immer aktiv und lässt sich nicht ausschalten.
watermarkBooleanfalsetrue fügt eine Kennzeichnung „AI generated“ hinzu.
content_filterBooleantrueNur über die API verfügbar. Im Playground immer an.

Felder außerhalb dieser Liste werden vor dem Weiterleiten der Anfrage entfernt; sie verursachen nie einen Fehler und verändern die Ausgabe nicht. n, stream, seed und response_format sind nicht verfügbar: Jede Anfrage liefert ein Bild oder mit layer_decomposition bis zu max_images. callback_url ist nicht verfügbar; frage stattdessen die Aufgabe ab.

Ausgabegröße

FormBeispielRegeln
Stufe"size": "2K"1K, 1.5K oder 2K. Beschreibe die Form in prompt; das Modell wählt daraus das Seitenverhältnis.
Exakte Pixelmaße"size": "2560x1440"Insgesamt 921.600 bis 4.624.220 Pixel; Breite / Höhe zwischen 1/16 und 16.

Es gibt keine 3K- oder 4K-Stufe, und die Größe lässt sich nicht als Seitenverhältnis angeben: Sende für einen festen 16:9-Rahmen mit 2K 2560x1440. 1K und 1.5K kosten gleich viel; 2K und jede Größe über 2,61 Millionen Pixel kosten mehr (siehe Preisdimensionen).

Referenzbilder

Übergib ein Bild, um es zu bearbeiten, oder mehrere, um sie zu kombinieren, und sage in prompt, was bleiben und was sich ändern soll. Beziehe dich anhand der Reihenfolge auf die Bilder („die Jacke aus Bild 1“).

{
  "model": "seedream-5-5",
  "prompt": "Turn this scene into a snowy winter night with warm light from the lighthouse windows, keep the composition",
  "image": "https://example.com/lighthouse.jpg",
  "size": "2560x1440"
}

Transparenter Hintergrund

Setze background: "transparent" für ein PNG mit transparentem Hintergrund, allein aus einem Prompt oder aus Referenzbildern:

{
  "model": "seedream-5-5",
  "prompt": "A glossy red enamel pin shaped like a cherry, product cutout",
  "background": "transparent",
  "output_format": "png",
  "size": "1K"
}

Aufteilung in Ebenen

Sende genau ein Bild mit layer_decomposition: true. Die Aufgabe liefert zuerst das Hintergrundbild und danach jede Ebene als transparentes PNG.

{
  "model": "seedream-5-5",
  "image": "https://example.com/poster.jpg",
  "layer_decomposition": true,
  "size": "1K",
  "layer_decomposition_options": { "max_images": 4, "text_recognition": true }
}

Jede Ebene enthält z_index (das Hintergrundbild ist 0; höhere Werte liegen darüber), background und, wenn das Modell sie liefert, name, description und bounding_box. bounding_box.absolute ist [left, top, right, bottom] in Pixeln des Hintergrundbilds; bounding_box.normalized beschreibt denselben Rahmen auf 0–1000 skaliert. Ebenendateien werden in der gewählten Stufe gerendert, ihre Pixelmaße können deshalb vom Rahmen abweichen: Um das Bild wieder zusammenzusetzen, skaliere jede Ebene auf ihren Rahmen und platziere sie in aufsteigender z_index-Reihenfolge auf dem Hintergrundbild.

Eine Stufe legt die Größe des Hintergrundbilds und jeder Ebene fest. Mit auto richtet sich die Ausgabe nach dem Eingabebild, vergrößert auf mindestens 1K und verkleinert auf höchstens 2K.

Texterkennung

Mit layer_decomposition_options.text_recognition: true enthält eine Ebene mit regulärem gedrucktem Text auch text_recognition: den vollständigen text (Zeilen durch \n verbunden) und lines, jeweils mit eigenem bounding_box und runs unterschiedlich formatierten Texts. Der style eines Textabschnitts enthält similar_font_family, foreground_color (#RRGGBB) und die Merkmale bold, italic, underline, strikethrough, shadow und translucent. Schriftarten und Merkmale sind eine Schätzung des Modells. Künstlerische oder handgeschriebene Schriftzüge liefern keinen Text, und ein mit der Aufteilung gesendeter prompt kann ihn unterdrücken. Behandle das Feld deshalb als optional.

Medieneingaben

Jedes Referenzbild ist eine öffentliche HTTP(S)-URL. Base64-Daten-URIs werden nicht akzeptiert: Lade die Datei in deinen eigenen Speicher hoch und übergib ihre URL. Akzeptierte Formate sind JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC und HEIF, mit jeweils bis zu 30 MB und insgesamt höchstens 36.000.000 Pixeln. AVIF und JP2 werden nicht unterstützt; eine Aufgabe, die ihre Eingabe nicht lesen kann, schlägt fehl und wird nicht berechnet.

Preisdimensionen

Aktuelle Tarife findest du im Preisabschnitt des Modells. Seedream 5.5 wird pro Ausgabebild nach Pixelstufe berechnet, zuzüglich jedes Referenzbilds:

cost = Σ each returned image's price for its own tier + reference images × reference price
  • Die niedrigere Preisstufe gilt für Bilder mit bis zu 2,61 Millionen Pixeln (1K und 1.5K); alles darüber fällt in die höhere Preisstufe.
  • Jedes Referenzbild wird berechnet, auch das erste. Bei der Aufteilung in Ebenen wird das eine Eingabebild berechnet.
  • Bei der Aufteilung in Ebenen werden das Hintergrundbild und jede Ebene berechnet, jeweils zur Preisstufe ihrer eigenen Größe.
  • Der bei Annahme einer Aufgabe reservierte Betrag deckt das größte Ergebnis ab: ein Bild in der angeforderten Preisstufe oder max_images Bilder (30 bei fehlendem Feld) bei der Aufteilung in Ebenen, wobei auto zur höheren Preisstufe zählt. Anschließend werden die tatsächlich zurückgegebenen Bilder berechnet und die Differenz freigegeben.

Endgültige Kosten findest du im Nutzungsverlauf deines Kontos. Fehlgeschlagene Aufgaben werden nicht berechnet.

Ausgabeschema

Das Absenden liefert die Aufgabe:

{"id": "task_...", "model": "seedream-5-5", "status": "processing", "created_at": 1794323757}

Aufgabe abrufen

GET https://api.seedrouter.ai/v1/tasks/{task_id}

Frage alle 10–20 Sekunden ab, bis status den Wert completed oder failed hat. Eine Zeitüberschreitung des Netzwerks während der Abfrage bedeutet nicht, dass die Erzeugung fehlgeschlagen ist: Behalte die Aufgaben-ID und setze die Prüfung fort. Erstelle keine weitere Aufgabe, um den Fortschritt zu prüfen.

Abgeschlossene Aufgabe

{
  "id": "task_...",
  "model": "seedream-5-5",
  "status": "completed",
  "created_at": 1794323757,
  "finished_at": 1794323804,
  "output": {
    "data": [
      {
        "url": "https://static.seedrouter.ai/media/tasks/task_example/0.png",
        "size": "1248x832",
        "output_format": "png",
        "background": "opaque"
      }
    ]
  }
}

Eine Aufgabe zur Aufteilung in Ebenen listet zuerst das Hintergrundbild und danach jede Ebene auf. Dies ist eine echte Aufteilung eines Posters mit aktiver Texterkennung; gezeigt werden das Hintergrundbild und die erste seiner drei Ebenen:

{
  "data": [
    { "url": "https://static.seedrouter.ai/media/tasks/task_example/0.png", "size": "836x1254", "output_format": "png", "background": "opaque", "z_index": 0 },
    {
      "url": "https://static.seedrouter.ai/media/tasks/task_example/1.png",
      "size": "1455x721",
      "output_format": "png",
      "background": "transparent",
      "z_index": 1,
      "name": "Dark blue serif main title text with dash decorations",
      "description": "Dark blue serif main title text reading \"BLUE TIDE SESSIONS\", with short horizontal dash decorations on its left and right sides.",
      "bounding_box": { "absolute": [0, 0, 836, 414], "normalized": [0, 0, 1000, 330] },
      "text_recognition": {
        "text": "BLUE TIDE\nSESSIONS",
        "lines": [
          {
            "bounding_box": { "absolute": [146, 69, 694, 196], "normalized": [175, 55, 830, 156] },
            "runs": [
              {
                "text": "BLUE TIDE",
                "style": { "similar_font_family": "HTF Didot", "foreground_color": "#122C4D", "bold": false, "italic": false, "underline": false, "strikethrough": false, "shadow": false, "translucent": false }
              }
            ]
          },
          {
            "bounding_box": { "absolute": [175, 168, 664, 300], "normalized": [209, 134, 794, 239] },
            "runs": [
              {
                "text": "SESSIONS",
                "style": { "similar_font_family": "HTF Didot", "foreground_color": "#122C4D", "bold": false, "italic": false, "underline": false, "strikethrough": false, "shadow": false, "translucent": false }
              }
            ]
          }
        ]
      }
    }
  ]
}

In unseren Tests dauerte ein 1K-Bild 47 Sekunden, eine 2K-Bearbeitung mit einem Referenzbild 40 Sekunden und eine Aufteilung in Ebenen mit 1K, die vier Bilder lieferte, 39 Sekunden. Größere Aufteilungen können mehrere Minuten dauern.

Fehler

Anfragen, die vor der Erstellung einer Aufgabe abgelehnt werden, geben einen HTTP-Fehler mit einem error-Objekt zurück und werden nicht berechnet. Eine Aufgabe, die nach der Annahme fehlschlägt, gibt bei der Abfrage HTTP 200 zurück, zusammen mit status: "failed" und einem error-Objekt.

Codes, HTTP-Status und Hinweise zu Wiederholungen findest du im gemeinsamen Fehlerkatalog.

{
  "id": "task_...",
  "model": "seedream-5-5",
  "status": "failed",
  "error": {
    "code": 60001,
    "message": "The request was rejected by the content policy. Please revise the prompt or input images."
  }
}

Kommt es beim Senden selbst zu einer Zeitüberschreitung, prüfe deine Aufgaben, bevor du erneut sendest: Die erste Anfrage wurde möglicherweise bereits angenommen.

Tipps

  • Beginne zum Ausprobieren mit 1K oder 1.5K; 1.5K kostet genauso viel wie 1K.
  • Nutze exakte Pixelmaße für ein festes Format, etwa 2560x1440 für 16:9 mit 2K.
  • Jedes Referenzbild kostet Geld: Sende nur die Bilder, die die Bearbeitung braucht.
  • Setze bei der Aufteilung in Ebenen max_images nahe an die erwartete Anzahl von Elementen; die Reservierung richtet sich danach.
  • Wenn du vor allem den Text möchtest, lasse prompt bei einer Aufteilung mit aktiver text_recognition weg.

Weiterführend