Skip to content

Commit 72018e0

Browse files
steebchenclaude
andcommitted
fix(video): correct seedance 2.0 mini 480p pricing
Seedance 2.0 Mini natively supports 480p and 720p, and 480p costs half the 720p rate (3 vs 6 credits/sec). Add explicit 480p_ perSecondPrice keys at $0.0378/s and route 480p requests to the upstream resolution=480p instead of silently upscaling them to 720p. Verified end-to-end: an 848x480 request now returns a genuine ~480p clip (was 1280x720). Also split the Mini docs rows to reflect its real 480p/720p sizes and 4-15s durations. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent b20feb9 commit 72018e0

3 files changed

Lines changed: 18 additions & 10 deletions

File tree

apps/docs/content/features/video-generation.mdx

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ LLMGateway supports asynchronous video generation through an OpenAI-compatible `
1313
Currently available models:
1414

1515
- **Veo 3.1** through `avalanche` (1080p, 4k) and `google-vertex` (720p, 1080p, 4k)
16-
- **Seedance 2.0**, **Seedance 2.0 Fast**, **Seedance 2.0 Mini**, and **Seedance 1.5 Pro** through `bytedance` (720p, 1080p)
16+
- **Seedance 2.0**, **Seedance 2.0 Fast**, and **Seedance 1.5 Pro** through `bytedance` (720p, 1080p)
17+
- **Seedance 2.0 Mini** through `bytedance` (480p, 720p)
1718
- **KLING v3.0** and **KLING v3.0 Turbo** through `atlascloud` (720p, 1080p; KLING v3.0 also 4k)
1819

1920
You can find the current list of video-capable models on our [models page with the video filter enabled](https://llmgateway.io/models?filters=1&videoGeneration=true) or programmatically through the [/v1/models endpoint](/v1_models).
@@ -49,13 +50,14 @@ LLMGateway currently supports a focused subset of the OpenAI video API.
4950

5051
### Sizes and durations by model
5152

52-
| Model family | Provider | Supported sizes | Supported durations |
53-
| -------------------------------------------- | --------------- | -------------------------------------------------------------------------- | ------------------- |
54-
| Veo 3.1 | `google-vertex` | `1280x720`, `720x1280`, `1920x1080`, `1080x1920`, `3840x2160`, `2160x3840` | `4`, `6`, `8`, `10` |
55-
| Veo 3.1 | `avalanche` | `1920x1080`, `1080x1920`, `3840x2160`, `2160x3840` | `8` |
56-
| Seedance 2.0 / 2.0 Fast / 2.0 Mini / 1.5 Pro | `bytedance` | `1280x720`, `720x1280`, `1920x1080`, `1080x1920` | `5`, `10` |
57-
| KLING v3.0 | `atlascloud` | `1280x720`, `720x1280`, `1920x1080`, `1080x1920`, `3840x2160`, `2160x3840` | `5`, `10` |
58-
| KLING v3.0 Turbo | `atlascloud` | `1280x720`, `720x1280`, `1920x1080`, `1080x1920` | `5`, `10` |
53+
| Model family | Provider | Supported sizes | Supported durations |
54+
| --------------------------------- | --------------- | -------------------------------------------------------------------------- | ------------------- |
55+
| Veo 3.1 | `google-vertex` | `1280x720`, `720x1280`, `1920x1080`, `1080x1920`, `3840x2160`, `2160x3840` | `4`, `6`, `8`, `10` |
56+
| Veo 3.1 | `avalanche` | `1920x1080`, `1080x1920`, `3840x2160`, `2160x3840` | `8` |
57+
| Seedance 2.0 / 2.0 Fast / 1.5 Pro | `bytedance` | `1280x720`, `720x1280`, `1920x1080`, `1080x1920` | `5`, `10` |
58+
| Seedance 2.0 Mini | `bytedance` | `1280x720`, `720x1280`, `848x480`, `854x480`, `480x854` | `4``15` |
59+
| KLING v3.0 | `atlascloud` | `1280x720`, `720x1280`, `1920x1080`, `1080x1920`, `3840x2160`, `2160x3840` | `5`, `10` |
60+
| KLING v3.0 Turbo | `atlascloud` | `1280x720`, `720x1280`, `1920x1080`, `1080x1920` | `5`, `10` |
5961

6062
Requests return `400` when the selected provider cannot serve the requested `size` or `seconds`. Seedance and KLING v3.0 derive `aspect_ratio` from the requested `size` (16:9 for landscape, 9:16 for portrait).
6163

@@ -225,7 +227,7 @@ Seedance (ByteDance):
225227
| `seedance-2-0` | `bytedance` | 1080p | `$0.3402 / second` | `$0.3402 / second` |
226228
| `seedance-2-0-fast` | `bytedance` | 720p | `$0.121 / second` | `$0.121 / second` |
227229
| `seedance-2-0-fast` | `bytedance` | 1080p | `$0.2722 / second` | `$0.2722 / second` |
228-
| `seedance-2-0-mini` | `bytedance` | 480p | `$0.0756 / second` | `$0.0756 / second` |
230+
| `seedance-2-0-mini` | `bytedance` | 480p | `$0.0378 / second` | `$0.0378 / second` |
229231
| `seedance-2-0-mini` | `bytedance` | 720p | `$0.0756 / second` | `$0.0756 / second` |
230232
| `seedance-1-5-pro` | `bytedance` | 720p | `$0.05184 / second` | `$0.02592 / second` |
231233
| `seedance-1-5-pro` | `bytedance` | 1080p | `$0.1166 / second` | `$0.05832 / second` |

apps/gateway/src/videos/videos.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3554,7 +3554,11 @@ async function createBytedanceVideoJob(
35543554

35553555
if (isDreaminaModel) {
35563556
upstreamRequest.resolution =
3557-
videoSize.resolution === "1080p" ? "1080p" : "720p";
3557+
videoSize.resolution === "1080p"
3558+
? "1080p"
3559+
: videoSize.resolution === "480p"
3560+
? "480p"
3561+
: "720p";
35583562
}
35593563

35603564
const upstreamUrl = joinUrl(

packages/models/src/models/bytedance.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,8 @@ export const bytedanceModels = [
218218
perSecondPrice: {
219219
default_audio: "0.0756",
220220
default_video: "0.0756",
221+
"480p_audio": "0.0378",
222+
"480p_video": "0.0378",
221223
},
222224
contextSize: 2000,
223225
maxOutput: 1,

0 commit comments

Comments
 (0)