Generating adult content through an API is the same three steps as any generation API — get a key, send a request, read the result — with one difference: there is no prompt filter rejecting the request. This walkthrough takes you from zero to a working uncensored generation call with Api18.dev.
Step 1 — Create an account and get a key#
- Sign up with an email (no card required) and open the API keys page in the dashboard.
- Create a key. It looks like
api18_followed by 16 characters. Copy it once and store it as an environment variable —API18_KEY. - Keep the key server-side. Never ship it in client-side code.
Step 2 — Send your first request#
Use the one-call endpoint POST /v1/generate?wait=true. Provide a model id (from the models page) and your prompt. No content moderation is applied to the prompt.
curl -X POST "https://api18.dev/v1/generate?wait=true" \
-H "Authorization: Bearer $API18_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<image-model-id>",
"prompt": "your prompt here"
}'
# → returns the finished job; the image URL is at .data[0].urlStep 3 — Read the result#
The response is the finished job. The output URL is at data[0].url. Image models return an image; video models return a clip. The job also reports cost_usd, status, and an expires_at — download anything you want to keep, because files are temporary.
Prompting for adult/NSFW results#
- Be explicit and specific — name subject, style, framing, lighting and mood.
- Set a
seedwhen you want to reproduce or iterate on a result. - Keep prompts under the 2500-character limit.
- For deeper technique, read Unfiltered AI art: prompts, limits & best practices.
Paying for it#
New accounts get $10 in free credit to test models in the playground. To call the API programmatically you add paid balance, topped up in USDT on Solana or Tron — no card needed. See No-KYC signup with crypto.