Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/api-reference/models.md
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ Media prices below include the 5% media margin; the flat $0.001 transaction fee

### Video Generation

Seedance defaults to **720p with synced audio** for text-to-video; pass `resolution` / `generate_audio` to override. See [Video Generation API](video-generation.md).
Seedance defaults to **720p without audio**; pass `generate_audio: true` for a synced soundtrack (same price), or `resolution` to change the tier. See [Video Generation API](video-generation.md).

| Model ID | Name | Price (5s 720p default) | Max duration |
|----------|------|--------------------------|--------------|
Expand Down
16 changes: 8 additions & 8 deletions docs/api-reference/video-generation.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,19 +63,19 @@ The TypeScript `VideoClient`, the Python `VideoClient`, and the local ClawRouter
|---|---|---|---|---|---|---|
| `xai/grok-imagine-video` | Grok Imagine Video | 1–15 (default 8) | 480p (default), 720p | ✅ | — | ❌ |
| `xai/grok-imagine-video-1.5` | Grok Imagine Video 1.5 | 1–15 (default 8) | 480p (default), 720p, **1080p** | ✅ | ✅ | ❌ |
| `bytedance/seedance-1.5-pro` | Seedance 1.5 Pro | 4–12 (default 5) | 480p, 720p (default), 1080p | ✅ | ✅ (t2v) | ❌ |
| `bytedance/seedance-2.0-mini` | Seedance 2.0 Mini | 4–15 (default 5) | 480p, 720p (default) | ✅ | ✅ (t2v) | ✅ |
| `bytedance/seedance-2.0-fast` | Seedance 2.0 Fast | 4–15 (default 5) | 480p, 720p (default) | ✅ | ✅ (t2v) | ✅ |
| `bytedance/seedance-2.0` (Pro) | Seedance 2.0 Pro | 4–15 (default 5) | 480p, 720p (default), 1080p, **4K** | ✅ | ✅ (t2v) | ✅ |
| `bytedance/seedance-2.5` | Seedance 2.5 | 4–**30** (default 5) | 480p, 720p (default) | ✅ | ✅ (t2v) | ❌ |
| `bytedance/seedance-1.5-pro` | Seedance 1.5 Pro | 4–12 (default 5) | 480p, 720p (default), 1080p | ✅ | ✅ (opt-in) | ❌ |
| `bytedance/seedance-2.0-mini` | Seedance 2.0 Mini | 4–15 (default 5) | 480p, 720p (default) | ✅ | ✅ (opt-in) | ✅ |
| `bytedance/seedance-2.0-fast` | Seedance 2.0 Fast | 4–15 (default 5) | 480p, 720p (default) | ✅ | ✅ (opt-in) | ✅ |
| `bytedance/seedance-2.0` (Pro) | Seedance 2.0 Pro | 4–15 (default 5) | 480p, 720p (default), 1080p, **4K** | ✅ | ✅ (opt-in) | ✅ |
| `bytedance/seedance-2.5` | Seedance 2.5 | 4–**30** (default 5) | 480p, 720p (default) | ✅ | ✅ (opt-in) | ❌ |

The live list, with per-second rates and duration caps, is at `GET https://blockrun.ai/api/v1/video/models` (free, rate-limited). An unpaid `GET /api/v1/videos/generations` returns the same catalog inside a 402 discovery body, including each Grok SKU's `pricePerSecondByResolution`, `defaultResolution` and `perGenerationFee`.

Notes:

- **Sora 2** (`azure/sora-2`) is **retired**: its provider shut it down on 2026-11-02, and a request for it returns `400` (`model_retired`) before any payment, naming the available models. No other model is substituted under its id.
- **Grok Imagine** accepts `duration_seconds` from **1 to 15** (default 8) and an optional `image_url` (first frame). `resolution` **is honored and is a billing tier** — `xai/grok-imagine-video` renders `480p`/`720p`, and `xai/grok-imagine-video-1.5` adds `1080p`; omitting it bills and renders `480p`, and anything off-tier returns a `400` before payment that lists the supported tiers and their rates. `aspect_ratio` is also honored: both SKUs accept `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` (the Seedance-only `adaptive` and `21:9` return a `400`). Grok Imagine Video **1.5** is xAI's flagship generation — better physics and prompt adherence, with native synced audio in the same pass. The remaining Seedance-only params (`generate_audio`, `seed`, RealFace, reference media) are not sent upstream for either Grok SKU.
- **Seedance** supports a default of 5s, a floor of **4s** (a `duration_seconds` below 4 returns `400` before payment) and a per-tier maximum — **`seedance-2.5` allows up to 30s, `seedance-2.0` / `seedance-2.0-fast` / `seedance-2.0-mini` up to 15s, `seedance-1.5-pro` up to 12s** (above the max also returns `400`). The gateway bumps the default to **720p** and sets `generate_audio` per the t2v/i2v split below. `seedance-2.0`, `seedance-2.0-fast` and `seedance-2.0-mini` accept a `real_face_asset_id` (`ta_xxxx`) for character/identity consistency and multiple reference images (omni). `seedance-2.5` takes first/last-frame seeding, up to **30** reference images and reference video/audio clips, but not RealFace. `seedance-2.0-fast` finishes in ~60–80s; `seedance-2.0` (Pro) is higher quality and slower; `seedance-2.0-mini` is the budget tier at roughly half the Fast rate.
- **Seedance** supports a default of 5s, a floor of **4s** (a `duration_seconds` below 4 returns `400` before payment) and a per-tier maximum — **`seedance-2.5` allows up to 30s, `seedance-2.0` / `seedance-2.0-fast` / `seedance-2.0-mini` up to 15s, `seedance-1.5-pro` up to 12s** (above the max also returns `400`). The gateway bumps the default to **720p**; audio is **off by default** — pass `generate_audio: true` for a soundtrack (a non-empty `reference_audios` also turns it on). `seedance-2.0`, `seedance-2.0-fast` and `seedance-2.0-mini` accept a `real_face_asset_id` (`ta_xxxx`) for character/identity consistency and multiple reference images (omni). `seedance-2.5` takes first/last-frame seeding, up to **30** reference images and reference video/audio clips, but not RealFace. `seedance-2.0-fast` finishes in ~60–80s; `seedance-2.0` (Pro) is higher quality and slower; `seedance-2.0-mini` is the budget tier at roughly half the Fast rate.

