Skip to content
Merged
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
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
# Changelog

## Unreleased

### Fixed — seedance-2.5 takes reference clips; the clip ceiling is per model

The gateway turned on reference video/audio for seedance-2.5 on 2026-09-26
(enterprise#297): its registry entry now carries `supportsReferenceMedia: true`
and "reference video/audio clips up to 30s each (billed per reference
second)". `blockrun_video` still refused `reference_videos` /
`reference_audios` on 2.5 by name. It now forwards them, with the same limits
as the 2.0 family: 1-3 clips of each type, audio only beside a reference image
or video, never with frame seeds, up to 30 reference images.

The reserve priced every clip at a flat 15.2s. The provider's ceiling is per
model, and the gateway quotes each clip at its model's ceiling
(`REFERENCE_CEILING_SECONDS`): 15.2s on seedance-2.0 / 2.0-fast / 2.0-mini,
30.2s on 2.5. A 2.5 clip would have reserved half its price on the one rail
where the reserve is the only budget control. One reference video now puts a
5s 720p 2.5 render at ~$11.07 (~7x its ~$1.58 plain price). 1.5-pro still
takes no clips, and the estimator now throws instead of borrowing another
model's ceiling for it.

Rail rules are unchanged: both wallet gateways (`blockrun.ai`,
`sol.blockrun.ai`) still refuse every reference field with a 400 before
quoting, so reference media stays account-rail only, 2.5 included.

## 0.53.1

### Fixed — seedance-2.5 first-and-last-frame is refused by name on Solana
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,9 +252,9 @@ Package managers have shown install size for decades. Almost no MCP server shows

| Profile | Tools | Context |
|---------|-------|---------|
| `full` *(default)* | 19 | 14,014 |
| `full` *(default)* | 19 | 14,046 |
| `trading` | 8 | 5,411 |
| `media` | 7 | 6,795 |
| `media` | 7 | 6,827 |
| `research` | 5 | 2,755 |
| `chat` | 3 | 2,082 |

Expand Down Expand Up @@ -371,7 +371,7 @@ npx -y @blockrun/mcp@latest skills install --to ~/.codex/skills
|------|-------------|------|
| `blockrun_chat` | <!-- br:models.chatVisible -->82<!-- /br:models.chatVisible --> LLMs (GPT, Claude, Gemini, DeepSeek, Kimi K3, GLM, NVIDIA free tier, …) with `mode` tier routing | per token |
| `blockrun_image` | Generate: openai/gpt-image-2, gpt-image-1, google/nano-banana(-2/-pro), xai/grok-imagine-image(-pro), zai/cogview-4, bytedance/seedream-5-pro. Edit: img2img, inpaint, fusion. | $0.015–0.15 |
| `blockrun_video` | Sora 2 + xAI Grok Imagine Video + ByteDance Seedance 1.5/2.0-mini/2.0-fast/2.0/2.5 (720p + audio; 4K on 2.0, up to 30s on 2.5); RealFace asset → real-person video; [reference images, video and audio](docs/seedance-capabilities.md) on the account rail | $0.053–0.32/sec charged; reference clips billed at a 15.2s ceiling |
| `blockrun_video` | Sora 2 + xAI Grok Imagine Video + ByteDance Seedance 1.5/2.0-mini/2.0-fast/2.0/2.5 (720p + audio; 4K on 2.0, up to 30s on 2.5); RealFace asset → real-person video; [reference images, video and audio](docs/seedance-capabilities.md) on the account rail | $0.053–0.32/sec charged; reference clips billed at the model's ceiling (15.2s on 2.0, 30.2s on 2.5) |
| `blockrun_realface` | Enroll a real person (phone liveness) or AI character (Virtual Portrait) as a `ta_xxxx` asset for Seedance 2.0 / 2.0-fast / 2.0-mini video (not 2.5) | free; $0.01 to enroll |
| `blockrun_music` | MiniMax music generation | per track |
| `blockrun_speech` | ElevenLabs TTS (Flash/Turbo/Multilingual/v3, 8 voices) + ByteDance Seed Audio (prompt-directed) + cinematic sound effects; free voice listing | $0.05–0.10/1k chars |
Expand Down
4 changes: 2 additions & 2 deletions docs/mcp-schema-overhead.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ Written 2026-09-01, verified against `@modelcontextprotocol/sdk` 1.29.0. Numbers

