Hoppa till huvudinnehåll
Detta dokument kommer att introducera en SeeDream Bilder Generering API integrationsbeskrivning, som kan generera SeeDream officiella bilder genom att ange anpassade parametrar.

Ansökningsprocess

För att använda API:et måste du först gå till SeeDream Bilder Generering API motsvarande sida för att ansöka om den tjänst som behövs. När du kommer till sidan, klicka på knappen “Acquire”, som visas i bilden nedan: Om du inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan för att bli inbjuden att registrera dig och logga in. Efter inloggning och registrering kommer du automatiskt att återvända till den aktuella sidan. Vid första ansökan kommer det att finnas en gratis kvot som ges, så att du kan använda API:et gratis.

Grundläggande användning

Först bör du förstå den grundläggande användningsmetoden, 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 överföra 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 svarresultat du vill ta emot, här anges som application/json, det vill säga JSON-format.
  • authorization: API-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-4.0.
  • image: information om den inmatade bilden, stöder URL eller Base64-kodning. Bland dessa, doubao-seedream-4.5, doubao-seedream-4.0 stöder enstaka eller flera bilder, doubao-seededit-3.0-i2i stöder endast enstaka bild, doubao-seededit-3.0-t2i stöder inte denna parameter.
  • 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, form eller användning i prompten, slutligen bedömer modellen storleken på den genererade bilden. Metod 2 | Specificera bredd- och höjd-pixelvärden: standardvärde: 2048x2048, beroende på modellen kan standardvärdet variera.
  • seed: slumpmässigt frö, används för att kontrollera modellens innehållsgenereringens slumpmässighet. Värdeintervallet är [-1, 2147483647]. Endast doubao-seedream-3.0-t2i, doubao-seededit-3.0-i2i stöder denna parameter.
  • sequential_image_generation: bildserie: en uppsättning bilder som genereras baserat på ditt inmatade innehåll. Endast doubao-seedream-4.5, doubao-seedream-4.0 stöder denna parameter, standard disabled.
  • stream: kontrollerar om strömmande utdata-läge ska aktiveras. Endast doubao-seedream-4.5, doubao-seedream-4.0 stöder denna parameter, standard är false.
  • guidance_scale: graden av överensstämmelse mellan modellens utdata och prompten, graden av frihet för den genererade bilden, även känd som textvikt; ju större värde, desto mindre frihet för modellen, desto starkare koppling till användarens inmatade prompt. Värdeintervallet är: [1, 10]. doubao-seedream-3.0-t2i standardvärde 2.5, doubao-seededit-3.0-i2i standardvärde 5.5, andra 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.
  • callback_url: URL för att få tillbaka resultatet.
När du har valt kan du se att motsvarande kod också har genererats till höger, som visas i bilden nedan:

Klicka på knappen “Try” för att testa, som visas i bilden ovan, här får vi följande resultat:
{
  "success": true,
  "task_id": "25027ba3-0430-4a1b-91c8-d2297f19ba73",
  "trace_id": "8043a9e9-692f-43b0-82f7-5890f798be38",
  "data": [
    {
      "prompt": "a white siamese cat",
      "size": "2048x2048",
      "image_url": "https://platform.cdn.acedata.cloud/seedream/3c060029-69b1-406f-a957-fcd55ddc9386.jpg"
    }
  ]
}
Det returnerade resultatet har flera fält, som beskrivs nedan:
  • success, status för videogenereringsuppgiften vid detta tillfälle.
  • task_id, ID för videogenereringsuppgiften vid detta tillfälle.
  • trace_id, spårnings-ID för videogenereringen vid detta tillfälle.
  • data, resultatlistan för bildgenereringsuppgiften vid detta tillfälle.
    • image_url, länken till bildgenereringsuppgiften vid detta tillfälle.
    • prompt, prompt.
    • size: pixel 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 i resultatet. Om du vill generera motsvarande integrationskod kan du direkt kopiera den som till exempel CURL-koden nedan:
