Skip to content

Video from code

NSFW video API

An NSFW video API, also called an uncensored video generation API, takes an adult scene from your own software and renders it as a clip without editing the prompt first. On Vellria that is a single POST to /v1/generate/video with a model id, the prompt, a duration and a resolution, signed with a Bearer vll_... key; it answers with a job id at once, you poll GET /v1/generations/{id} until the clip is ready, and each second of footage is paid for from prepaid credits.

20 video models, from 5 credits / s (100 credits = $1.00), clips up to 30 s. New accounts created with Google get 20 credits as a gift, valid for 7 days. Is there a free option?

What one request carries

Every clip is opened by one JSON body. The model field takes an id from the table below, prompt holds the scene, duration is a whole number of seconds and resolution is one of the labels that model lists. Models that offer aspect ratios also read ratio, and adding an opening frame as an https address inside image_urls switches that same model from generating to animating it; leave image_urls out and it generates from the prompt alone. Anything outside the catalog's range for that model, such as a duration that is too long or a resolution it does not render, is answered with a 400 naming the offending field, and that happens before a single credit is taken.

The reply is immediate: status 202, a generation id, a status of processing and the credit cost of the take. The render goes on without your connection. Ask GET /v1/generations/{id} for the record, leave a growing, slightly random gap between asks, and stop once the status reads completed or failed; a completed record carries output_url, the address of the finished file. There is no callback to register. The service follows each job with the provider itself and settles it whether your code is polling or not, so a crashed worker or a dropped socket costs you nothing but the wait.

Authentication is one header, Authorization: Bearer vll_..., sent on every call including the polling ones. Keys are created on the API Keys page of the console and shown in full only once; a missing or revoked key gets 401 with the code authentication_required.

See what the models make

Real outputs from the models on this page, each shown with the exact prompt that produced it. Copy a prompt, or open the model and run it yourself.

  • Seedance 2.5 UncensoredImage to video

    The man turns up his coat collar and walks slowly toward the camera as rain falls, the neon sign flickering above him, the camera dollies back

    Try this prompt
  • MiniMax H3 Video UncensoredText to video

    Slow push-in on a man in his thirties lighting a candle in a dark vintage apartment, the flame flickering across his face, rain streaking the window behind him

    Try this prompt
  • Wan 3.0 Pro UncensoredText to video

    Close-up of a woman in her thirties in a candlelit bubble bath with only her shoulders above the foam, she slowly turns toward the camera and smiles, steam rising, warm intimate light

    Try this prompt
  • Pruna P-Video 2 UncensoredImage to video

    The motorcycle speeds down the highway, dust swirling behind it, the camera tracking from the side at golden hour

    Try this prompt
  • Wan 3.0 UncensoredImage to video

    Wind sweeps her red dress and hair as waves crash against the cliffs below, slow aerial orbit around her

    Try this prompt
  • MiniMax H3 Max UncensoredImage to video

    He pushes off the doorframe and steps toward the camera, light sweeping across his torso, slow dramatic motion

    Try this prompt

Video model ids and prices

These rows come from GET /v1/models, the same catalog the API checks every request against, so an id or price shown here is one the endpoint accepts today. Have your code read that endpoint rather than copying this list; the API reference documents each field.

ModelModel idTypePrice
Seedance 2.5 Uncensored
vellria-seedance-2-5
Text to video · Image to video
from 35 credits / s
Seedance 2.0 Uncensored
vellria-seedance-2-0
Text to video · Image to video
from 30 credits / s
MiniMax H3 Video Uncensored
vellria-minimax-h3-video
Text to video · Image to video
from 6 credits / s
MiniMax H3 Max Uncensored
vellria-minimax-h3-max
Text to video · Image to video
from 15 credits / s
Wan 3.0 Uncensored
vellria-wan-3
Text to video · Image to video
from 15 credits / s
Wan 3.0 Pro Uncensored
vellria-wan-3-pro
Text to video · Image to video
from 20 credits / s
Wan 2.2 Uncensored
vellria-wan-2-2
Text to video · Image to video
from 8 credits / s
Pruna P-Video 2 Pro Uncensored
vellria-p-video-2-pro
Text to video · Image to video
from 12 credits / s
Pruna P-Video 2 Uncensored
vellria-p-video-2
Text to video · Image to video
from 8 credits / s
LTX 2.5 Pro Uncensored
vellria-ltx-2-5-pro
Text to video · Image to video
from 35 credits / s
LTX 2.5 Fast Uncensored
vellria-ltx-2-5-fast
Text to video · Image to video
from 25 credits / s
Wan 3.0 Spicy Uncensored
vellria-wan-3-spicy
Text to video · Image to video
from 13 credits / s
Wan 3.0 Pro Spicy Uncensored
vellria-wan-3-pro-spicy
Text to video · Image to video
45 credits / s
Wan 3.0 Prime Spicy Uncensored
vellria-wan-3-prime-spicy
Text to video · Image to video
from 17 credits / s
Wan 3.0 VSR Prime Spicy Uncensored
vellria-wan-3-vsr-prime-spicy
Text to video · Image to video
from 70 credits / s
Wan 2.7 Spicy Uncensored
vellria-wan-2-7-spicy
Text to video · Image to video
from 33 credits / s
Wan 2.2 Spicy Uncensored
vellria-wan-2-2-spicy
Text to video · Image to video
from 5 credits / s
Wan 2.6 Spicy Uncensored
vellria-wan-2-6-spicy
Text to video · Image to video
from 25 credits / s
Wan 2.6 Spark Spicy Uncensored
vellria-wan-2-6-spark-spicy
Text to video · Image to video
25 credits / s
Lime 1.0 Spicy Uncensored
vellria-lime-1-spicy
Text to video · Image to video
from 8 credits / s

