- Native —
POST /v1/llm/chat(one stable shape across all models). - OpenAI-compatible —
POST /openai/v1/chat/completionsso existing OpenAI SDKs and OpenAI-shaped tools (Cline, Roo Code, Continue, Aider, Cursor, OpenWebUI, LiteLLM, LangChain, n8n, …) work without code changes. - Anthropic-compatible —
POST /anthropic/v1/messagesso Claude Code, openclaw, and Anthropic-shaped tools work by just changingANTHROPIC_BASE_URL.
Available models
GET /v1/llm/models returns the full catalog with per-model pricing in
millicredits per 1M tokens.
You never pass a provider-specific model name. There is no “claude-3-opus-20240229”
here — we control which underlying weights satisfy each AdSkull model ID and
may upgrade them transparently with at least 30 days’ notice.
Pricing model
LLM calls bill in millicredits (1 credit = 1000 millicredits). This means short prompts can cost a fraction of a credit. Whole credits are only deducted from your balance once accumulated usage crosses the next 1000-millicredit boundary; the remainder is carried as internal debt against your account. Every response includes both the integer-precision and fractional cost:GET /v1/llm/models. See Models for the broader
catalog across image, video, voice, and avatar.
Required scopes
Both compatibility façades use the same AdSkull API key — there’s no
separate “OpenAI key” or “Anthropic key” to issue.
Idempotency
Every non-streamingPOST accepts an Idempotency-Key header. Same key +
same body within 24h replays the cached response and charges nothing extra.
Streaming requests cannot be replayed but are still rate-limited normally.
What’s next
Native chat
The simplest, most stable shape — one schema for every AdSkull LLM.
Multimodal helpers
One-call vision/audio/video descriptions with structured JSON output.
OpenAI-compatible
Drop AdSkull into any OpenAI SDK or OpenAI-shaped tool.
Anthropic-compatible
Use Claude Code, openclaw, and Anthropic SDKs unchanged.

