Siirry dokumentaatioon
Tällä sivulla

Dokumentaatio

Kehitä Seevio API:lla

Lisää videontuotanto osaksi tuotettasi. Valitse malli, lähetä pyyntö ja nouda tulos kyselyiden (polling) tai webhookin avulla.

Valitse malli

Jokainen mallikohtainen viite sisältää kattavat parametrit, hinnoittelutiedot ja esimerkit. Voit viedä integraation loppuun suoraan yksittäisen mallin sivulta.

Autentikointi

Luo API-avain hallintapaneelissa. Täydellinen avain näytetään vain kerran. Säilytä se turvallisesti palvelimellasi ja lähetä se Bearer-tokenina jokaisen pyynnön yhteydessä.

Perus-URL

https://api.seevio.ai
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json

Aseta SEEVIO_API_KEY-ympäristömuuttuja ennen näiden esimerkkien suorittamista. JavaScript-esimerkit ajetaan palvelimellasi Node.js-ympäristössä; Python-esimerkeissä käytetään requests-kirjastoa.

Pika-aloitus

Tämä esimerkki luo 5 sekunnin pituisen 720p-videon käyttäen Seedance 2.5 -mallia. Avaa mallikohtainen viite nähdäksesi kaikki luontitilat ja parametrirajat.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "text-to-video",
    "aspect_ratio": "16:9",
    "generate_audio": true
  }
}'

Esimerkki tehtävän luonnin vastauksesta

Kun yllä oleva pyyntö on hyväksytty, API palauttaa tämän JSON-vastauksen. taskId on tehtävätunniste, jota käytetään myöhemmissä tilakyselyissä; credits tarkoittaa tälle tehtävälle varattujen hyvitysten määrää. Tämä vastaus vahvistaa vain tehtävän luomisen, ei sitä, että video on valmis. Sinun on seurattava tehtävän tilaa kyselyillä tai käytettävä webhookia saadaksesi valmiin videon tulokset.

{
  "taskId": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "credits": 100
}

Tehtävän kysely

GET https://api.seevio.ai/v1/tasks/{taskId}

Korvaa esimerkkitunnus luonnin yhteydessä palautetulla taskId-tunnuksella. Kyselyt palauttavat vain ne tehtävät, jotka kuuluvat kyseisen API-avaimen käyttäjälle; tuntemattomat tunnukset palauttavat virheen HTTP 404.

Tee kyselyitä aluksi 10–20 sekunnin välein, hidasta tahtia, jos saat virheen HTTP 429, ja lopeta kyselyt, kun tilaksi vaihtuu completed tai failed. Suosi webhookeja tuotantoympäristössä. Jokainen alla oleva koodiesimerkki tekee yhden kyselyn.

curl --fail-with-body https://api.seevio.ai/v1/tasks/3f2aK9mR7xQp4TnZ8bLc6YwH \
  -H "Authorization: Bearer $SEEVIO_API_KEY"
TilaKuvaus ja rajoitukset
queuedHyväksytty ja odottaa käsittelyä jonossa.
generatingVideon luominen on käynnissä.
completedValmis (onnistunut). Lataa tulokset osoitteesta data.results ennen niiden vanhenemista.
failedValmis (epäonnistunut). Tarkista kentät failed_reason ja billing_status.
KenttäTyyppiKuvaus ja rajoitukset
idstring
Tehtävän tunniste. Vastaa luontivastauksen kenttää taskId.
created_atnumber
Tehtävän luontiaika Unix-aikana (sekunteina).
modelstring
Tässä tehtävässä käytetty julkinen mallitunnus.
billing_statusstring
reserved, charged, refunded tai refund_failed.
creditsnumber
Tehtävälle varatut krediitit. Tämä arvo säilyy hyvityksen jälkeen; tarkista lopullinen laskutustulos kentästä billing_status.
failed_reasonstring | null
Epäonnistumisen syy virheellisissä tehtävissä; muuten null. Epäonnistuneiden tehtävien kyselyvastauksista puuttuu data-kenttä.
dataobject
Mukana onnistuneissa tehtäväkyselyissä. Sisältää valmiin tiedoston tiedot ja käsittelytiedot.
data.resultsstring[]
Videolinkkien taulukko. Tyhjä, kunnes tehtävä valmistuu tai jos video on jo vanhentunut.
data.video_expires_atstring | null
Videon vanhenemisaika ISO 8601 -muodossa, tai null ennen kuin se on saatavilla. Tallenna valmis video ennen tätä ajankohtaa.
data.last_frame_urlstring | null
Viimeisen kehyksen URL-osoite, jos sitä on pyydetty ja se on saatavilla; muuten null.
data.processing_timenumber | null
Palveluntarjoajan käsittelyaika sekunteina, jos saatavilla; muuten null.

Valmis tehtävä: kyselyn vastaus videotuloksilla

Kun kysely palauttaa arvon status=completed, videon luonti on päättynyt. Löydät videoiden URL-osoitteet kohdasta data.results. Lataa videot ennen kohdassa data.video_expires_at ilmoitettua ajankohtaa. Tila billing_status=charged osoittaa, että varatut krediitit on veloitettu.

{
  "id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "created_at": 1788652800,
  "model": "seedance-2-5",
  "status": "completed",
  "billing_status": "charged",
  "credits": 100,
  "failed_reason": null,
  "data": {
    "results": [
      "https://cdn.seevio.ai/api/videos/example.mp4"
    ],
    "video_expires_at": "2026-09-07T00:00:00Z",
    "last_frame_url": null,
    "processing_time": 48
  }
}

