Skip to main content
Denna artikel kommer att introducera en SeeDream Bilder Generering API integrationsbeskrivning, som kan generera SeeDreams officiella bilder genom att ange anpassade parametrar.

Ansökningsprocess

För att använda SeeDream Bilder Generering API, börja med att gå till Ace Data Cloud-konsolen för att få din API-token, som du ska spara. Om du inte har loggat in eller registrerat dig, kommer du automatiskt att omdirigeras till inloggningssidan för att registrera dig och logga in, och efter att ha slutfört detta kommer du automatiskt att återvända till den aktuella sidan. En API-token kan användas för att anropa alla tjänster på plattformen, du behöver inte ansöka separat för varje tjänst. Första ansökan ger en gratis kvot, så att du kan prova gratis; när kvoten är slut kan du ladda på allmän balans i konsolen.
📘 Fullständig dokumentation: SeeDream Bilder Generering API →

Grundläggande användning

Först bör du förstå den grundläggande användningen, vilket innebär att du anger en prompt prompt, en genereringsåtgärd action, och bildstorlek size, för att få det bearbetade resultatet. Först behöver vi enkelt skicka ett action-fält, vars värde är generate, och sedan behöver vi också ange en prompt, den specifika informationen är som följer:

Här kan vi se att vi har ställt in Request Headers, inklusive:
  • accept: vilken format av svar du vill ta emot, här anges som application/json, det vill säga JSON-format.
  • authorization: nyckeln för att anropa API:et, efter ansökan kan du direkt välja från en rullgardinsmeny.
Dessutom har vi ställt in Request Body, inklusive:
  • prompt: prompt.
  • model: genereringsmodell, standard doubao-seedream-5-0-260128 (SeeDream 5.0 Lite, den senaste). Stöder doubao-seedream-5-0-pro-260628, doubao-seedream-5-0-260128 (accepterar också det officiella aliaset doubao-seedream-5-0-lite-260128), doubao-seedream-4-5-251128, doubao-seedream-4-0-250828. Bland dessa är doubao-seedream-5-0-pro-260628 (SeeDream 5.0 Pro) en flaggskeppsmodell för enskilda bilder, som endast genererar en bild, stödjer inte bildserier (sequential_image_generation), strömmande (stream) eller webbsökning (tools). model måste anges med hela modellsträngen (t.ex. doubao-seedream-5-0-260128), att ange doubao-seedream-5.0-lite som en förkortning kommer att returnera 400.
  • image: information om den inmatade bilden, stöder URL eller Base64-kodning. doubao-seedream-5-0-pro-260628 stöder enskild eller flera bilder (flera bilder 2-10 stycken, från och med den andra bilden debiteras per bild), doubao-seedream-5-0-260128, doubao-seedream-4-5-251128, doubao-seedream-4-0-250828 stöder enskild eller flera bilder.
  • size: specificera storleksinformationen för den genererade bilden, stöder följande två metoder, får inte blandas. Metod 1 | Specificera upplösningen för den genererade bilden och beskriv bildens bredd-höjd-förhållande med naturligt språk i prompten. De förinställningar som stöds varierar mellan modeller: doubao-seedream-5-0-pro-260628 stöder 1K/1.5K/2K; doubao-seedream-5-0-260128 stöder 2K/3K/4K; doubao-seedream-4-5-251128 stöder endast 2K/4K; doubao-seedream-4-0-250828 stöder 1K/2K/4K. Metod 2 | Specificera pixelvärdena för bredd och höjd för den genererade bilden: standard 2048x2048, det totala pixelantalet och bredd-höjd-förhållandet varierar beroende på modellen (till exempel 5.0 Pro har ett totalt pixelantal mellan [921600, 4624220], 5.0 Lite / 4.5 har ett lägsta totalt pixelantal på 3,686,400, 4.0 har ett lägsta på 921,600).
  • sequential_image_generation: bildserie: en uppsättning bilder som är relaterade till det innehåll du anger. doubao-seedream-5-0-260128, doubao-seedream-4-5-251128, doubao-seedream-4-0-250828 stöder denna parameter, standard disabled.
  • stream: kontrollerar om strömmande utdata-läge ska aktiveras. doubao-seedream-5-0-260128, doubao-seedream-4-5-251128, doubao-seedream-4-0-250828 stöder denna parameter, standard är false.
  • response_format: specificera returformatet för den genererade bilden. Standard är url, stöder också b64_json.
  • watermark: om en vattenstämpel ska läggas till i den genererade bilden. Standard är true.
  • output_format: specificera filformatet för den genererade bilden, stöder jpeg (standard) och png. Endast doubao-seedream-5-0-pro-260628 och doubao-seedream-5-0-260128 stöder.
  • tools: konfigurera verktygen som modellen ska anropa, för närvarande stöder web_search (webbsökning). Endast Seedream 5.0 Lite stöder.
  • optimize_prompt_options: konfiguration för optimering av prompt. 5.0 Pro stöder standard/fast; 5.0 Lite och 4.5 stöder endast standard; 4.0 stöder standard/fast.
  • background: endast 5.0 Pro för enskild bildredigering stöder. transparent kräver att en bild med transparent kanal i PNG anges, och output_format måste vara png; opaque är en vanlig ogenomskinlig bakgrund.
  • layer_decomposition: endast 5.0 Pro stöder. När den är inställd på true måste en PNG/JPEG anges, prompt behöver inte anges för automatisk uppdelning, eller ange element med naturligt språk/<bbox>; size stöder auto/1K/1.5K/2K. Detta läge kan inte användas tillsammans med bildserier, strömmande, webbsökning eller background.
  • callback_url: URL för att få tillbaka resultatet.
  • async: om bearbetningen ska ske asynkront. När den är inställd på true returnerar gränssnittet omedelbart task_id, utan att behöva ange callback_url, och resultatet kan hämtas genom att pollera /seedream/tasks.
