> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# SeeDream Bilder Generering API Integrationsbeskrivning

> ByteDance Seedream Image Generation API guide - Ace Data Cloud

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](https://platform.acedata.cloud/console/applications) för att få din API-token, som du ska spara.

![](https://cdn.acedata.cloud/5hmkdg.jpg)

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](https://platform.acedata.cloud/console/coin).

> 📘 Fullständig dokumentation: [SeeDream Bilder Generering API →](https://platform.acedata.cloud/documents/seedream-images)

## 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:

<p>
  <img src="https://cdn.acedata.cloud/seedream_request_body.png" width="500" className="m-auto" />
</p>

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:

<p>
  <img src="https://cdn.acedata.cloud/seedream_image.png" width="500" className="m-auto" />
</p>

Klicka på "Try" knappen för att testa, som visas i bilden ovan, här har vi fått följande resultat:

```json theme={null}
{
  "success": true,
  "task_id": "81246f86-05ff-4d7d-9553-1013e0c1cd32",
  "trace_id": "ab50a78d-ab1f-457f-a46b-c2259cd5d35b",
  "data": [
    {
      "prompt": "En fotorealistisk studio produktbild av en frostat glasparfymflaska på blöt svart skiffer, en enda softbox nyckellampa, vattendroppar, mörk stämningsfull bakgrund, 85mm makro.",
      "size": "2048x2048",
      "image_url": "https://platform2.cdn.acedata.cloud/seedream/901c6af6-e83a-4849-b233-295f6c20bacb.jpg"
    }
  ]
}
```

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:

```shell theme={null}
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-5-0-260128",
  "prompt": "En fotorealistisk studio produktbild av en frostat glasparfymflaska på blöt svart skiffer, en enda softbox nyckellampa, vattendroppar, mörk stämningsfull bakgrund, 85mm makro."
}'
```

## 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:

<p>
  <img src="https://cdn.acedata.cloud/seedream_edit.png" width="500" className="m-auto" />
</p>

Motsvarande kod:

```python theme={null}
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ädesplaggens form oförändrad. Ändra klädmaterialet från silvermetall till helt transparent vatten (eller glas). Genom vätskan ä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 nedan:

```json theme={null}
{
    "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ädesplaggens form oförändrad. Ändra klädmaterialet från silvermetall till helt transparent vatten (eller glas). Genom vätskan är detaljerna av modellens hud synliga. Ljus- och skuggeffekten skiftar från reflektion till refraktion.",
            "size": "2048x2048",
            "image_url": "https://platform.cdn.acedata.cloud/seedream/3e88db7e-4771-4f6a-adbd-5ae4590c5d59.jpg"
        }
    ]
}
```

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:

```
{
  "task_id": "c9aaffa2-b8ac-40ff-8468-43e77cb9ddde"
}
```

Innehållet är som följer:

```json theme={null}
{
    "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ädesplaggens form oförändrad. Ändra klädmaterialet från silvermetall till helt transparent vatten (eller glas). Genom vätskan är detaljerna av modellens hud synliga. Ljus- och skuggeffekten skiftar från reflektion till refraktion.",
            "size": "2048x2048",
            "image_url": "https://platform.cdn.acedata.cloud/seedream/3e88db7e-4771-4f6a-adbd-5ae4590c5d59.jpg"
        }
    ]
}
```

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

```json theme={null}
{
  "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 ledord. 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.
```
