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, utan att behöva 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, som kan väljas direkt efter ansökan.
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, doubao-seedream-4-5-251128, doubao-seedream-4-0-250828, doubao-seedream-3-0-t2i-250415, doubao-seededit-3-0-i2i-250628. 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 nätverksökning (tools). model måste anges med hela modellsträngen (som 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. Bland dessa stöder doubao-seedream-5-0-pro-260628 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, doubao-seededit-3-0-i2i-250628 stöder endast enskild bild, doubao-seedream-3-0-t2i-250415 stöder inte denna parameter.
  • size: specificera storleksinformationen för den genererade bilden, stöder följande två metoder, som inte kan 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/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; doubao-seedream-3-0-t2i-250415 och doubao-seededit-3-0-i2i-250628 stöder inte förinställningar, accepterar endast metod 2. 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 pixelområde [921600, 4194304], 5.0 Lite / 4.5 har ett lägsta pixelantal på 3,686,400, 4.0 har ett lägsta antal på 921,600, 3.0-t2i / seededit-3.0-i2i har ett område [512x512, 2048x2048]).
  • seed: slumpmässig frö, används för att kontrollera modellens innehållsgenereringens slumpmässighet. Värdeintervallet är [-1, 2147483647]. Endast doubao-seedream-3-0-t2i-250415 stöder denna parameter.
  • sequential_image_generation: bildserie: en uppsättning bilder som genereras baserat på 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.
  • guidance_scale: graden av överensstämmelse mellan modellens utdata och prompten, ju högre värde desto starkare korrelation. Värdeintervallet är [1, 10]. doubao-seedream-3-0-t2i-250415 har standardvärde 2.5, doubao-seededit-3-0-i2i-250628 har standardvärde 5.5, andra modeller stöder inte.
  • response_format: specificera returformatet för den genererade bilden. Standard är url, stöder även 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 (nätverksökning). Endast doubao-seedream-5-0-260128 stöder.
  • callback_url: URL för att få tillbaka resultatet.
  • async: om det ska behandlas i asynkront läge. Sätt till true så returnerar gränssnittet omedelbart task_id, utan att behöva ange callback_url, och sedan kan resultatet 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 videoproduktionsuppgiften 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-260128, doubao-seedream-4-5-251128, doubao-seedream-4-0-250828 stödjer enstaka eller flera bilder, doubao-seededit-3-0-i2i-250628 stödjer endast enstaka 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.

Asynkron återkoppling

Eftersom SeeDream Images Generation API tar relativt lång tid att generera, cirka 1-2 minuter, om API:n inte svarar under en längre tid, kommer HTTP-förfrågan 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, specificera 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 använda 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:
Vi kan se att resultatet innehåller ett task_id-fält, och de andra fälten liknar de ovan, genom detta fält kan uppgiften kopplas samman.

Felhantering

När du anropar API:n, om du stöter på fel, kommer API:n 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 förfrågningar, du har överskridit hastighetsgränsen.
  • 500 api_error: Intern serverfel, något gick fel på servern.

Exempel på felrespons

Slutsats