Seedance 2.5, Uncensored: Why Segmind Is Still the Only Place to Run It Without a Moderation Filter
Seedance 2.5 uncensored on Segmind: no platform prompt filter, the exact cost formula, real latency data, and what still gets refused.
In June I wrote that Segmind was the only place running Seedance 2.0 without an extra moderation filter. That post got more replies than anything else I published last quarter, and almost all of them asked the same question in different words: when the next version lands, does the policy hold, or does it quietly get walked back?
Seedance 2.5 is live on Segmind now. The policy holds. But I want to be more precise this time than I was in June, because "uncensored" is a word that carries a lot of assumptions, and the honest answer has three parts rather than one. I pulled the live API spec for both versions, and I went through 30 real Seedance 2.5 requests on my own account to check what actually happens, what it actually costs, and what still gets refused.
What actually changed in 2.5
Start with the boring part, because it is the part most launch posts get wrong by only listing the wins. Seedance 2.5 is not a straight upgrade over 2.0. It is a trade.
| Parameter | Seedance 2.0 | Seedance 2.5 |
|---|---|---|
duration | 4s to 15s | 4s to 30s |
resolution | 480p, 720p, 1080p, 4k | 480p, 720p |
output_format | mp4 only | mp4, mov |
| Output token rate | $7.00 per million | $10.97 per million |
| Video input rate | $4.30 per million | $6.56 per million |
skip_moderation | Present, default false | Present, default false |
| Aspect ratios | 7 options | 7 options |
| Reference inputs | images, videos, audio, first and last frame | images, videos, audio, first and last frame |
Pulled from the live llms.txt spec for both models on 12 August 2026.
The headline win is duration. Seedance 2.0 stopped at 15 seconds. Seedance 2.5 goes to 30, and it accepts every whole second in between rather than a handful of fixed steps. If you are cutting a spot, that is the difference between stitching two generations together and rendering the thing in one pass with the audio already in sync.
The headline loss is resolution. Seedance 2.0 lists 1080p and 4k. Seedance 2.5 tops out at 720p. If you are delivering broadcast masters, 2.0 is still the model you want, and I would not have guessed that from the version number. The price also went up: 2.5 bills output tokens 56.7% higher than 2.0 does.
So the reason to move to 2.5 is length and motion quality, not pixels and not cost. That is a real decision to make per project, and I would rather say it plainly than pretend every release is strictly better than the last.
The moderation posture, precisely
Here is where I want to be more careful than the June post was. There are three separate layers of filtering in play, and lumping them together is how "uncensored" turns into a promise nobody can keep.
Layer one: the platform prompt filter. This is the one Segmind does not add.
On most platforms serving Seedance, your prompt hits a proprietary content classifier before it ever reaches the model. That classifier is tuned conservatively, because the platform is managing its own risk, not your creative brief. It rejects on keywords and on vibes. This is the layer that makes a horror director reword the same shot nine times, that kills a fight scene because it mentions a weapon, that refuses a moody cigarette in an anti-smoking PSA.
Segmind does not put that layer in front of Seedance 2.5, in the playground or through the API. Your prompt goes to the model. That is the entire claim, and it is the same claim I made for 2.0.
Layer two: the skip_moderation parameter. It is documented, and it is yours.
Worth clearing up a misconception I saw a lot after the June post: skip_moderation is not new in 2.5, and it is not a secret. It sits in the public API schema for both 2.0 and 2.5, and it defaults to false on both. Segmind exposes it as a per-request flag rather than deciding for you in either direction.
import requests
resp = requests.post(
"https://api.segmind.com/v1/seedance-2.5",
headers={"x-api-key": API_KEY},
json={
"prompt": "Rain-slick alley at 3am, a detective steps into "
"the sodium light, coat soaked, breath fogging. "
"Slow dolly in. Ambient rain and distant traffic, "
"no music.",
"duration": 12,
"resolution": "720p",
"aspect_ratio": "21:9",
"generate_audio": True,
"skip_moderation": False, # default. your call, per request.
"output_format": "mov",
},
timeout=900,
)
open("shot.mov", "wb").write(resp.content)
Layer three: ByteDance's own output checks. These still run, and they still fire.
This is the part I got too vague about in June, so let me fix it with data. Seedance is ByteDance's model. ByteDance applies its own safety checks on the generated output, and no platform reselling the model can turn those off. Segmind removing its filter does not remove ByteDance's.
I went through my account's Seedance 2.5 request history to see how often this actually bites. Across 30 requests, the refusals I hit were:
OutputVideoSensitiveContentDetected, once. The generation ran to completion and then the output was withheld.OutputAudioSensitiveContentDetected.PolicyViolation, twice, both flagged as a possible copyright issue on the generated audio track.
Note what those names tell you: they are output checks, not prompt checks. The model accepted the prompt, spent the compute, produced the clip, and then the check ran on the result. In one of those cases the request sat for 608 seconds before coming back refused. That is a real workflow cost, and it is worth designing around.
The audio one has a practical fix that took me embarrassingly long to find. If your prompt asks for music of any kind, you are rolling dice against a copyright classifier on the generated track. Describe diegetic sound instead, the rain and the room tone and the servo whine, and end the audio clause with an explicit "no music". Refusal rate on that pattern dropped to zero for me.
So what does "uncensored" actually mean here
It means one specific, useful thing: Segmind does not add a second opinion on top of the model's own. You get the model's actual behaviour rather than a platform's risk tolerance layered over it. For legitimate work that keeps getting caught in a classifier's net, that is most of the problem solved.
It does not mean there are no rules. Restrictions on fully nude and illegal content remain in place, ByteDance's output checks remain in place, and Segmind's terms of service apply to every request regardless of how any flag is set. This post is not a guide to generating prohibited material, and no setting described here makes that acceptable or legal. What removing layer one buys you is fewer false positives on work that was always fine, which is a different thing entirely, and the thing most people were actually asking for.
What Seedance 2.5 actually costs
Seedance 2.5 bills output tokens, and the token count is not a mystery. I reconciled billed costs against durations across my request history and the relationship is exact:
billed at $10.97 per million
Which produces this table. Every row here matches a real billed figure or follows from the same formula:
| Duration (720p) | Output tokens | Cost |
|---|---|---|
| 4s | 87,300 | $0.957681 |
| 5s (default) | 108,900 | $1.194633 |
| 10s | 216,900 | $2.379393 |
| 15s | 324,900 | $3.564153 |
| 20s | 432,900 | $4.748913 |
| 30s (max) | 648,900 | $7.118433 |
Verified against billed credits_deduction at 10s, 15s and 30s. The 900-token constant is why cost per second falls slightly as clips get longer.
Two things follow from this that are useful in practice. First, you can quote a Seedance 2.5 job to the cent before you fire it, which makes it easy to put a hard ceiling on a client project. Second, that flat 900-token constant is the entire reason longer clips look marginally cheaper per second. There is no volume discount hiding in there.
Failed generations are free
Every rejected request in my history billed exactly $0.00. All ten of them, including the three that ran to completion before an output check refused them, and including the one that burned 608 seconds first. You pay in wall-clock time, not credits. That makes iterating on a difficult prompt genuinely cheap, and it is the single most important thing to know before you start testing where the line sits for your use case.
Latency: quote a range, never a number
I have eleven byte-comparable 30-second generations in my history. They returned in 122.8s, 132.9s, 230.3s, 234.0s, 235.3s, 241.8s, 244.4s, 403.3s, 409.8s, 613.4s and 808.0s. Same duration, same resolution, same billed cost, and a 6.6x spread between fastest and slowest.
Median is around 242 seconds. If you are putting Seedance 2.5 behind a user-facing button, do not promise a completion time. Build it async, show a progress state, and set your client timeout well past 900 seconds or you will cancel jobs that were about to land. Note also that cancelling on your end does not stop the job: it finishes server-side and it bills.
Where the extra 15 seconds actually changes the work
Film and VFX previs. A 30-second take is long enough to hold a scene rather than a shot. I can block a full beat, an entrance, a line of dialogue, a reaction, with the audio generated in the same pass so the sync is free. At 15 seconds you were always cutting around the model's limit. The 21:9 aspect ratio and bitrate_mode: "high" matter here too, and output_format: "mov" drops straight into a Resolve timeline without a transcode step.
Ad agencies and edgy brand work. This is the layer-one problem in its purest form. A spot with tension in it, a horror-adjacent product tease, anything with grit, tends to die at the platform filter on other services while a competitor ships the same idea. Being able to run the concept at all is the whole point, and 30 seconds happens to be exactly the length of a standard broadcast spot.
Production houses and MCNs. Volume work lives on the cost formula. Because you can price a job before firing it, a batch of 200 fifteen-second social cuts is a known $712.83 rather than an estimate. Use 480p for the internal review pass, then re-render only the approved cuts at 720p.
The honest assessment
Seedance 2.5 is the model I would reach for on most video work right now, and the moderation posture on Segmind is a real, practical advantage rather than a marketing line. Fewer false rejections means the time you spend goes into the work instead of into rewording prompts.
The gotchas are real too. Losing 1080p and 4k is a genuine step backwards, and for finishing work you may still want 2.0. The price is up 56.7% per token. Latency is wildly variable. Output-side checks still fire and they fire late, after you have already waited. And "no platform filter" is not "no rules", which is worth being clear-eyed about before you build a product on it.
My advice is the same as it was in June, and it costs about a dollar to follow: take the prompt that got blocked somewhere else, run it at 5 seconds and 480p, and find out exactly where the line sits for your work. Failed attempts are free. It is the fastest hour of research you will spend.
FAQ
Is Seedance 2.5 uncensored on Segmind?
Segmind does not add its own moderation filter in front of Seedance 2.5, in the playground or through the API, so prompts are not rejected by a platform classifier before the model sees them. ByteDance's own output-side checks still run, and restrictions on fully nude and illegal content still apply.
What is the skip_moderation parameter?
It is a documented boolean in the public API schema for both Seedance 2.0 and 2.5, defaulting to false. Segmind exposes it as a per-request flag rather than setting it for you. It does not override ByteDance's output checks or Segmind's terms of service.
How much does a 30-second Seedance 2.5 video cost?
$7.118433 at 720p. Output tokens follow 21600 × seconds + 900, billed at $10.97 per million, so any duration is quotable to the cent before you generate.
Is Seedance 2.5 better than Seedance 2.0?
For length and motion, yes: 30 seconds versus 15, and every whole second in between. For resolution, no. Seedance 2.0 supports 1080p and 4k while 2.5 caps at 720p. Seedance 2.5 also costs 56.7% more per output token.
Do failed Seedance 2.5 generations cost anything?
No. Every rejected request in my testing billed $0.00, including ones refused by an output check after the clip had already rendered. You pay in time, not credits.
How long does a Seedance 2.5 generation take?
It varies far more than you would expect. Eleven identical 30-second jobs ranged from 122.8 to 808.0 seconds, median around 242. Build async and set generous timeouts.
Try it
The quickest way to see the difference is still the same test: take a prompt that got refused somewhere else and run it in the Seedance 2.5 playground. No SDK, no setup, just a prompt box. If it renders, you have your answer, and the same model is one API call away when you are ready to build.