What’s new in the VideoGen API. Each entry below covers a single release window with breaking changes, new endpoints, fixes, and SDK updates.

  • Subscribe to releases via the RSS feed.
  • For machine-readable history, fetch each entry as Markdown by appending .md to its URL (for example, /changelog/2026/5/5.md).
  • For the complete documentation index, see /llms.txt.

Cursor pagination on every list endpoint

All collection-returning endpoints now use a uniform cursor-based pagination contract. Responses still include the original array field (no rename), so v1 SDKs and existing callers keep working unchanged. Pagination is additive: two new fields (hasMore, nextCursor) and two new query params (limit, cursor) per endpoint.

  • GET /v1/projects: now returns { projects, hasMore, nextCursor }. Accepts cursor alongside the existing limit (1-200, default 50) and selfOnly. Previously capped silently at 200; full history is now reachable by paging.
  • GET /v1/files: now returns { files, hasMore, nextCursor } and accepts limit (1-200, default 50) and cursor. Previously capped silently at 500.
  • GET /v1/resources/avatar-presenters and GET /v1/resources/tts-voices: now return hasMore / nextCursor and accept limit / cursor.
  • GET /v1/webhooks/endpoints: now returns hasMore / nextCursor and accepts limit / cursor.

Cursors are opaque strings. Pass nextCursor from one response back as the cursor query param on the next request, unmodified. A cursor is only valid for the endpoint that produced it; using one with a different endpoint returns a 400. Ordering is most-recently-updated first for /v1/projects and /v1/files.