Hopp til hovedinnhold

Documentation Index

Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt

Use this file to discover all available pages before exploring further.

Bruk polling som grunnlag for videogenerering fordi hver async-jobb returnerer en task ID som du kan spørre etter. Legg til webhooks bare når det valgte video-endepunktet støtter callback-URL-er, og behold polling som sannhetskilden for manglende eller leverandørspesifikk levering av callbacks.

Opprett en video-task

Følgende forespørsel oppretter en minimal video-task og lagrer den returnerte ID-en. Legg til felter for varighet, oppløsning eller callback bare når siden for den valgte modellen dokumenterer disse feltene.
curl https://api.cometapi.com/v1/videos \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -F "model=doubao-seedance-2-0" \
  -F "prompt=A cinematic shot of a paper airplane crossing a desk"
Svaret inkluderer en task ID og status:
{
  "id": "task_example",
  "task_id": "task_example",
  "object": "video",
  "model": "doubao-seedance-2-0",
  "status": "queued",
  "progress": 0,
  "created_at": 1779872000
}

Sjekk status med polling

Følgende forespørsel sjekker status for video-tasken:
curl https://api.cometapi.com/v1/videos/task_example \
  -H "Authorization: Bearer $COMETAPI_KEY"
Svaret endrer seg etter hvert som tasken går fremover. Fullførte svar kan inkludere video_url når modelladapteren har en resultat-URL; ellers bruker du modellspesifikke resultatfelter eller innholdsruten /v1/videos/{id}/content når den modellen støtter proxied downloads.
{
  "id": "task_example",
  "object": "video",
  "model": "doubao-seedance-2-0",
  "status": "completed",
  "progress": 100,
  "completed_at": 1779872300,
  "video_url": "<generated-video-url>"
}

Motta en webhook

CometAPI definerer ikke ett universelt callback-payload for hver videomodell. Behandle callbacks som leverandørspesifikke pass-through-hendelser, lagre den rå body-en, og avstem endelig tilstand med polling. Følgende Express-handler godtar en video-callback og lagrer hendelsen:
import express from "express";

const app = express();
app.use(express.json({ limit: "2mb" }));

app.post("/cometapi/video-webhook", async (request, response) => {
  const event = request.body;

  console.log("Task ID:", event.task_id || event.id);
  console.log("Status:", event.status);

  response.status(200).json({ received: true });
});

app.listen(3000);
Et callback-payload inkluderer vanligvis task-identitet og statusfelter, men den nøyaktige strukturen avhenger av den valgte modellen eller leverandøren:
{
  "task_id": "task_example",
  "status": "completed",
  "progress": 100,
  "result": {
    "video_url": "https://example.com/result.mp4"
  }
}

Vanlige feil

FeilLøsning
Mistet callbackPoll med task ID til appen din har lagret en terminal tilstand.
Duplisert callbackGjør callback-håndtering idempotent etter task ID.
Callback avvistReturner raskt et 2xx-svar, og behandle deretter jobben i bakgrunnen.
Mismatch i leverandørspesifikt payloadLagre det rå callback-payloadet og normaliser det i appen din.
Manglende video_urlBehandle video_url som valgfri og bruk polling pluss modellspesifikke resultatfelter eller /v1/videos/{id}/content når tilgjengelig.

Relaterte lenker

Last modified on May 28, 2026