Wild West API

Docs

Three steps, no SDK required. Wild West API speaks the OpenAI chat completions format and the Anthropic Messages format, so the tools you already use connect by changing only the base URL and the key.

Get a key

Basics

SettingValue
Base URLhttps://wildwestapi.com/v1
Chat endpointPOST /v1/chat/completions
Anthropic endpointPOST /v1/messages
Model listGET /v1/models
AuthAuthorization: Bearer sk-ww-...

Sign in with a six digit code sent to your email, then make a key in the dashboard. Give it a lifetime cap, a monthly cap, or both. The key is shown once, so copy it now. Keys start sk-ww-.

Your first request

bash
curl https://wildwestapi.com/v1/chat/completions \
  -H "Authorization: Bearer $WILDWEST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "outlaw-1-xploded",
    "messages": [
      {"role": "system", "content": "You are a concise assistant."},
      {"role": "user", "content": "Hello"}
    ]
  }'

The response is the OpenAI shape your client already parses: the text is in choices[0].message.content, and usage tells you how many tokens it read and wrote. Usage and cost settle against your key the moment the response completes.

OpenAI SDK

Any OpenAI client works. Point it at the base URL and pass your key.

Python
from openai import OpenAI

client = OpenAI(
    base_url="https://wildwestapi.com/v1",
    api_key="sk-ww-...",  # your Wild West API key
)

reply = client.chat.completions.create(
    model="outlaw-1-xploded",
    messages=[
        {"role": "system", "content": "You are a concise assistant."},
        {"role": "user", "content": "Explain abliteration in two sentences."},
    ],
)
print(reply.choices[0].message.content)
JavaScript
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://wildwestapi.com/v1",
  apiKey: process.env.WILDWEST_API_KEY,
});

const stream = await client.chat.completions.create({
  model: "outlaw-1-xploded",
  messages: [{ role: "user", content: "Write the opening of a heist story." }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

Set stream: true and read server-sent events as usual. Output tokens are counted as they stream, so if the client hangs up mid-response you pay for what was actually generated.

Models

The uncensored AI models list shows every model with its price. From code, call GET https://wildwestapi.com/v1/models. Each entry has an id (put this in model), a display name, context_length, and pricing.prompt and pricing.completion in dollars per token. Multiply by a million for the per-million price.

Flags on each entry say what it can do: supports_vision for image input, supports_tools for function calling, supports_reasoning for models that think before answering.

SillyTavern

  1. Open the API Connections panel (the plug icon at the top).
  2. Set API to Chat Completion.
  3. Set Chat Completion Source to Custom (OpenAI-compatible).
  4. Custom Endpoint (Base URL): https://wildwestapi.com/v1
  5. Custom API Key: your sk-ww-... key.
  6. Press Connect, then pick a model from the list, or type its id.
  7. Send a test message. If it answers, you are done.

Use Chat Completion, not Text Completion. The full walkthrough, with settings that suit long roleplay, is in the SillyTavern setup guide.

Browser-only apps

The API does not answer cross-origin (CORS) requests today, so a web page cannot call it straight from your browser tab. Apps that call it from a server or from your own machine, like SillyTavern, scripts and backends, work normally.

Anthropic format

Tools built for Claude can talk to Wild West API through POST /v1/messages. Send the key as x-api-key or as a Bearer token. Use a Wild West model id in model.

bash
curl https://wildwestapi.com/v1/messages \
  -H "x-api-key: $WILDWEST_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "outlaw-1-xploded",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Errors

StatusMeaningWhat to do
401The key is missing, wrong or revoked.Check for spaces, or make a new key.
402Out of credit, or the key hit its cap.Top up, or raise the cap on that key.
404Unknown model id.Copy the id from the model list.
429Too many requests at once.Wait a moment and retry.
5xxThe model host had a problem.Retry, or try another model.

Error bodies follow the OpenAI shape, with a readable sentence in error.message.