Grok Imagine 2.0 Ext
Grok Imagine 2.0 Ext Ebenen- und Bereichsbearbeitung
Mit segment Objektebenen und präzise Masken abrufen und anschließend Polygone, Rechtecke oder erkannte Objekte mit region_edit bearbeiten.
POST
segment und region_edit verwenden beide den vorhandenen asynchronen Bild-Endpunkt. Speichern Sie die zurückgegebene task_id und fragen Sie anschließend den Aufgabenstatus ab; die Erstellungsanfrage liefert noch keine finalen Ebenen oder Bilder.Übersicht der Operationen
source_task_id und image_id sind nicht austauschbar. segment erwartet die Quell-Task-ID, region_edit die Bild-Asset-ID. Um ein bearbeitetes Bild erneut zu segmentieren, verwenden Sie die abgeschlossene region_edit-Task-ID als neue source_task_id.Request-Header
Verwenden SieAuthorization: Bearer <APIMART_API_KEY>, Content-Type: application/json und Accept: application/json.
Idempotency-Key ist optional und wird für kostenpflichtige region_edit-Anfragen dringend empfohlen. Er akzeptiert 1–191 sichtbare ASCII-Zeichen; empfohlen wird eine UUID. Verwenden Sie pro neuer logischer Operation einen neuen Key. Ein Netzwerk-Retry derselben Anfrage muss den ursprünglichen Key und identischen Body wiederverwenden. Wiederholen Sie eine kostenpflichtige Bearbeitung mit unklarem Ergebnis nicht automatisch mit einem neuen Key.
Asynchroner Aufgabenablauf
Eine erfolgreiche Erstellung liefert HTTP200 und data[0].task_id. Fragen Sie GET /v1/tasks/{task_id}?language=de zunächst alle 2 Sekunden, später höchstens alle 5 Sekunden und maximal 10 Minuten lang ab. Stoppen Sie alte Abfragen beim Wechsel des Quellbilds.
segment
Anfrageparameter
segment benötigt keinen prompt. Senden Sie weder image_id, image_index, billing_model_name, n, size noch response_format. cache_only=true und refresh=true schließen sich aus.
Anfragebeispiele
- Ebenen abrufen
- Cache prüfen
cache_status (hit oder miss) oder from_cache; leiten Sie keinen Treffer aus cached ab.
Abgeschlossene Antwort
Beisegment ist data.result direkt das Segmentierungsergebnis und nicht in images verpackt.
Ein Objekt ohne gültiges
mask_rle oder mask_url kann nur näherungsweise per Box bearbeitet werden.
mask_rle dekodieren
mask_rle.counts ist eine COCO-komprimierte Zählzeichenfolge, weder Base64 noch zlib. Sie wird spaltenweise expandiert; der erste Lauf ist Hintergrund, danach wechseln Vorder- und Hintergrund.
Das folgende TypeScript wandelt sie in eine browserfreundliche, zeilenweise Binärmaske um:
mask_rle.counts dürfen nicht in Logs, Analysen, URLs oder Fehlerberichte gelangen.
Masken in präzise Auswahlbereiche umwandeln
0–1. Jeder Ring braucht mindestens 3 unterschiedliche Punkte, eine Fläche größer null und darf sich nicht selbst schneiden. Behalten Sie höchstens 16 größte Regionen pro Ebene und 400 Punkte pro Ring.
Das Lesen von Pixeln aus Quellbild oder mask_url erfordert CORS. Setzen Sie crossOrigin = "anonymous" vor src oder laden Sie einen Blob. Direktes Dekodieren von mask_rle vermeidet diese Abhängigkeit.
Bereich bearbeiten: region_edit
Anfrageparameter
Mindestens eines von
selection_regions, boxes oder object_indices muss nicht leer sein. Die API akzeptiert Kombinationen, im Frontend sollte pro Anfrage nur eine Methode verwendet werden.
Auswahlmethoden
- Präzises Polygon
- Normalisierte Box
- Pixelbox
- Objektindex
points kann flach oder als verschachtelte Paare angegeben werden. Jeder Wert muss endlich und zwischen 0–1 liegen; jeder Ring benötigt mindestens 3 Koordinatenpaare.Abgeschlossene Antwort
result.images[0].items[0]. Bei älteren Antworten dürfen url[0] und image_ids[0] nur bei gleich langen Arrays gepaart werden. Fahren Sie erst fort, wenn sowohl eine HTTP(S)-URL als auch eine neue image_id vorhanden sind.
Für den URL-Ablauf ist expires_at maßgeblich; keine feste Stundenzahl codieren. Langfristig benötigte Assets rechtzeitig herunterladen oder speichern.
Fortlaufende Bearbeitung
Nach Abschluss einer Bearbeitung aktualisieren Sie Anzeige-URL, aktuelle Asset-ID und Quell-Task-ID gemeinsam und löschen alte Ebenen sowie Abfragestatus.- Erneut segmentieren: diese
region_edit-Task-ID alssource_task_idverwenden - Erneut bearbeiten: die neu zurückgegebene
image_idverwenden - Übergeben Sie niemals
image_idansegmentund bearbeiten Sie nicht weiter die vorherige Bild-ID.
Fehlerbehandlung
Abrechnung
segmentist kostenlos und endet mitcost=0sowiecredits_cost=0, erfordert aber Authentifizierung und eine gültige Quellaufgabe.region_editist kostenpflichtig. Verwenden Siecostundcredits_costder abgeschlossenen Aufgabe; Preise nicht im Frontend fest codieren.- Das interne Feld
billing_model_namedarf nie gesendet werden.
Frontend-Checkliste
- API-Key nur im Backend oder BFF speichern.
- An
segmentnursource_task_idsenden, nieimage_idoderimage_index. - Für
region_editdieimage_idaus segment und mindestens eine Auswahlmethode verwenden. - Für präzise produktive Bearbeitung
selection_regionsverwenden;object_indicesist nur eine Box-Näherung. mask_sizestets als[height,width]lesen und Skalierung sowie Letterboxing berücksichtigen.- Bei demselben Netzwerk-Retry den ursprünglichen Idempotenz-Key wiederverwenden und Ausgabe-URL sowie neue
image_idprüfen.