🔥 Launch sale: 30% off Pro
🔥 Launch sale: Pro for $279

DocsVidNext API

Results

Video status and progress, the finished video and its thumbnails, downloads, YouTube text, listing, canceling and deleting.

GET /v1/videos/{id} (MCP: get_video) returns the video:

{
  "id": "vid_…",
  "object": "video",
  "status": "completed",
  "progress": 100,
  "queue_position": null,
  "blocked": null,
  "settings_used": { "preset": { "id": "…", "name": "Documentary EN" }, "format": "landscape", "language": "uk", "theme": { "id": "…", "mode": null, "level": "pro" }, "thumbnails": true },
  "label": "batch-21",
  "metadata": { "row": 42 },
  "member": { "email": "olena@company.com" },
  "dashboard_url": "https://vidnext.ai/project/…",
  "result": {
    "download_url": "https://api.vidnext.ai/v1/videos/vid_…/download",
    "video_url": "https://…",
    "video_url_expires_at": "…",
    "duration_seconds": 482,
    "thumbnails_status": "completed",
    "thumbnails": [{ "id": "…", "url": "https://…", "aspect_ratio": "16:9", "variant": 0 }]
  },
  "cost": { "billing": "per_minute", "estimated_credits": 2400, "charged_credits": 2280 },
  "error": null
}

Statuses

statusMeans
queuedWaiting for a free slot (queue_position), or blocked with a reason
processingBeing made — progress 0–99 and a stage
completedReady — result is filled
failedStopped — error.code and error.message say why
canceledCanceled before it started

More statuses may be added; treat unknown ones as "not finished". stage is informational and may change.

Prefer webhooks to asking repeatedly. If you do poll, once a minute is plenty — a video takes 30–60 minutes.

The finished video

  • GET /v1/videos/{id}/download redirects (302) to a fresh link to the MP4. result.video_url is the same link, valid for 6 hours — ask again for a new one.
  • GET /v1/videos/{id}/thumbnails — the thumbnails.
  • GET /v1/videos/{id}/youtube-metadata — titles, a description and tags for YouTube, made on first ask.
  • dashboard_url opens the video in VidNext, where you can edit it or redo a step.

Lists

GET /v1/videos (MCP: list_videos) — your videos, newest first. Filters: status, label, member, source (api, mcp, batch), created_after, created_before; limit up to 100 and cursor (the next_cursor of the previous page).

Deleting

DELETE /v1/videos/{id} (MCP: delete_video) deletes a finished video the API made, with its files — it frees your storage. Videos people made in the app can't be deleted this way, and a video still being made answers 409 video_not_finished. A key's Delete finished videos after (days) setting does this automatically for that key's videos.