Epäonnistunut tehtävä: kyselyn vastaus virhe- ja veloitustiedoilla

Kun kysely palauttaa arvon status=failed, luonti on epäonnistunut. Kohdasta failed_reason näet virheen syyn ja kohdasta billing_status hyvityksen tilanteen. Tässä esimerkissä tila refunded tarkoittaa, että krediitit on palautettu. credits-kentässä näkyy alkuperäinen varattu määrä, eikä vastaus sisällä data-kenttää.

{
  "id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "created_at": 1788652800,
  "model": "seedance-2-5",
  "status": "failed",
  "billing_status": "refunded",
  "credits": 100,
  "failed_reason": "provider_failed"
}

Webhookit

Tuotantotason integraatioissa ilmoita callback_url-osoite tehtävää luotaessa. Jokainen malliviite sisältää esimerkit webhook-tietosisällöstä ja vastaanottimesta.

Aseta callback_url-osoite luontipyyntöön vastaanottaaksesi JSON-muotoisen POST-kutsun, kun tehtävä valmistuu tai epäonnistuu. Palauta 2xx-vastaus 15 sekunnin kuluessa. Epäonnistuneita lähetyksiä yritetään uudelleen; käsittele toistuvat kutsut idempotentisti tehtävätunnuksen (task ID) perusteella.

Takaisinkutsun päätepisteen on hyväksyttävä POST-pyyntöjä, joiden runko on JSON-muotoinen (Content-Type: application/json).

Luo tehtävä webhook-paluukutsulla

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "text-to-video",
    "aspect_ratio": "16:9",
    "generate_audio": true
  },
  "callback_url": "https://example.com/webhooks/seevio"
}'

Webhook-tietosisältö eroaa tehtäväkyselyn vastauksesta: siitä puuttuvat kentät billing_status ja credits; epäonnistumisen tiedot ovat kentissä data.failed_reason ja data.credits_refunded. Webhookin created_at ilmoittaa tapahtuman luontiajan Unix-sekunteina.

Tehtävä valmis: onnistuneen kutsun hyötykuorma

Kun luonti onnistuu, takaisinkutsu sisältää arvon status=completed. Tunnista tehtävä id-kentän avulla ja hae videon URL-osoitteet kohdasta data.results. Lataa ja tallenna tulokset ennen kohdassa data.video_expires_at ilmoitettua ajankohtaa.

{
  "id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "created_at": 1788652800,
  "model": "seedance-2-5",
  "status": "completed",
  "data": {
    "results": [
      "https://cdn.seevio.ai/api/videos/example.mp4"
    ],
    "video_expires_at": "2026-09-07T00:00:00Z",
    "last_frame_url": null,
    "processing_time": 48
  }
}

Tehtävä epäonnistui: epäonnistuneen kutsun hyötykuorma

Jos luonti epäonnistuu, takaisinkutsu sisältää arvon status=failed. Tunnista tehtävä id-kentän avulla. Kohdasta data.failed_reason näet virheen syyn ja kohdasta data.credits_refunded palautettujen krediittien määrän.

{
  "id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "created_at": 1788652800,
  "model": "seedance-2-5",
  "status": "failed",
  "data": {
    "failed_reason": "provider_failed",
    "credits_refunded": 100
  }
}

Esimerkki vastaanottimesta

export async function POST(request: Request) {
  const callbackData = await request.json();

  if (callbackData.status === "completed") {
    const videoUrls = callbackData.data.results;
    // Save the video URLs and mark this task as completed in your application.
    console.log(callbackData.id, videoUrls);
  }

  if (callbackData.status === "failed") {
    const { failed_reason, credits_refunded } = callbackData.data;
    // Record the failure reason and refunded credits for this task.
    console.error(callbackData.id, failed_reason, credits_refunded);
  }

  return new Response(null, { status: 200 });
}

Tässä Next.js-esimerkissä luetaan JSON-muotoinen takaisinkutsun runko ja käsitellään onnistuneet sekä epäonnistuneet tehtävät suoraan. Lisää sovellukseesi tiedon säilytys ja tehtävätunnusten (task-ID) duplikaattien poisto. Aseta hitaat työt jonoon ennen takaisinkutsun kuittaamista.

Virheet

HTTP-virheiden yhteydessä palautetaan error-objekti, jossa on kentät code ja message. Onnistuneesti vastaanotettu tehtävä voi silti epäonnistua myöhemmin; tee tehtäväkysely tai käsittele epäonnistumisesta tuleva webhook-kutsu.

{
  "error": {
    "code": "invalid_request",
    "message": "input.prompt is required."
  }
}
HTTPKenttäToimenpide
400invalid_request
Korjaa JSON-rakenne, puuttuva prompt-syöte, parametrien arvot tai median URL-osoite ennen uutta yritystä.
401invalid_api_key
Tarkista Bearer-token ja varmista, että API-avain on aktiivinen.
402insufficient_credits
Lisää krediittejä tai pienennä tehtävän kulua. Vastaus voi sisältää tiedon vaaditusta ja käytettävissä olevasta krediittimäärästä.
403forbidden
Tarkista virheilmoituksessa mainittu tilitasoinen rajoitus.
404not_found
Tarkista tehtävätunnus (task ID) ja varmista, että API-avain kuuluu tehtävän luoneelle käyttäjälle.
429rate_limited
Odota Retry-After-otsikossa määritetty aika ennen kuin yrität uudelleen.
500internal_error
Tarkista virheilmoitus ja API-logit. Yritä uudelleen harkiten; uuden luontipyynnön lähettäminen voi luoda uuden veloitettavan tehtävän.