Zum Hauptinhalt springen
POST
An POST /v1/images/generations senden, die ID aus data[0].task_id speichern und das Ergebnis über GET /v1/tasks/{task_id} abrufen.

Modi

Authentifizierung

string
erforderlich
Authorization: Bearer <token> verwenden. <token> ist Ihr APIMart API Key.

Anfrageparameter

string
erforderlich
Auf seedream-5-5 setzen.
string
Für Text-zu-Bild und Bild-zu-Bild erforderlich. Bei der Zerlegung optional: Das Modell erkennt Motive, Text und Hintergrund automatisch. Ein Prompt kann die zu trennenden Elemente beschreiben.
string[]
Bis zu 10 Referenzen für die Generierung, genau 1 Bild für die Zerlegung. Öffentliche Bild-URLs oder Base64-Data-URIs werden akzeptiert. Lokale Dateien über den Bild-Upload hochladen und die zurückgegebene url übergeben.Referenzen müssen öffentlich erreichbare http(s)-URLs oder data:image/<format>;base64,… verwenden. Der Formatname in der Data URI muss kleingeschrieben sein.
  • Unterstützt: JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC und HEIF. AVIF und JP2 werden nicht unterstützt.
  • Pro Bild höchstens 30 MiB (31,457,280 Byte) und 36 Millionen Pixel insgesamt. Maßgeblich ist Breite × Höhe, nicht eine Grenze von 6000 Pixeln je Seite.
  • Zu viele Bytes oder Pixel führen synchron zu HTTP 400. Bei AVIF und JP2 kann zunächst eine Aufgabe entstehen, die der Upstream anschließend ablehnt; fehlgeschlagene Aufgaben werden erstattet. Formate vorher konvertieren.
Der Bild-Upload-Endpunkt hat eigene Formatgrenzen. Für vom Modell unterstützte, dort aber nicht hochladbare Formate öffentliche URLs oder Data URIs verwenden.
string
Generierung: Standard 2K, mit Auflösungsstufe, Seitenverhältnis oder exakten Pixelmaßen. Zerlegung: Standard auto; nur 1K / 1.5K / 2K / auto.Bei der Bildgenerierung entspricht size: "auto" der Stufe 2K. Ein Seitenverhältnis ohne resolution verwendet ebenfalls 2K. Bei exakten Pixelmaßen resolution weglassen und positive ganze Zahlen für Breite und Höhe verwenden.
string
Bei der Generierung: 1K / 1.5K / 2K zusammen mit einem Seitenverhältnis in size. Bei der Zerlegung ist dies ein Plattformalias für size: size hat Vorrang, andernfalls gilt resolution; fehlen beide, gilt auto. Erlaubt sind 1K / 1.5K / 2K / auto. Verhältnisse oder Pixelmaße werden synchron mit HTTP 400 abgelehnt. Kein 3K / 4K.
string
Generierung: auto (Standard), transparent oder opaque. Transparenz ist sowohl mit Text als auch mit Referenzbildern möglich. Sie erfordert PNG und ist mit output_format: "jpeg" unvereinbar. Bei der Zerlegung das Feld vollständig weglassen, auch auto.
string
Standard:"png"
png (Standard) oder jpeg. Bei der Zerlegung betrifft dies nur das Basisbild; extrahierte Ebenen sind immer transparente PNGs.
integer
Nur 1. Die Generierung liefert ein Bild pro Anfrage. Die Anzahl bei der Zerlegung wird über layer_decomposition_options.max_images gesteuert.
boolean
Standard:"false"
Optionales Flag zum Hinzufügen eines Wasserzeichens.
object
Nur {"mode":"standard"} wird unterstützt. Auch ohne diesen Parameter aktiviert der vorgelagerte Anbieter standardmäßig standard; die Optimierung lässt sich in Seedream 5.5 nicht abschalten. disabled / none / off werden vom Anbieter mit HTTP 400 und must be one of: standard abgelehnt. fast lehnt die Plattform sofort mit HTTP 400 ab.
boolean
true zerlegt ein Bild in ein Basisbild und transparente Ebenen. Genau ein Eingabebild und kein background erforderlich. output_format betrifft nur das Basisbild.
object
Nur mit layer_decomposition: true zulässig, andernfalls HTTP 400.

Größenangaben

Verhältnisse: 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, 21:9, 2:1, 1:2. Die Grenzen betreffen Pixelfläche und Seitenverhältnis. Die Zerlegung akzeptiert nur Auflösungsstufen oder auto, keine Verhältnisse oder exakten Pixelmaße.

Ausgabegrößen bei der Zerlegung

  • Vorrang: size → resolution → auto. resolution ist ein Plattformalias; an den Anbieter geht nur size. size: "1K" zusammen mit resolution: "2K" ergibt 1K; allein resolution: "1.5K" ergibt 1.5K.
  • Bei 1K / 1.5K / 2K werden Basisbild und jede Ebene in der gewählten Stufe ausgegeben, jeweils mit ihrem eigenen Seitenverhältnis. Ein gemessenes 1K-Basisbild hatte 840×1248 Pixel, jede Ebene ebenfalls etwa 1,05 Millionen Pixel. Dies sind Beispiele, keine festen Maße.
  • auto verwendet die ursprünglichen Eingabemaße, vergrößert Eingaben unter 1K auf 1K und verkleinert Eingaben über 2K auf 2K.