Example request

Seedance 2.5 with its catalog defaults. Swap the model field for any id in the table, and keep duration and resolution within what that model lists.

curl https://vellria.com/v1/generate/video \
  -H "Authorization: Bearer vll_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "vellria-seedance-2-5",
    "prompt": "…",
    "duration": 4,
    "resolution": "480p",
    "ratio": "adaptive"
  }'
  • Seedance 2.5 Uncensored cover art

    Video

    Seedance 2.5 Uncensored

    Scenes that arrive with sound, 4–30 s up to 1080p, or bring a still to life as the first frame.

    from 35 credits / s
  • MiniMax H3 Video Uncensored cover art

    Video

    MiniMax H3 Video Uncensored

    Test shot ideas before the final take: 4–15 s clips up to 4K, or see how a still moves.

    from 6 credits / s
  • Wan 3.0 Pro Uncensored cover art

    Video

    Wan 3.0 Pro Uncensored

    Step up for final takes: 2–30 s with sound up to 1080p; start from a still to keep your framing.

    from 20 credits / s

Picking a family, and paying for seconds

Each family in the table is a single id that reads both ways: send a prompt alone and it generates the whole clip from your wording, or add a starting frame in image_urls and the same id animates that image instead. There is no separate image-to-video id to remember or to send a picture to by mistake. The family pages show the exact body each model accepts next to its limits: the Seedance API, the Wan 3.0 API and the MiniMax H3 API are three of them, and every other row above links to its own.

A take costs the per-second rate of the chosen resolution multiplied by its duration, and the whole amount is taken when the job opens. If the provider fails the job, those credits come back automatically. Nothing renews unless you opt in: pay-as-you-go credits carry no subscription and no monthly floor, just a balance topped up by card or another method available at checkout; an optional monthly plan is also listed on the pricing page alongside the top-up packages. Test a prompt at the shortest duration and the lowest resolution a model offers, and keep the expensive settings for the take you mean to deliver.

Adult video on the general marketplaces

Most comparisons of NSFW video hosting stop at the model list, and the model list is the easy part. Novita, for one, prices its video models by the second or by the clip, yet its Acceptable Use Policy (effective 5 August 2026) forbids sexually explicit output and sets aside no exception for adult use, so an explicit clip falls outside its rules whichever model renders it. Replicate's terms (updated 1 April 2026) draw a different line: they exclude non-consensual nudity and unlawful sexual material, and section 8.6 concedes the services may produce graphic adult output, leaving the customer answerable for it.

The safety-checker defaults we read for fal and ModelsLab on 12 September 2026 sit on image endpoints; the NSFW image API page has that detail. ModelsLab's pricing page does list video models beside its image ones, sold on monthly plans that differ by call volume and concurrency. We did not read either provider's video parameters, so check the schema of the exact video model you intend to call before you build on it.

Asynchronous delivery is normal for clips: Venice's video guide, read the same day, queues a job and has you retrieve it by id, the same shape as the POST-then-poll loop above. What Vellria does not add is an outbound webhook. Nothing calls your server when a clip finishes, so your code keeps asking until the record settles, and there is no SDK; the video endpoints are not OpenAI-compatible either, since the one OpenAI-compatible surface is chat, for the Uncensored Chat model. Where it differs is the meter: credits are prepaid and priced per second of footage at the resolution you pick, taken as the job opens and handed back automatically if the provider fails it, with no required monthly plan and no call quota, though an optional monthly plan is available.

What the endpoint refuses

Fictional adult content is allowed. An automatic filter reads the prompt for a minor in a sexual context and refuses what it recognizes with a 400 and the code content_blocked, before any credit moves. Bestiality, incest, non-consensual sex, extreme gore, hidden-camera content and deepfakes are ruled out by the terms, not by that filter. A starting frame you attach is not screened for content: only a file that cannot be read is refused. What's allowed and what isn't has the full policy. A real person used without consent, famous or not, is prohibited by the terms rather than something the endpoint can see, so it is yours to enforce inside your product.

The provider hosting each model also moderates on its own terms. When it stops a render, the job ends as failed with an error code, and the credits return as they do for any other failure. For stills rather than clips, the NSFW image API covers the image endpoints; to make clips in the browser instead of from code, see NSFW video generation.

FAQ ( 4 )

Frequently asked questions

Does the video API accept explicit prompts?

Yes, for fictional adults. The prompt reaches the model as your code wrote it. An automatic check looks in the prompt for a minor placed in a sexual context, and refuses what it catches with an error instead of rewriting it into something tamer. A start frame you send is not screened for content.

Is there a webhook, or do I have to poll?

You poll. There is no callback URL to register for your own jobs; the record at GET /v1/generations/{id} is the source of truth, and it reaches completed or failed on its own because the service reconciles every job with the provider in the background.

Can I start a clip from my own image?

Yes, with the same model id. Upload the file to POST /v1/uploads, keep the address it returns and pass it in image_urls; an address you host yourself works too if it is public https. The guide to calling the API from your code walks through the whole loop, uploads included.

Is there a free tier or trial credit for the API?

Free to start: a new account created with Google gets 20 free credits, valid for 7 days (about 10 images on Z-Image Turbo Uncensored), and every signed-in account gets free daily uses of the NSFW prompt generator and the image to prompt tool. Creating a key costs nothing, and beyond the gift every run is paid from a credit balance, and API calls draw on the same balance at the same per-second prices as Studio. The uncensored AI video generator is the browser route to the same models. The longer answer is in is there a free uncensored AI video generator? The honest answer.