curl -X POST 'https://api.acedata.cloud/seedream/images' \
-H 'accept: application/json' \
-H 'authorization: Bearer ${token}' \
-H 'content-type: application/json' \
-d '{
  "action": "generate",
  "model": "doubao-seedream-4-0-250828",
  "prompt": "a white siamese cat"
}'

Redigera bilduppgift

Om du vill redigera en viss bild måste parametern image först överföras med länken till den bild som ska redigeras.
  • model: den modell som används för denna redigeringsuppgift, denna uppgift stöder för närvarande doubao-seedream-4.5, doubao-seedream-4.0 som stöder enstaka eller flera bilder, doubao-seededit-3.0-i2i stöder endast enstaka bild.
  • image: ladda upp den bild som ska redigeras, en eller flera.
Exempel på ifyllning:

Motsvarande kod:
import requests

url = "https://api.acedata.cloud/flux/images"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "doubao-seedream-4-0-250828",
  "prompt": "Behåll modellens pose och den flytande klädens form oförändrad. Ändra klädmaterialet från silvermetall till helt genomskinligt vatten (eller glas). Genom den flytande strömmen är detaljerna av modellens hud synliga. Ljus- och skuggeffekten skiftar från reflektion till refraktion.",
  "image": ["https://ark-project.tos-cn-beijing.volces.com/doc_image/seedream4_5_imageToimage.png"],
  "size": "2K",
  "watermark": False
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Klicka på kör, och du kan se att du omedelbart får ett resultat, som följer:
{
    "success": true,
    "task_id": "c9aaffa2-b8ac-40ff-8468-43e77cb9ddde",
    "trace_id": "131a40c3-2eaf-44c9-af28-c9b408577286",
    "data": [
        {
            "prompt": "Behåll modellens pose och den flytande klädens form oförändrad. Ändra klädmaterialet från silvermetall till helt transparent vatten (eller glas). Genom den flytande strömmen är detaljerna av modellens hud synliga. Ljus- och skuggeffekten skiftar från reflektion till brytning.",
            "size": "2048x2048",
            "image_url": "https://platform.cdn.acedata.cloud/seedream/3e88db7e-4771-4f6a-adbd-5ae4590c5d59.jpg"
        }
    ]
}
Det kan ses att den genererade effekten är en redigering av den ursprungliga bilden, resultatet liknar det ovan.

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-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, specificerar den ett extra callback_url-fält, efter att klienten har initierat API-förfrågan, kommer API:n omedelbart att returnera ett resultat som innehåller ett task_id-fält, som representerar det aktuella uppdragets ID. När uppdraget är slutfört 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 uppdragsresultatet kan kopplas ihop med ID. Nedan kommer vi att förstå hur man gör detta genom ett exempel. Klicka på kör, så kan du se att du omedelbart får ett resultat, som följer:
{
  "task_id": "c9aaffa2-b8ac-40ff-8468-43e77cb9ddde"
}
Innehållet är som följer:
{
    "success": true,
    "task_id": "c9aaffa2-b8ac-40ff-8468-43e77cb9ddde",
    "trace_id": "131a40c3-2eaf-44c9-af28-c9b408577286",
    "data": [
        {
            "prompt": "Behåll modellens pose och den flytande klädens form oförändrad. Ändra klädmaterialet från silvermetall till helt transparent vatten (eller glas). Genom den flytande strömmen är detaljerna av modellens hud synliga. Ljus- och skuggeffekten skiftar från reflektion till brytning.",
            "size": "2048x2048",
            "image_url": "https://platform.cdn.acedata.cloud/seedream/3e88db7e-4771-4f6a-adbd-5ae4590c5d59.jpg"
        }
    ]
}
Det kan ses att resultatet innehåller ett task_id-fält, de andra fälten är liknande som ovan, genom detta fält kan uppdraget kopplas ihop.

Felhantering

Vid anrop av API:n, om det uppstår 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: Internt serverfel, något gick fel på servern.

Exempel på felrespons

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "hämtning misslyckades"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

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 ledande ord. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda detta API. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.