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

# Wan Videos Generation API Integrationsbeskrivning

> Tongyi Wansiang Video Generation 集成指南 - XHuoAPI

Detta dokument kommer att introducera en Wan Videos Generation API integrationsbeskrivning, som kan generera officiella videor av Tongyi Wanxiang genom att ange anpassade parametrar.

## Ansökningsprocess

För att använda API:et måste du först gå till [Wan Videos Generation API](https://api.xhuoapi.ai/documents/52b0f490-1bbf-4fe5-b60e-96626d333d2c) motsvarande sida för att ansöka om den tjänst som behövs. När du kommer till sidan, klicka på "Acquire"-knappen, 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 för 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 kan användas för att gratis använda detta API.

## Grundläggande användning

Först och främst, förstå den grundläggande användningsmetoden, vilket innebär att ange prompt `prompt`, genereringsåtgärd `action`, första bildreferensbild `image_url` samt modell `model`, för att få det bearbetade resultatet. Först behöver vi enkelt överföra ett `action`-fält, vars värde är `text2video`. Det innehåller huvudsakligen två typer av åtgärder: text till video (`text2video`), bild till video (`image2video`). Sedan behöver vi också ange modellen `model`, som för närvarande huvudsakligen inkluderar `wan2.6-i2v`, `wan2.6-r2v`, `wan2.6-i2v-flash`, `wan2.6-t2v`, med specifikt innehåll som följer:

<p>
  <img src="https://cdn.xhuoapi.ai/03gqdz.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 vi 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, huvudsakligen `wan2.6-i2v`, `wan2.6-r2v`, `wan2.6-i2v-flash`, `wan2.6-t2v`.
* `action`: åtgärden för denna videogenereringsuppgift, som huvudsakligen innehåller tre typer av åtgärder: text till video (`text2video`), bild till video (`image2video`). När det är text till video stöds för närvarande endast modellen `wan2.6-t2v`, och när det är bild till video stöds för närvarande modellerna `wan2.6-i2v`, `wan2.6-r2v`, `wan2.6-i2v-flash`.
* `image_url`: när bild till video-åtgärden `image2video` väljs måste en länk till den första bildreferensbilden laddas upp, för närvarande stöds endast modellerna `wan2.6-i2v`, `wan2.6-i2v-flash`.
* `reference_video_urls`: valfritt vid bild till video, anger referensvideolänkar för generering, för närvarande stöds endast modellen `wan2.6-r2v`.
* `size`: anger upplösningen för den genererade videon, formatet är bredd\*höjd. Standardvärdet och tillgängliga enum-värden beror på model-parametern, specifika regler kan refereras till [officiell dokumentation](https://modelstudio.console.alibabacloud.com/ap-southeast-1/?tab=api#/api/?type=model\&url=2865250).
* `duration`: längden på den genererade videon, stöder huvudsakligen 5, 10, 15.
* `shot_type`: valfritt, anger typen av videoklipp som ska genereras, det vill säga om videon består av ett kontinuerligt klipp eller flera växlingsklipp. Gäller endast när "prompt\_extend": true. Parameterprioritet: shot\_type > prompt. Till exempel, om shot\_type sätts till "single", kommer modellen fortfarande att producera en enkelklippvideo även om prompten innehåller "generera flervideoklipp", specifika regler kan refereras till [officiell dokumentation](https://modelstudio.console.alibabacloud.com/ap-southeast-1/?tab=api#/api/?type=model\&url=2865250).
* `negative_prompt`: valfritt, omvända promptord, används för att beskriva innehåll som inte önskas i videobilden, kan begränsa videobilden. Stöder både kinesiska och engelska, längden får inte överstiga 500 tecken, överskjutande del kommer automatiskt att trunkeras. Exempelvärden: låg upplösning, fel, sämsta kvalitet, låg kvalitet, bristfällig, överflödiga fingrar, dålig proportion etc.
* `resolution`: anger nivån för den genererade videons upplösning, används för att justera videons skärpa (totala pixlar). Modellen kommer att automatiskt skala till nära totala pixlar baserat på den valda upplösningsnivån, videons bildförhållande kommer att försöka hålla sig i linje med bildförhållandet för den inmatade bilden img\_url, mer information finns i [officiell dokumentation](https://modelstudio.console.alibabacloud.com/ap-southeast-1/?tab=api#/api/?type=model\&url=2867393).
* `audio_url`: URL för ljudfilen, modellen kommer att använda detta ljud för att generera videon. Användningsmetod refereras till [officiell dokumentation](https://modelstudio.console.alibabacloud.com/ap-southeast-1/?tab=api#/api/?type=model\&url=2867393).
* `audio`: om en ljudvideo ska genereras. Parameterprioritet: audio > audio\_url. När audio=false, även om audio\_url anges, kommer utdata fortfarande att vara en ljudlös video, och debiteringen beräknas som en ljudlös video, standardvärdet är true.
* `prompt_extend`: om prompt intelligent omskrivning ska aktiveras. När det är aktiverat används en stor modell för att intelligent omskriva den inmatade prompten. För kortare promptar förbättras genereringseffekten avsevärt, men det kommer att öka tiden, standardvärdet är true.
* `prompt`: promptord.
* `callback_url`: URL för att få tillbaka resultatet.

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

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

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

```json theme={null}
{
  "success": true,
  "video_url": "https://dashscope-result-sh.oss-accelerate.aliyuncs.com/1d/db/20260124/da477ba2/0d2042f9-ba8d-496d-8ab5-182617e28f9e.mp4?Expires=1769349278&OSSAccessKeyId=LTAI5tKPD3TMqf2Lna1fASuh&Signature=SjBa4wRcDVx3SSYu/x7BYCFQk0s=",
  "state": "completed",
  "task_id": "a4bca552-d964-46a1-8ff7-fd922f916582"
}
```

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

* `success`, statusen för videogenereringsuppgiften.
* `task_id`, ID för videogenereringsuppgiften.
* `video_url`, videolänken för videogenereringsuppgiften.
* `state`, statusen för videogenereringsuppgiften.

Vi kan se att vi har fått tillfredsställande videoinformation, vi behöver bara hämta den genererade Tongyi Wanxiang-videon baserat på videolänken `video_url` i resultatet.

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

```shell theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/wan/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "text2video",
  "model": "wan2.6-t2v",
  "prompt": "Astronauts shuttle from space to volcano",
  "duration": 5
}'
```

## Bild till video-funktion

Om du vill generera en video baserat på en referensbild eller referensvideo kan du ställa in parametern `action` till `image2video`, och ange länken till den referensbild eller referensvideo som behövs. Nästa steg är att fylla i de promptord som behövs för att anpassa den genererade videon, och du kan specificera följande innehåll:

* `model`: Modellen för att generera videon, huvudsakligen `wan2.6-i2v`, `wan2.6-r2v`, `wan2.6-i2v-flash`, `wan2.6-t2v`.
* `image_url`: När du väljer att generera video från bild `image2video` måste du ladda upp länken till den första referensbilden, för närvarande stöds endast modellerna `wan2.6-i2v`, `wan2.6-i2v-flash`.
* `reference_video_urls`: Valfritt när du genererar video från bild, specificera länken till referensvideon för att generera, för närvarande stöds endast modellen `wan2.6-r2v`.
* `prompt`: Promptord.

Exempel på ifyllning:

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

När du har fyllt i det genereras automatiskt koden nedan:

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

Motsvarande Python-kod:

```python theme={null}
import requests

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

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

payload = {
    "action": "image2video",
    "model": "wan2.6-i2v",
    "prompt": "Astronauts shuttle from space to volcano",
    "duration": 5,
    "image_url": "https://cdn.xhuoapi.ai/r9vsv9.png",
    "callback_url": "https://www.baidu.com/"
}

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

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

```json theme={null}
{
  "success": true,
  "video_url": "https://dashscope-result-sh.oss-accelerate.aliyuncs.com/1d/db/20260124/da477ba2/0d2042f9-ba8d-496d-8ab5-182617e28f9e.mp4?Expires=1769349278&OSSAccessKeyId=LTAI5tKPD3TMqf2Lna1fASuh&Signature=SjBa4wRcDVx3SSYu/x7BYCFQk0s=",
  "state": "completed",
  "task_id": "a4bca552-d964-46a1-8ff7-fd922f916582"
}
```

Det kan ses att resultatinnehållet är i linje med ovanstående, vilket också uppnår videoutvidgningsfunktionen.

## Asynkron callback

Eftersom Wan Videos 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. Därför erbjuder denna API också stöd för asynkron callback.

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 uppdragets ID. När uppdraget är slutfört kommer resultatet av den genererade videon att skickas till klientens angivna `callback_url` i POST JSON-format, vilket också inkluderar `task_id`-fältet, så att uppdragets resultat kan kopplas samman med ID.

Låt oss förstå hur man gör detta genom ett exempel.

Först är Webhook-callback en tjänst som kan ta emot HTTP-förfrågningar, utvecklare bör ersätta med URL:en till sin egen byggda HTTP-server. Här för att underlätta demonstration använder vi en offentlig Webhook-exempelsida [https://webhook.site/](https://webhook.site/), öppna denna webbplats för att få en Webhook-URL, som visas i bilden:

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

Kopiera denna URL så kan den användas som Webhook, exemplet här är `https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3`.

Därefter kan vi ställa in fältet `callback_url` till ovanstående Webhook-URL, samtidigt som vi fyller i motsvarande parametrar, det specifika innehållet visas i bilden:

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

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

```
{
  "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
```

Vänta en stund, så kan vi observera resultatet av den genererade videon på `https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3`, som visas i bilden:

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

Innehållet är som följer:

```json theme={null}
{
  "success": true,
  "video_url": "https://dashscope-result-sh.oss-accelerate.aliyuncs.com/1d/db/20260124/da477ba2/0d2042f9-ba8d-496d-8ab5-182617e28f9e.mp4?Expires=1769349278&OSSAccessKeyId=LTAI5tKPD3TMqf2Lna1fASuh&Signature=SjBa4wRcDVx3SSYu/x7BYCFQk0s=",
  "state": "completed",
  "task_id": "a4bca552-d964-46a1-8ff7-fd922f916582"
}
```

Det kan ses att resultatet innehåller ett `task_id`-fält, och de andra fälten liknar de ovan, genom detta fält kan uppdraget 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`: Bad request, möjligtvis på grund av saknade eller ogiltiga parametrar.
* `400 api_not_implemented`: Bad request, möjligtvis på grund av saknade eller ogiltiga parametrar.
* `401 invalid_token`: Obehörig, 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": "fetch failed"
  },
  "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 Wan Videos Generation API för att generera videor genom att ange promptord och en referensbild som första bild. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda denna API. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.