Anfragebeispiele

Bildbearbeitung und Referenzfusion

Ebenenzerlegung mit Text-OCR

Diese Anfrage liefert höchstens 10 Bilder einschließlich Basisbild. prompt ist optional; background weglassen. Die Bild-URL durch eine erreichbare Datei ersetzen.

Aufgabe abfragen

Den Aufgabenstatus in den ersten 30 Sekunden alle 3 Sekunden, danach alle 5–10 Sekunden abfragen. Die Zerlegung kann mehrere Minuten dauern; der Server wartet höchstens 13 Minuten. task_id speichern und bis zum Endzustand abfragen, ohne die Generierung erneut einzureichen.
data.status: pending / processing bedeutet laufend, completed erfolgreich. Bei failed steht die Ursache in data.error.message; die Kosten werden automatisch erstattet. Bild-URLs stehen in data.result.images[].url[].
Ergebnisbilder werden 3 Tage gespeichert; laden Sie sie rechtzeitig herunter. Auch Aufgabenprotokolle bleiben nur 3 Tage erhalten und lassen sich danach nicht mehr über task_id abfragen.data.result.images[].expires_at liefert derzeit einen Unix-Zeitstempel in Sekunden für Aufgabenabschluss + 24 Stunden. Diese konservative Angabe liegt vor der tatsächlichen Löschung. Verwenden Sie sie nicht zur Berechnung der tatsächlichen Aufbewahrungsdauer oder eines Lösch-Countdowns.

Ebenenergebnisse und OCR

Das Beispiel veranschaulicht die Struktur und ist kein aufgezeichneter Modelllauf. Maße, Koordinaten und Text sind Beispiele. Metadaten können fehlen.
In jedem data.result.images[] entsprechen sich url, sizes, output_formats, backgrounds und layers über den Index. Metadatenarrays können fehlen, wenn ihre Länge nicht mit url übereinstimmt. Absolute Koordinaten: x=left, y=top, w=right-left, h=bottom-top. Für eine Zeichenfläche mit W × H normalisierte Koordinaten so umrechnen:
Ebenendateien werden unabhängig in der gewählten Stufe ausgegeben und können andere Maße als ihre bounding_box haben. Zum Zusammensetzen auf die Rahmenmaße w × h skalieren und bei (x, y) platzieren. Dateipixel nicht direkt als Basisbildkoordinaten verwenden.

Texterkennungsfelder

text_recognition folgt der OCR-Struktur des vorgelagerten Modells. Die Plattform gibt Felder wie text, lines, runs und style unverändert weiter. OCR und Schriftinformationen unterstützen Anzeige, Kopieren und Bearbeitung, können aber vom Original abweichen. Ebenenbilder sind auch ohne OCR nutzbar.

Abrechnung

Ausgabebilder und Eingabereferenzen werden separat berechnet. Jede Referenz ist kostenpflichtig, auch die erste und das einzelne Eingabebild bei der Zerlegung.
  • Jedes Ausgabebild wird anhand seiner tatsächlichen Pixelzahl eingestuft: bis einschließlich 2,610,000 Pixel niedrige Stufe, darüber hohe Stufe. 1K / 1.5K entsprechen der niedrigen, 2K der hohen Stufe. Bei exakten Maßen gilt Breite × Höhe.
  • Für Bildgenerierung wird der gewählte Ausgabepreis plus Referenzanzahl × Eingabepreis reserviert. Ohne size oder mit auto gilt die Reservierung für 2K.
  • Zerlegung reserviert max_images × Preis der Ausgabestufe plus ein Eingabebild. max_images ist standardmäßig 30 einschließlich Basis; tatsächlich können weniger Bilder entstehen.
  • Für Zerlegung gilt das wirksame size, sonst resolution: 1K / 1.5K reservieren niedrig, 2K / auto hoch. Ohne beide gilt auto mit hoher Reservierung.
  • Abgerechnet werden tatsächliche Ausgabeanzahl, Pixelstufe jedes Bildes und Eingabeanzahl; Differenzen werden erstattet oder nachberechnet. Basis und jede Ebene zählen einzeln. Nicht alle Ausgaben pauschal nach der angeforderten Stufe abrechnen. Fehlgeschlagene Aufgaben werden vollständig erstattet.
Siehe Modellpreise.

Häufige Parameterfehler

Die Liste umfasst Plattform- und Anbieterprüfungen. Bei Einreichungsfehlern error.message, bei asynchronen Aufgabenfehlern data.error.message lesen.

Gründe für fehlgeschlagene Aufgaben

Bei data.status = failed die Felder data.error.message und data.error.reason auswerten. Kosten werden automatisch erstattet. Fehlt reason oder ist der Wert unbekannt, message als Rückfall verwenden.