Hoppa till huvudinnehåll
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 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 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:

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:

Klicka på knappen “Try” för att testa, som visas i bilden ovan, här fick vi följande resultat:
{
  "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.acedata.cloud/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:
curl -X POST 'https://api.acedata.cloud/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 parameterMotsvarande fältBeskrivningVärdeintervall
--rsresolutionUtmatningsupplösning480p / 720p / 1080p
--rtratioBildförhållande16:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9 / adaptive
--durdurationVideolängd (sekunder)2–12
--framesframesVideoramHeltal som uppfyller 25+4n i intervallet [29, 289]
--fpsframespersecondBildfrekvensEndast 24
--seedseedSlumptal-1 till 4294967295
--cfcamerafixedOm kameran ska vara fasttrue / false
--wmwatermarkOm vattenstämpel ska läggas tilltrue / 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:
{
  "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:
import requests

url = "https://api.acedata.cloud/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.acedata.cloud/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:
import requests

url = "https://api.acedata.cloud/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.acedata.cloud/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.
{
  "task_id": "f7096c6c-9430-4392-8201-d259632d7afd"
}
När uppgiften är klar, är innehållet som plattformen skickar till callback_url 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.acedata.cloud/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

{
  "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.