Pro API: kuvien luonti ja muokkaus
Yksi kuva maksaa 1 krediitti, riippumatta tilasta. Promptista luonti ja oman kuvan muokkaus kulkevat molemmat saman reitin kautta.
Lähetä kuva
POST /images
{ "prompt": "portrait of a woman in a rainy street at night, neon reflections, cinematic",
"width": 832, "height": 1216 }
| Kenttä | Tyyppi | Oletus | Mitä se tekee |
|---|---|---|---|
prompt | string | pakollinen | Kohtaus. Englanti antaa tarkimmat tulokset. |
width, height | int | 1024 x 1024 | Pikselikoko. Hyviä muotoja: 1024 x 1024 (neliö), 832 x 1216 (pysty), 1216 x 832 (vaaka). |
mode | string | generation | edit, img2img tai inpaint, katso alla. Puuttuessaan luodaan promptista. |
image_b64 | string | Lähkuva base64-muodossa (PNG tai JPEG), pakollinen kaikissa kolmessa muokkaustilassa. Enintään 12 Mt purettuna. | |
mask_b64 | string | Maski base64-muodossa: pakollinen inpaint-tilassa, valinnainen edit-tilassa. Maalaa muokattavat alueet punaisella, lähkuvan koossa. | |
lora | string | Tilillä oleva koulutettu hahmo: GET /loras -pyynnön palauttama name. Lisää sen trigger promptiin. | |
lora2, lora2_strength | string, number | Toinen hahmo ja sen voimakkuus (0 - 1, oletus 1) kaksihenkilöistä kohtausta varten. | |
steps | int | engine | Jätä tyhjäksi. Moottori tietää oman arvonsa. |
Vastaus:
{ "jobId": "test-79634842-4586-46d4-ad52-d9ea236ae00d", "seed": 178078967, "cost": 1 }
seed on moottorin arpoma arvo, joka palautetaan tiedoksi. Sitä ei voi lukita syötteessä
tässä versiossa.
Kolme muokkaustilaa
Kaikki kolme käyttävät samaa ohjauspohjaista muokkausmoottoria, joka säilyttää lähkuvan ulkonäön. Kun annat lähkuvan, width ja height luetaan kuvasta itsestään, eikä niitä tarvitse lähettää.
mode | Syötteet | Mitä moottori tekee |
|---|---|---|
edit | image_b64 + prompt (+ valinnainen mask_b64) | Soveltaa ohjeen koko kuvaan ("add sunglasses", "make it snow"). Maskin kanssa muutos kohdistuu punaiselle alueelle. |
inpaint | image_b64 + mask_b64 + prompt | Luo maskin punaisen alueen uudelleen ohjeen mukaan. Muu osa rekonstruoidaan pikseli pikseliltä. |
img2img | image_b64 + prompt | Muokkaa koko kuvan promptin mukaan säilyttäen sen sommittelun ja ulkonäön: variaatio. |
IMG=$(base64 -w0 photo.png)
curl -s $B/images -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d "{\"mode\":\"edit\",\"prompt\":\"add a red scarf, keep everything else identical\",\"image_b64\":\"$IMG\"}"
Pollaus
GET /images/{jobId}
| Vastaus | Merkitys |
|---|---|
{ "status": "pending", "phase": "IN_QUEUE" } | Jonossa |
{ "status": "pending", "phase": "IN_PROGRESS" } | Renderöidään |
{ "status": "completed", "cost": 1, "file_url": "/pro/v1/images/{jobId}/file", ... } | Valmis, tiedosto saatavilla |
{ "status": "failed", "detail": "..." } | Epäonnistui, eikä mitään veloiteta |
Pollaa 3 sekunnin välein, ei tiheämmin: jono on jaettu.
Lataaminen
GET /images/{jobId}/file
PNG-tiedosto itse vastaustekstinä (Content-Type: image/png). Saatavilla heti kun
tila on completed, ja 404 media_indisponible kun renderointi on poistunut. Lataa se
välittömästi, sitä ei arkistoida.
Peruuttaminen
POST /images/{jobId}/cancel
Peruuttaa jonossa olevan tai käynnissä olevan renderoinnin. Vastaa { "ok": true }. Mitään ei veloiteta, ja avaimen päivittäistä kiintiötä vasten varattu kustannus palautetaan.