När du har valt kan du se att motsvarande kod också har genererats till höger, som visas i bilden:

Klicka på “Try” knappen för att testa, som visas i bilden ovan, här har vi fått följande resultat:
Resultatet innehåller flera fält, som beskrivs nedan:
  • success, status för videoproduktionsuppgiften vid detta tillfälle.
  • task_id, ID för videoproduktionsuppgiften vid detta tillfälle.
  • trace_id, spårnings-ID för videoproduktionen vid detta tillfälle.
  • data, resultatlistan för bildproduktionsuppgiften vid detta tillfälle.
    • image_url, länken till bildproduktionsuppgiften vid detta tillfälle.
    • prompt, uppmaning.
    • size: pixelstorleken för den genererade bilden.
Vi kan se att vi har fått tillfredsställande bildinformation, vi behöver bara hämta den genererade SeeDream-bilden baserat på bildlänken i data. Om du vill generera motsvarande kod kan du direkt kopiera den, till exempel CURL-koden nedan:

Redigera bilduppgift

Om du vill redigera en viss bild måste du först ange parametern image med länken till den bild som ska redigeras.
  • model: modellen som används för denna redigeringsuppgift, doubao-seedream-5-0-pro-260628, doubao-seedream-5-0-260128, doubao-seedream-4-5-251128, doubao-seedream-4-0-250828 stöder alla bildinmatning.
  • image: ladda upp den bild som ska redigeras, en eller flera.
Exempel på ifyllning:

Motsvarande kod:
Klicka på kör, och du kan se att du omedelbart får ett resultat, som nedan:
Vi kan se att den genererade effekten är en redigering av den ursprungliga bilden, resultatet liknar det ovan.

Lageruppdelning (Seedream 5.0 Pro)

Lageruppdelning kommer att dela en inmatad bild i 1 bakgrundsbild och upp till 16 oberoende redigerbara transparenta PNG-lager. Följande begäran låter modellen automatiskt identifiera huvudkomponenterna; om du vill specificera komponenter kan du lägga till prompt, eller använda normaliserade <bbox>-koordinater i uppmaningen.
Den returnerade data är ordnad efter z_index från botten till toppen. Bakgrundsbildens z_index är 0; lagren innehåller också name, description och bounding_box.absolute/normalized. Vid omgruppering med absoluta koordinater kommer lagren att skalas till [right-left, bottom-top], placeras på [left, top], och sedan staplas i stigande ordning efter z_index. Om något lager misslyckas med att genereras misslyckas hela uppdelningen.

Strömmande utdata

När Lite/4.x ställs in på stream: true, använd accept: application/x-ndjson i begärans huvud. Gränssnittet returnerar rad för rad image_generation.partial_succeeded eller image_generation.partial_failed, och slutligen returneras en unik image_generation.completed händelse och slutlig usage; endast när slutförande händelsen utlöses debiteras en avgift. Strömmande läge kan inte användas tillsammans med async eller callback_url.

Asynkron återkoppling

Eftersom SeeDream Images Generation API:s genereringstid är relativt lång, cirka 1-2 minuter, om API:n inte svarar under en längre tid, kommer HTTP-begäran att hålla anslutningen öppen, vilket leder till extra systemresursförbrukning, så detta API erbjuder också stöd för asynkron återkoppling. Den övergripande processen är: när klienten initierar en begäran, specificerar den ett extra callback_url-fält, efter att klienten har initierat API-begäran kommer API:n omedelbart att returnera ett resultat som innehåller ett task_id-fält, vilket representerar det aktuella uppgifts-ID:t. När uppgiften är klar kommer resultatet av den genererade bilden att skickas till klientens angivna callback_url i POST JSON-format, vilket också inkluderar task_id-fältet, så att uppgiftsresultatet kan kopplas ihop med ID:t. Om du inte har en offentlig adress för återkoppling kan du också välja att inte specificera callback_url, utan istället ställa in async-fältet till true i begäran. I detta fall kommer gränssnittet också omedelbart att returnera task_id, men resultatet kommer inte att skickas, du måste bära det task_id för att anropa /seedream/tasks-gränssnittet för att pollera uppgiftsstatus för att få det slutliga resultatet. Låt oss förstå hur man gör detta genom ett exempel. Klicka på kör, och du kan se att du omedelbart får ett resultat, som nedan:
Innehållet är som följer:
Det kan ses att resultatet innehåller ett task_id fält, medan de andra fälten liknar de ovan, och genom detta fält kan uppgiften kopplas samman.

Felhantering

Vid anrop av API:et, om ett fel uppstår, kommer API:et att returnera motsvarande felkod och information. Till exempel:
  • 400 token_mismatched: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 400 api_not_implemented: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 401 invalid_token: Obefogad, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests: För många begärningar, du har överskridit hastighetsgränsen.
  • 500 api_error: Intern serverfel, något gick fel på servern.

Felrespons Exempel

Slutsats

Genom detta dokument har du fått en förståelse för hur du använder SeeDream Images Generation API för att generera bilder genom att ange uppmaningar. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda API:et. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.