tokenstore

How to Write an NSFW Script with AI: A Step-by-Step Guide

Turn a single line of story idea into a titled adult 剧本 — named characters and per-scene setting, beat, and duration — with Nureta. Flat $0.01 per script, playground or API.

4 min read

A script — 剧本 — is the plan behind every adult scene: who is in it, where each moment happens, and what the beat of each shot is. Nureta writes one from a single line of story idea. You type one sentence and get back a titled 剧本 with named characters and a per-scene breakdown of setting, beat, and duration. No video is rendered yet — this is the blueprint you read and edit before you ever spend on a render.

Script generation is flat priced at $0.01 per script, no matter how long the story runs. That makes it the cheapest step in the whole pipeline and the right place to iterate: write ten ideas for a dime, pick the one that lands, then hand it to the video path.

Every model here is adult-native. The v3 scene director writes explicit beats plainly — shots meant to show sex are flagged and spelled out, not faded to suggestion. You don't fight a filter to get a usable 剧本.

What you need

  • An account with a USDC balance. Top-ups settle on Base — 1 USDC = $1.00, no card. A script costs $0.01, so a dollar buys a hundred of them.
  • One line of story idea. That is the whole input — a sentence describing the premise.
  • An API key from API keys if you are calling the endpoint. Prefer no code? The playground does the same job in the browser.

Step 1 — Write the one-line idea

The input is a single text line: the premise, not the screenplay. Name a situation and a tension and let the director expand it. two ex-partners get snowed in at a remote cabin is enough — the director invents the characters, splits the story into scenes, and decides where the heat lands.

Concrete premises beat abstract ones. a strict yoga instructor and her most stubborn student stay late after class gives the director roles, a setting, and a reason for contact. two people have sex gives it nothing to build structure from.

Step 2 — Set the length

duration is optional — an integer from 5 to 180 seconds, default 30. It scales how many scenes the 剧本 gets, not the price. A 30s idea comes back as a handful of scenes; ask for 120s and the director writes a longer arc with more beats. Because the price is flat at $0.01 either way, set the length to match the video you actually intend to render later.

Step 3 — Generate it in the playground or the API

In the playground you type the idea, set a length, and read the 剧本 back on screen — no keys, no polling. To automate it, POST the idea to the script endpoint with your API key and poll for the result.

curl -s -X POST "$TOKENSTORE_URL/api/v3/contents/scripts" \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seahorse-script",
    "duration": 30,
    "content": [
      { "type": "text", "text": "two ex-partners get snowed in at a remote cabin" }
    ]
  }'
# => {"id": "cgt-..."}

New keys default to 10 requests/second. The full field reference is in the script API docs.

Step 4 — Read what comes back

Poll GET /api/v3/contents/scripts/:id until status is succeeded. The result carries content.script: a title, a characters array of names, and a scenes array. Each scene has an index, a setting, a beat, and a durationSeconds.

{ "content": { "script": {
  "title": "Whiteout",
  "characters": ["Mara", "Deacon"],
  "scenes": [
    { "index": 1,
      "setting": "A snowed-in cabin, one lamp lit",
      "beat": "Mara and Deacon shed their coats by the fire, old tension surfacing",
      "durationSeconds": 8 }
  ]
}}}

Retrieval and the failure path are documented at retrieve a script task. If generation fails, the $0.01 is refunded automatically.

Step 5 — Where the explicit beats live

The v3 director writes the whole 剧本, and it does not go coy at the sex. Shots meant to depict an act come back flagged explicit with a beat that spells out the act concretely — position, contact, who does what — instead of they grow closer. That concreteness is what lets the video pipeline render an act later rather than soft motion. To understand why the wording matters, read writing explicit scene beats that render.

Step 6 — Hand the 剧本 to video

The 剧本 is a plan; rendering is a separate, paid step. Two ways to carry it over: submit your video task in edit mode to get the same storyboard back as an editable draft before you pay for the render, or translate the scenes into an advanced segments array — one {script, duration_seconds, explicit} per scene — and render directly. Either way the named cast and its tattoos stay consistent across every shot.

Where to go next

Open the playground
How to Write an NSFW Script with AI: A Step-by-Step Guide — Nureta Guides