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

# SeeDance Videos Generation API Integrationsbeskrivning

> ByteDance Seedance Video Generation 集成指南 - XHuoAPI

Detta dokument kommer att introducera en SeeDance Videos Generation API integrationsbeskrivning, som kan generera officiella SeeDance-videor genom att ange anpassade parametrar.

## Ansökningsprocess

För att använda API:et måste du först gå till [SeeDance Videos Generation API](https://api.xhuoapi.ai/documents/seedance-videos) 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:

![](https://cdn.xhuoapi.ai/q6ytrc.png)

Om du inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan där du uppmanas att registrera dig och logga in. Efter att ha loggat in eller registrerat dig 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 prompten `content.text`, typen `content.type=text` samt modellen `model`, för att få det bearbetade resultatet. Det specifika innehållet är som följer:

<p>
  <img src="https://cdn.xhuoapi.ai/seedance_parameters.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:

* `model`: modellen för att generera videon, valfria värden: `doubao-seedance-1-0-pro-250528`, `doubao-seedance-1-0-pro-fast-251015`, `doubao-seedance-1-5-pro-251215`, `doubao-seedance-1-0-lite-t2v-250428`, `doubao-seedance-1-0-lite-i2v-250428`.
* `content`: inmatningsinnehållsarray, `type` kan vara `text` eller `image_url`.
* `resolution`: utmatningsupplösning, valfria `480p` / `720p` / `1080p`.
* `ratio`: bildförhållande, valfria `16:9` / `4:3` / `1:1` / `3:4` / `9:16` / `21:9` / `adaptive`.
* `duration`: videolängd (sekunder), intervall 2–12.
* `seed`: slumpmässig frö, heltal, -1 till 4294967295.
* `camerafixed`: om kameran ska vara fast, `true` / `false`.
* `watermark`: om vattenstämpel ska läggas till, `true` / `false`.
* `generate_audio`: om ljudvideo ska genereras, `true` / `false`, **endast `doubao-seedance-1-5-pro-251215` stöds**.
* `service_tier`: inferensläge, `default` (online) eller `flex` (offline, priset är 50% av online).
* `return_last_frame`: om den sista bildens URL från videon ska returneras i resultatet.
* `execution_expires_after`: tidsgräns för uppgiften (sekunder), intervall 3600–259200.
* `callback_url`: asynkron återkopplingsadress, efter inställning returnerar API:et omedelbart `task_id`, och när uppgiften är klar kommer resultatet att POST:as till den adressen.

När du har valt kan du se att motsvarande kod också har genererats till höger, som visas i bilden nedan:

<p>
  <img src="https://cdn.xhuoapi.ai/seedance_request.png" width="500" className="m-auto" />
</p>

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

```json theme={null}
{
  "success": true,
  "task_id": "ec22ae22-0140-4033-8c86-a48b536da595",
  "trace_id": "1cc87db0-8ee5-4436-969b-35cc571a9fd5",
  "data": {
    "task_id": "cgt-20251222005129-62fhb",
    "status": "succeeded",
    "video_url": "https://platform.cdn.xhuoapi.ai/seedance/f592800a-b87c-4705-8796-cbb8018cae35.mp4",
    "model": "doubao-seedance-1-0-pro-250528"
  }
}
```

Det returnerade resultatet har flera fält, som beskrivs nedan:

* `success`, status för videogenereringsuppgiften.
* `task_id`, ID för videogenereringsuppgiften.
* `trace_id`, spårnings-ID för videogenereringen.
* `data`, resultatlistan för videogenereringsuppgiften.
  * `task_id`, server-ID för videogenereringsuppgiften.
  * `video_url`, videolänken för videogenereringsuppgiften.
  * `status`, status för videogenereringsuppgiften.
    * `model`, modellen som användes för att generera videon.

Vi kan se att vi har fått tillfredsställande videoinformation, vi behöver bara hämta den genererade SeeDance-videon baserat på videolänkadressen i `data`.

Om du vill generera motsvarande integrationskod kan du direkt kopiera den som genererats, till exempel CURL-koden nedan:

```shell theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/seedance/videos' \
-H 'authorization: Bearer ${bearer_token}' \
-H 'accept: application/json' \
-H 'content-type: application/json' \
-d '{
  "content": [{"text":"A kitten yawning at the camera. --rs 720p --rt 16:9 --dur 5 --fps 24 --wm true --seed 11 --cf false","type":"text"}],
  "model": "doubao-seedance-1-0-pro-250528"
}'
```

## Inline parameterbeskrivning

I slutet av `content[].text` prompten kan du ange genereringsparametrar genom att lägga till `--parameter value` (gammal metod, svag validering, om det finns fel används automatiskt standardvärden). Den kompletta parameterlistan är som följer:

| Inline parameter | Motsvarande fält  | Beskrivning                      | Värdeintervall                                                |
| ---------------- | ----------------- | -------------------------------- | ------------------------------------------------------------- |
| `--rs`           | `resolution`      | Utmatningsupplösning             | `480p` / `720p` / `1080p`                                     |
| `--rt`           | `ratio`           | Bildförhållande                  | `16:9` / `4:3` / `1:1` / `3:4` / `9:16` / `21:9` / `adaptive` |
| `--dur`          | `duration`        | Videolängd (sekunder)            | 2–12                                                          |
| `--frames`       | `frames`          | Videoram                         | Heltal som uppfyller 25+4n i intervallet \[29, 289]           |
| `--fps`          | `framespersecond` | Bildfrekvens                     | Endast `24`                                                   |
| `--seed`         | `seed`            | Slumptal                         | -1 till 4294967295                                            |
| `--cf`           | `camerafixed`     | Om kameran ska vara fast         | `true` / `false`                                              |
| `--wm`           | `watermark`       | Om vattenstämpel ska läggas till | `true` / `false`                                              |

> **Rekommenderad metod**: Använd direkt motsvarande toppnivåfält i Request Body (som `resolution`, `ratio` etc.) för stark valideringsläge, om parametrarna är felaktiga kommer ett tydligt felmeddelande att returneras, vilket gör det lättare att felsöka problem.

## Generera ljudvideo

`doubao-seedance-1-5-pro-251215` stöder att generera video med ljud genom `generate_audio` parametern:

```json theme={null}
{
  "model": "doubao-seedance-1-5-pro-251215",
  "content": [
    {
      "type": "text",
      "text": "A girl holds a fox, the wind blows her hair, you can hear the sound of the wind"
    }
  ],
  "generate_audio": true,
  "ratio": "16:9",
  "duration": 5
}
```

Andra modeller stöder inte denna parameter, och den kommer att ignoreras om den skickas in.

## Bild till video första bildruta

Om du vill göra en bild till video-uppgift, måste `content` parametern först innehålla ett objekt med `type` som är `image_url`, och `image_url` fältet måste vara i objektformat: `{"url": "https://..."}` eller Base64-format `{"url": "data:image/png;base64,..."}`.

> **Observera**: `image_url` stöder inte direkt inmatning i strängformat (som `"image_url": "https://..."`), det måste använda objektformatet `"image_url": {"url": "https://..."}`; annars kommer det att returnera ett 400-fel.

Motsvarande kod:

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/seedance/videos"

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

payload = {
    "content": [
        {
            "type": "image_url",
            "image_url": {
                "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/i2v_foxrgirl.png"
            }
        },
        {
            "type": "text",
            "text": "En flicka håller en räv i sina armar. Hon öppnar ögonen och ser ömt in i kameran, medan räven kärleksfullt håller tillbaka. När kameran långsamt drar sig tillbaka, blåser vinden försiktigt i hennes hår. --ratio adaptive  --dur 5"
        }
    ],
    "model": "doubao-seedance-1-0-pro-250528"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

När du klickar på kör kan du se att du omedelbart får ett resultat, som följer:

```
{
    "success": true,
    "task_id": "dc7cceb5-3c12-4de7-a5f4-abcbba3e8e39",
    "trace_id": "b3b09de3-b7fa-4bb0-88b5-aad4b4a96fd4",
    "data": {
        "task_id": "cgt-20251222072003-x2259",
        "status": "succeeded",
        "video_url": "https://platform.cdn.xhuoapi.ai/seedance/6afb78b8-5ba8-424f-adcd-69423a700b50.mp4",
        "model": "doubao-seedance-1-0-pro-250528"
    }
}
```

Du kan se att den genererade effekten är bild till video, resultatet liknar det ovan.

## Bild till video första och sista bildruta

Om du vill göra en bild till video första och sista bildruta, måste parametern `content` först innehålla typen `image_url`, och du måste ställa in `role` till `first_frame` och `last_frame`, så kan du specificera följande innehåll:

* role: specificera första eller sista bildruta.
* image\_url
  * url bildlänk
    Samtidigt måste `content` också innehålla typen `text` som prompt.

Motsvarande kod:

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/seedance/videos"

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

payload = {
   "model": "doubao-seedance-1-0-pro-250528",
    "content": [
         {
            "type": "text",
            "text": "360-graders bild"
        },
        {
            "type": "image_url",
            "image_url": {
                "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seepro_first_frame.jpeg"
            },
            "role": "first_frame"
        },
        {
            "type": "image_url",
            "image_url": {
                "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seepro_last_frame.jpeg"
            },
            "role": "last_frame"
        }
    ]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

När du klickar på kör kan du se att du omedelbart får ett resultat, som följer:

```
{
    "success": true,
    "task_id": "f7096c6c-9430-4392-8201-d259632d7afd",
    "trace_id": "4a4a3721-00fb-43d2-aff2-3b516ac01a8a",
    "data": {
        "task_id": "cgt-20251222073134-54qcw",
        "status": "succeeded",
        "video_url": "https://platform.cdn.xhuoapi.ai/seedance/95f9f5f0-fc50-4c71-bc6f-e154582c141e.mp4",
        "model": "doubao-seedance-1-0-pro-250528"
    }
}
```

Du kan se att den genererade effekten är karaktärsgenererad video, resultatet liknar det ovan.

## Asynkron återkoppling

Eftersom SeeDance Videos Generation API:s genereringstid är lång (ungefär 1-2 minuter), kan du använda `callback_url`-fältet för att använda asynkron läge, för att undvika att HTTP-anslutningen upptar lång tid.

Övergripande process: Klienten initierar en begäran och anger `callback_url`, API:n returnerar omedelbart ett svar som innehåller `task_id`; när uppgiften är klar kommer plattformen att skicka de genererade resultaten i POST JSON-format till `callback_url`, där resultatet också innehåller `task_id` för att möjliggöra koppling.

```json theme={null}
{
  "task_id": "f7096c6c-9430-4392-8201-d259632d7afd"
}
```

När uppgiften är klar, är innehållet som plattformen skickar till `callback_url` som följer:

```json theme={null}
{
  "success": true,
  "task_id": "f7096c6c-9430-4392-8201-d259632d7afd",
  "trace_id": "4a4a3721-00fb-43d2-aff2-3b516ac01a8a",
  "data": {
    "task_id": "cgt-20251222073134-54qcw",
    "status": "succeeded",
    "video_url": "https://platform.cdn.xhuoapi.ai/seedance/95f9f5f0-fc50-4c71-bc6f-e154582c141e.mp4",
    "model": "doubao-seedance-1-0-pro-250528"
  }
}
```

Fältet `task_id` i resultatet är detsamma som det som returnerades vid begäran, och genom detta fält kan uppgiften kopplas.

## Felhantering

När du anropar API:t, om du stöter på fel, kommer API:t att returnera motsvarande felkod och information. Till exempel:

* `400 token_mismatched`: Felaktig begäran, troligen på grund av saknade eller ogiltiga parametrar.
* `400 api_not_implemented`: Felaktig begäran, troligen 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.

### 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 SeeDance Videos Generation API för att generera video genom att ange promptord och referensbilder. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda API:t. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.