---

Expand Down Expand Up @@ -109,7 +109,7 @@ An inline `data:` image is decoded and checked for real image bytes (PNG, JPEG,
| `duration_seconds` | integer | No | Duration to bill for. Defaults to the model default. Must respect the model's range (Seedance: 4s floor; 2.5 = 30s, 2.0 / 2.0-fast / 2.0-mini = 15s, 1.5-pro = 12s max; Grok: 1–15) or you get a `400` before payment. |
| `resolution` | string | No | `480p` / `720p` / `1080p` / `4K`, gated **per model** from the upstream parameter schema: `bytedance/seedance-2.0` accepts all four (`4K` is real 3840×2160); `seedance-1.5-pro` accepts `480p` / `720p` / `1080p`; `seedance-2.0-fast` and `seedance-2.5` accept `480p` / `720p` only. **Defaults to `720p`** on Seedance; higher resolutions cost more tokens upstream. Anything off-list returns a `400` before payment (`360p` / `540p` / `1K` / `2K` are not offered by any model). `seedance-2.0-mini` renders `480p` / `720p` — keep to those; a higher value is not rejected up front for this SKU. On Grok it selects the billing tier (see above). |
| `aspect_ratio` | string | No | Seedance: `adaptive` / `16:9` / `9:16` / `1:1` / `4:3` / `3:4` / `21:9` (`9:21` is not offered by any Seedance model). Grok: `16:9` / `9:16` / `1:1` / `4:3` / `3:4` / `3:2` / `2:3`. Off-list values return `400` before payment. |
| `generate_audio` | boolean | No | Synced audio track. **Seedance default: `true` for text-to-video, `false` for image/face/reference-conditioned.** Pass explicitly to override. Ignored by Grok. |
| `generate_audio` | boolean | No | Synced audio track. **Seedance default: `false`** in every mode, text-to-video included — pass `true` to get audio. The one exception: when `reference_audios` is non-empty and you omit this field, audio is on. An explicit value always wins. Price is the same either way. Ignored by Grok. |
| `seed` | integer | No | Reproducibility seed (Seedance). Same seed + prompt + params ≈ same clip. |
| `watermark` | boolean | No | Embed the upstream Seedance watermark. Off by default at the gateway. |
| `return_last_frame` | boolean | No | Also return the last frame as a still — useful for chaining clips. Seedance only. |
Expand Down Expand Up @@ -280,7 +280,7 @@ On settlement the response also carries `PAYMENT-RESPONSE` (base64 JSON `{succes
}
```

One failure class is recoverable client-side: when only the **generated soundtrack** trips upstream audio-copyright moderation on a Seedance clip, the body adds `error_code: "output_audio_moderation"` and `retry_with: { "generate_audio": false }` — resubmit with `generate_audio: false` (or add "no background music, silent" to the prompt).
One failure class is recoverable client-side: when only the **generated soundtrack** trips upstream audio-copyright moderation on a Seedance clip, the body adds `error_code: "output_audio_moderation"` and `retry_with: { "generate_audio": false }` — resubmit with `generate_audio: false` (or add "no background music, silent" to the prompt). Since audio is off by default, this only happens when you asked for audio (`generate_audio: true`) or sent `reference_audios`.

### Response fields

Expand Down
9 changes: 9 additions & 0 deletions docs/resources/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ description: All notable changes to BlockRun — gateway endpoints, model lineup

All notable changes to BlockRun, newest first — gateway endpoints, model lineup, pricing, and SDK releases.

## [2026-11-11]

### Changed — Seedance audio is off by default
- `POST /v1/videos/generations` no longer adds a soundtrack to Seedance clips unless you ask. Pass `generate_audio: true` to get synced audio — text-to-video included, which used to default to on.
- A non-empty `reference_audios` still turns audio on when you omit `generate_audio`. An explicit `generate_audio` always wins.
- Price unchanged: a clip costs the same with or without audio.

---

## [2026-11-10]

### Added — Claude Fable 5.2; Decisions on x402
Expand Down
Loading