Skip to content

feat(amux): add Doubao-Seedance video provider (async media proxy)#12

Merged
duanbing merged 1 commit into
mainfrom
feat/amux-seedance
Jun 18, 2026
Merged

feat(amux): add Doubao-Seedance video provider (async media proxy)#12
duanbing merged 1 commit into
mainfrom
feat/amux-seedance

Conversation

@duanbing

Copy link
Copy Markdown

Adds a new amux media provider so RouterBase can route ByteDance Doubao-Seedance 2.0 video through the gateway, mirroring the existing Novita media-proxy path.

What

  • tensorzero-core/src/providers/amux.rsAmuxProvider::infer_media_proxy: submit to amux's universal POST /v1/video/generations, poll GET /v1/video/generations/{task_id} until completed (root url) or failed (error.message), then fire the RouterBase media callback. AmuxRequestShape covers seedance2_text_to_video and seedance2_image_to_video (builds the universal {model, prompt, image?, seconds?, metadata{ratio,resolution,seed,…}} body). Auth via AMUX_API_KEY / AMUX_API_BASE (default https://api.amux.ai).
  • variant/media.rs — new MediaProxyConfig::Amux arm (provider tag amux) wired into infer + validate.
  • providers/mod.rs — register the module.

Structurally a close mirror of providers/novita.rs; the difference is amux's universal endpoints are fixed (model id rides in the request body via proxy.path) rather than Novita's per-model async/{model} URL path.

Verification

  • cargo check -p tensorzero-core ✓, cargo clippy -p tensorzero-core ✓ (amux.rs: 0 warnings), cargo fmt ✓.

Consumer

RouterBase parent PR: routes source='amux' / proxy.provider="amux" variants here (regenerated tensorzero.toml), seeds the Seedance models, and ships user docs.

🤖 Generated with Claude Code

New `amux` provider mirroring the Novita media proxy: submit to amux's
universal `POST /v1/video/generations`, poll `GET /v1/video/generations/{id}`
until completed (root `url`) or failed (`error.message`). AmuxRequestShape
covers seedance2 text-to-video and image-to-video. Wired into
MediaProxyConfig (provider = "amux"). Auth via AMUX_API_KEY / AMUX_API_BASE.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the Contributor License Agreement (CLA) and hereby sign the CLA.


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@duanbing duanbing merged commit 1e9dc55 into main Jun 18, 2026
6 of 7 checks passed
@duanbing duanbing deleted the feat/amux-seedance branch June 18, 2026 13:20
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.

1 participant