← Back
Setup guide

Connect your app.

Takes about five minutes. Works the same way whether you use JanitorAI, SillyTavern, or anything else that speaks the OpenAI API format — you're pasting two values into a settings screen, not learning a new tool. This page walks through what those two values are and where each app wants them.

WHAT YOU'RE ACTUALLY DOING

Two values, one settings screen.

virtual.sex speaks the same API format as OpenAI, so any app with a "custom" or "OpenAI-compatible" provider option can connect to it directly — no plugin, no special integration. You just need two things from your dashboard: a Base URL (the address the app sends your messages to) and an API key (which ties that traffic to your account and balance). Paste both into the app's custom API settings, pick the model, and you're chatting.

STEP 01

Grab your Base URL and key.

In your dashboard, your Base URL and API key are both ready to copy. Keep that tab open — you'll paste them in a moment.

STEP 02

Open your app's custom API settings.

In JanitorAI:

Alternatively, from the character itself:

In SillyTavern:

STEP 03

Paste your Base URL and key, then connect.

In JanitorAI:

If you used the per-character route:

That same dropdown now lets you switch between JanitorAI's own chat engine and virtual.sex whenever you like — once connected, it reads Using Proxy instead of Using Janitor. That character is now running on EROS, fully uncensored.

In SillyTavern:

JanitorAI needs the full path, not just the Base URL. Unlike most apps, JanitorAI sends requests to exactly what you paste — it won't add anything after it. Paste this complete address instead: https://api.virtual.sex/v1/chat/completions

SillyTavern needs /v1 added to the Base URL. It appends /chat/completions itself, but not the /v1 before it — paste https://api.virtual.sex/v1 instead of the bare Base URL from your dashboard.

STEP 04

Pick your model and start chatting.

The model dropdown should populate on its own once your key is recognized — select it, open a character, and send a message. If nothing comes back, double-check the URL and key for stray spaces, and confirm your dashboard shows a positive balance.

QUICK ANSWERS

What's an API key?

A private string that identifies your account to the gateway — think of it like a password made just for apps, not for you to type in by hand each time. Anyone with it can spend your balance, so keep it as private as a password.

What's a Base URL?

The address your app sends messages to. Pasting ours in is what redirects the app's requests to virtual.sex.

What does "OpenAI-compatible" mean?

It means we accept requests in the same shape OpenAI's API does. Any app built to work with OpenAI already knows how to talk to us — it just needs to be pointed at a different address with a different key.

Does this work with apps other than JanitorAI or SillyTavern?

Yes — anything with a "custom" or "OpenAI-compatible" provider option works the same way: same Base URL, same API key, same idea.

I connected but nothing happens when I send a message.

Re-check the URL and key for extra spaces or missing characters, and confirm your dashboard shows a positive balance — a $0 balance is the most common cause.

← Back