Skip to content

feat: add @ai-sdk/bytedance provider for Seedance video generation#12044

Closed
benyebai wants to merge 5 commits intomainfrom
feat/bytedance-video-models
Closed

feat: add @ai-sdk/bytedance provider for Seedance video generation#12044
benyebai wants to merge 5 commits intomainfrom
feat/bytedance-video-models

Conversation

@benyebai
Copy link
Copy Markdown
Contributor

Background

ByteDance offers Seedance video generation models through the BytePlus/ModelArk API. This PR adds support for these models via a new @ai-sdk/bytedance provider package, enabling users to generate videos using experimental_generateVideo.

Summary

  • Added new @ai-sdk/bytedance provider package
  • Implements VideoModelV3 interface with async polling pattern
  • Supports text-to-video and image-to-video generation
  • Maps standard SDK options: prompt, aspectRatio, duration, seed, resolution
  • Provider-specific options: watermark, generateAudio, pollIntervalMs, pollTimeoutMs
  • Added example usage in examples/ai-functions/src/generate-video/bytedance-seedance.ts

Manual Verification

Tested end-to-end video generation with the Seedance 1.5 Pro model:

const { video } = await experimental_generateVideo({
  model: byteDance.video('ep-20260125152958-7c9gf'),
  prompt: 'A cute cat playing with a ball of yarn',
  aspectRatio: '16:9',
  duration: 5,
});

Successfully generated and downloaded a 4.85 MB video file.

Checklist

- Tests have been added / updated (for bug fixes / features)
- Documentation has been added / updated (for bug fixes / features)
- A patch changeset for relevant packages has been added (for bug fixes / features - run pnpm changeset in the project root)
- I have reviewed this pull request (self-review)

Future Work

- Add unit tests with mocked API responses
- Add documentation page for ByteDance provider
- Support additional Seedance model features as API evolves

shaper and others added 3 commits January 21, 2026 15:36
## Background

Vertex AI video generation was broken - the operation polling URL was
incorrect, causing all video generation requests to fail after the
initial request succeeded.

  ## Summary

- Fixed polling to use `POST /models/{modelId}:fetchPredictOperation`
with `{ operationName }` in body
  - Previously used `GET /v1beta1/{operationName}` which returned 404
- Moved `vertex-veo.ts` example out of `later/` folder and removed "NOT
WORKING" warning

  ## Manual Verification

- Ran `pnpm tsx src/generate-video/vertex-veo.ts` and confirmed video
generation polling now works

  ## Checklist

  - [x] Tests have been added / updated (for bug fixes / features)
  - [x] I have reviewed this pull request (self-review)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Add new provider package for ByteDance/Seedance video models via BytePlus API.
Supports text-to-video and image-to-video with async polling.
content.push({
type: 'image_url',
image_url: { url: firstFile.url },
});
Copy link
Copy Markdown
Contributor

@vercel vercel bot Jan 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ByteDance video model uses Node.js-specific Buffer.from() API which is unavailable in edge runtime environments.

Fix on Vercel

@shaper shaper force-pushed the 01-19-feat_experimental_generatevideo branch 5 times, most recently from 5a3dd3a to eb96b14 Compare January 31, 2026 09:55
@abdielmaleakhi
Copy link
Copy Markdown

Coincidentally, we're discussing video generation. Perhaps you could use my video-generation code to integrate it with the new AI SDK generate video function. That code already includes providers for ByteDance, Alibaba/Wan, Minimax with duration, resolution, and aspectRatio parameters.
generate-video-api.js

@shaper shaper force-pushed the 01-19-feat_experimental_generatevideo branch 3 times, most recently from b17df0c to cda3667 Compare February 1, 2026 06:33
Base automatically changed from 01-19-feat_experimental_generatevideo to main February 1, 2026 06:41
@shaper
Copy link
Copy Markdown
Collaborator

shaper commented Feb 1, 2026

Continuing work in #12188

@shaper shaper closed this Feb 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants