All posts
guide2026/09/11

How to Run an Uncensored AI Image to Video Generator

How to Run an Uncensored AI Image to Video Generator

How to run an uncensored AI image to video generator on Seedance 2.5: what the filter setting really changes, the inputs a run needs, and what refusals cost.

Working out how to run an uncensored AI image to video generator is a two-part problem: the mechanics of the run, which are straightforward, and the word uncensored, which is doing more work in search results than it does in any API. Seedance 2.5 exposes a content_filter field, it defaults to true, and setting it to false changes the routing rather than switching moderation off. Knowing that before you build around it saves a great deal of confused debugging.

What uncensored buys you and what it does not

A less restrictive channel at the same price, with every model-level block still in place.

content_filter is a routing control rather than a model parameter. Set to false it selects the more permissive of two channels, pricing does not change, and upstream policy checks still run on the request. The older alias for the same field is nsfw_checker, and both names still validate, so older integration code keeps working.

Three categories are refused inside the model and no channel, plan or parameter reaches them: named real celebrities, third-party intellectual property, and illegal content. Any tool promising output that ignores those is describing something other than what the model does. Realistic people, by contrast, are supported without changing any setting.

Setting the field and reading the result

A safety refusal comes back as error 80006. The code covers every stage of moderation and does not say which one fired, so the prompt, each attached reference file, and the generated video are all still candidates.

That ambiguity is the reason to treat content_filter as a single experiment rather than a configuration you leave on. Submit once with the default, submit once with it set to false, and compare. If both refuse, the trigger is on the list nothing changes, and the request itself has to move.

What the run needs

The wire model id is doubao-seedance-2.5-face. A run is one submission plus polling, and the fields fall into three groups.

Inputs. Up to 30 reference images in jpeg, png, webp, bmp, tiff, gif, heic or heif, each under 30 MB. Optionally up to 10 reference video clips in mp4 or mov at 200 MB or less, 2 to 30 seconds each and 30 seconds combined, and up to 10 audio tracks in wav or mp3 at 15 MB or less. Everything arrives as a public HTTP(S) URL; data URIs are rejected platform-wide.

Shape. Duration from 4 to 30 seconds with a default of 5. Resolution from 480p, 720p or 1080p, defaulting to 720p. Aspect ratio from 16:9, 9:16, 1:1, 4:3, 3:4, 21:9 or adaptive, which is the default. Output as mp4 or mov.

Direction. A prompt of up to 20,000 characters, required for text-to-video and optional once any reference media is attached. generate_audio defaults to true and produces speech, effects and music as a mono track in the same pass.

How to run an uncensored AI image to video generator, step by step

The job is asynchronous. Submit the request, take the task id, and poll it until the status changes. Generation averages two to five minutes and polling costs nothing, so a tight poll interval is fine.

Two fields shape the loop at scale. return_last_frame gives you the closing frame of a generation, which is the handover point when a piece runs past the 30-second ceiling of a single request. seed is the other, and it belongs in your request log whether or not you set it, because a refusal you cannot reproduce is a refusal you cannot bisect.

A failed task is worth reading rather than retrying blindly. usage.credits on that task shows whether the reserve was refunded, which separates a safety refusal from an infrastructure failure faster than the error text does.

Budgeting a run that might refuse

Billing is per second of finished video. Generation without a reference clip costs $0.118589 per second at 480p, $0.266824 at 720p and $0.461856 at 1080p. Reference images and reference audio add no billable seconds at all.

Reference video does. Its own length is added on top of the output, and a request carrying reference video is never billed for fewer than five thirds of the output duration, rounded up. The per-second rate is lower when reference video is present, at $0.071153, $0.160094 and $0.275904 for the three tiers, which absorbs part of the difference.

Failed jobs are refunded in full. That changes the economics of experimenting: the runs that refuse cost you elapsed time, and only the runs that succeed cost money. Watch the -1 duration setting, though, since it lets the model choose the length and takes its reservation at the 30-second cap whatever it eventually returns.

Draft everything at 480p. Five seconds there is about $0.59 against roughly $2.31 at 1080p, and blocking, framing and continuity all read the same at either tier.

Resolution stops at 1080p

There is no 4K tier. The options are 480p, 720p and 1080p, and any specification sheet listing 4K for this model is quoting pre-release material for a tier that never shipped. No host, plan or parameter produces it.

Thirty seconds is the other hard ceiling, on a single generation rather than on a finished piece. Longer work is chained segments, which is true of every model in this class.

Frequently asked questions

Does content_filter false make the generator uncensored? No. It selects a less restrictive channel at the same price and leaves moderation running. The block on named real celebrities, third-party intellectual property and illegal content is inside the model and unaffected.

What is the difference between content_filter and nsfw_checker? They are the same field. nsfw_checker is the older alias, the documentation now uses content_filter, and both still validate.

How long does one image to video run take? Two to five minutes on average. The job is asynchronous, so you submit, hold the task id, and poll until the status changes. Polling is free.

What happens to my money when a run is refused? Failed jobs are refunded in full. Read usage.credits on the failed task to confirm the reserve came back.

The short version

How to run an uncensored AI image to video generator on Seedance 2.5, condensed: host your images on public HTTP(S) URLs, attach up to 30 of them, set duration, resolution and aspect ratio explicitly, and submit against doubao-seedance-2.5-face. Set content_filter to false if you want the less restrictive channel, expecting the same pricing and the same moderation. Refusals return 80006 without naming a stage, refunds are complete, there is no 4K, and 480p at about $0.59 for five seconds is where the iteration belongs.