| Profile | Tools | Context |
|---------|-------|---------|
| `full` *(default)* | 19 | 14,014 |
| `full` *(default)* | 19 | 14,046 |
| `trading` | 8 | 5,411 |
| `media` | 7 | 6,795 |
| `media` | 7 | 6,827 |
| `research` | 5 | 2,755 |
| `chat` | 3 | 2,082 |

Expand Down
32 changes: 23 additions & 9 deletions docs/seedance-capabilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,22 +32,24 @@ below.
| --- | --- | --- | --- |
| Seedance 1.5-pro | Yes | No | No |
| Seedance 2.0 / 2.0-fast / 2.0-mini | Yes | 1–9 | Image + video, image + audio, video + audio, or all three; 1–3 clips of each type |
| Seedance 2.5 | Yes, except on the Solana wallet rail | 1–30 | No |
| Seedance 2.5 | Yes, except on the Solana wallet rail | 1–30 | Same combinations as 2.0; 1–3 clips of each type, up to 30s each |

`sol.blockrun.ai` has not yet added 2.5 to its first-and-last-frame list. It
refuses `last_frame_url` on 2.5 with a `400` before quoting, while
`blockrun.ai` quotes the same body; 2.0, 2.0-fast, 2.0-mini and 1.5-pro quote
on both (unsigned probes, 2026-09-29). The tool refuses that one combination on
Solana by name, so no payment is taken; use Base or the account rail for it.

Seedance 2.5 takes reference **images** but no reference clips — the gateway
registry carries `supportsReferenceImages: true` with
`supportsReferenceMedia: false` for it, and the tool's guard matches.
Seedance 2.5 takes reference **clips** as well as images since 2026-09-26
(enterprise#297): the gateway registry carries `supportsReferenceMedia: true`
for it, after its clip ceiling was probed at 30.2s and its per-second rate
measured. Its clips may run up to 30s each, twice the 2.0 family's, and are
billed accordingly (below).

`image_url` means a first-frame seed. For a character or style image alongside
a reference video, use `reference_image_urls`, not `image_url`. Frame seeding
and reference mode are mutually exclusive. Reference audio on the 2.0 family
requires at least one reference image or video. Upstream duration, size and
and reference mode are mutually exclusive. Reference audio requires at least one
reference image or video. Upstream duration, size and
content constraints still apply; accepting a URL does not verify the remote
file.

Expand All @@ -71,11 +73,20 @@ since `"reference"` is the only value upstream honours.
Reference **clips** are billed **per reference second**, not per clip — measured
against token360 on 2026-09-23 (blockrun#730): a reference second costs what an
output second costs (~21,600 tokens against 21,780), with no per-clip
component. Audio counts at 0.3x video.
component. Re-measured on seedance-2.5 on 2026-09-25 (enterprise#297): the same
rate. Audio counts at 0.3x video.

The caller sends a URL and never declares the clip's length, so the gateway
quotes **every clip at the model's 15.2s ceiling** and this tool reserves the
same. Consequences worth knowing before you call:
quotes **every clip at its model's ceiling** and this tool reserves the same.
The ceiling is per model, probed from the provider's own validation error:

| Model | Reference-clip ceiling |
| --- | --- |
| Seedance 2.0 / 2.0-fast / 2.0-mini | 15.2s |
| Seedance 2.5 | 30.2s |

A 2.5 clip therefore reserves twice the seconds of a 2.0 clip. Consequences
worth knowing before you call:

| Request | Reserved |
| --- | --- |
Expand All @@ -85,6 +96,9 @@ same. Consequences worth knowing before you call:
| seedance-2.0, 5s output, 3 videos + 3 audios | ~$14.54 |
| seedance-2.0, 5s output at **4K**, 3 videos + 3 audios | ~$130.88 |
| seedance-2.0-mini, 5s output at **480p**, 3 videos + 3 audios | ~$4.91 |
| seedance-2.5, 5s output, no references | ~$1.58 |
| seedance-2.5, 5s output, 1 reference video | ~$11.07 |
| seedance-2.5, 5s output, 3 videos + 3 audios | ~$38.59 |

A single reference clip therefore costs more than the render it conditions —
roughly 4x a plain 5s 720p render, and about 24x for three videos plus three
Expand Down
Loading
Loading