API

Seedance 2.0 API

Video

De Seedance 2.0 API genereert video’s van 4–15 seconden in 480p / 720p / 1080p / 4K uit tekst, begin-/eindbeelden of multimodale referenties. De referentiemodus accepteert maximaal 9 afbeeldingen, 3 video’s en 3 audiobestanden. Elke afbeelding mag maximaal 30 MB zijn.

Autorisaties

Bearerstringheaderverplicht

API-sleutel om requests te autoriseren

Body

application/json
modelstringverplicht
seedance-2-0
input.promptstringverplicht

Beschrijf onderwerp, actie, scène, belichting, camerabeweging en timing. Spaties aan het begin en einde worden verwijderd.

input.frames_imagesstring[]optioneel

Lijst met één of twee openbare HTTPS-afbeeldings-URL’s: beginbeeld en optioneel eindbeeld. Deze modus kan niet worden gecombineerd met reference_images, reference_videos of reference_audios.

Bij input.frames_images gebruikt Seedance 2.0 automatisch de beeldverhouding adaptive op basis van de aangeleverde beelden.

Maximumaantal URL’s: 2.

Maximale grootte per afbeelding: 30 MB.

Voorbeeld: ["https://example.com/first-frame.png","https://example.com/last-frame.png"]

input.reference_imagesstring[]optioneel

Lijst met openbare HTTPS-URL’s voor referentiebeelden. Te combineren met reference_videos en reference_audios, maar niet met frames_images. Verstuur URL-tekenreeksen, geen bestanden of base64.

Maximumaantal URL’s: 9.

Maximale grootte per afbeelding: 30 MB.

Voorbeeld: ["https://example.com/your-image.png"]

input.reference_videosstring[]optioneel

Lijst met openbare HTTPS-URL’s voor referentievideo’s. Niet combineren met frames_images. Video’s veranderen het creditverbruik; zie de bijbehorende tariefregel en formule.

Maximumaantal URL’s: 3.

Voorbeeld: ["https://example.com/your-video.mp4"]

input.reference_audiosstring[]optioneel

Lijst met openbare HTTPS-URL’s voor audioverwijzingen. Te combineren met andere reference_*-lijsten, maar niet met frames_images.

Maximumaantal URL’s: 3.

Voorbeeld: ["https://example.com/your-audio.mp3"]

input.durationintegeroptioneel

Videoduur in hele seconden, van 4 tot 15. Standaard: 5. Het creditverbruik hangt af van deze duur.

Standaard: 5

4–15
input.resolutionstringoptioneel

Videoresolutie. Gebruik een van de onderstaande waarden in kleine letters. De resolutie bepaalt het credittarief.

Standaard: 720p

480p720p1080p4k
input.aspect_ratiostringoptioneel

Verhouding tussen breedte en hoogte. Standaard: 16:9. Aangeleverde beelden kunnen de uiteindelijke compositie sturen.

Standaard: 16:9

16:99:161:13:44:321:9
input.soundbooleanoptioneel

Of er audio bij de video wordt gegenereerd. Standaard: false. Verstuur een JSON-boolean, geen tekenreeks.

Standaard: false

Voorbeeldaanvragen

Kies één modus: geen media voor tekst naar video; frames_images voor begin- en eindbeelden; of combineer reference_images, reference_videos en reference_audios voor referenties. frames_images mag niet met reference_*-medialijsten worden gecombineerd. Alle bronnen zijn lijsten met openbare HTTPS-URL’s, geen bestanden of base64. Vervang de example.com-URL’s. Bewaar data.task_id en controleer POST /api/v1/check tot completed of failed.

POST /api/v1/create
curl -X POST https://nanobanana.io/api/v1/create \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedance-2-0",
  "input": {
    "prompt": "Een rode oldtimer rijdt bij zonsondergang over een kustweg. De camera volgt soepel de zijkant van de auto terwijl warm licht op de oceaan weerkaatst.",
    "duration": 5,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "sound": false
  }
}'
POST /api/v1/create · HTTP 201
{
  "data": {
    "task_id": "task_example",
    "model": "seedance-2-0",
    "status": "processing",
    "credits": 750
  }
}

Poll dit endpoint met de geretourneerde taak-ID totdat de taak is voltooid of mislukt. We raden aan om elke 5 seconden te pollen om de nieuwste taakstatus te controleren.

POST /api/v1/check
{
  "task_id": "task_example"
}

Respons

Taakstatus geretourneerd door POST /api/v1/check. De onderstaande ID’s, URL’s en tijdstempels zijn voorbeelden.

idstringverplicht

Taakidentificatie in data.id, gelijk aan task_id in het statusverzoek.

statusstringverplicht
completed betekent dat de generatie is geslaagd en data.data de resultaten bevat. Bij andere statussen is data.data null.
failed_reasonstringoptioneel

Alleen geretourneerd wanneer status failed is, om de fout te verklaren. Dit veld ontbreekt bij completed en processing.

Voltooid · completed

Download-URL’s staan in data.data.results.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-0",
    "status": "completed",
    "data": {
      "results": [
        "https://example.com/generated.mp4"
      ],
      "processing_time": 120
    }
  }
}

Andere statussen

Bij processing of failed is data.data null. Dit voorbeeld toont failed: alleen failed bevat failed_reason. Blijf opvragen bij processing; stop bij failed.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-0",
    "status": "failed",
    "data": null,
    "failed_reason": "Generation failed."
  }
}

Creditverbruik

Credits per factureerbare seconde, per resolutie en referentievideomodus.

Credits per factureerbare seconde, per resolutie en referentievideomodus.
Generatie480P720P1080P4K
Zonder referentievideo’s80150400500
Met referentievideo’s4890240300

Elke aanvraag genereert één video. Zonder duur of resolutie gelden de standaardwaarden hierboven. Referentievideo’s kunnen meer credits kosten; gebruik de juiste regel en formule.

Kies de regel op basis van reference_videos. Totaal = gegenereerde videoseconden × tarief per seconde. Alleen afbeeldingen of audio gebruiken de regel zonder referentievideo’s.

Het veld credits in het antwoord van POST /api/v1/create toont de credits die voor de taak zijn afgeschreven.