Quickstart
The gateway base URL is https://llms.party/v1. Authenticate with your API
key:
export LLMS_PARTY_KEY="sk-..."1. Confirm the key
GET /v1/models is scoped to what the key may call. It is the cheapest
round-trip and the first thing to try when a request fails.
curl -sS "https://llms.party/v1/models" \
-H "Authorization: Bearer $LLMS_PARTY_KEY"const response = await fetch('https://llms.party/v1/models', {
headers: { authorization: `Bearer ${process.env.LLMS_PARTY_KEY}` },
});
const { data } = await response.json();
console.log(data);import os
import requests
response = requests.get(
"https://llms.party/v1/models",
headers={"Authorization": f"Bearer {os.environ['LLMS_PARTY_KEY']}"},
timeout=30,
)
print(response.json()["data"])A 401 means the key is wrong or revoked. An empty data array means the key
has no model groups.
2. First completion
curl -sS "https://llms.party/v1/chat/completions" \
-H "Authorization: Bearer $LLMS_PARTY_KEY" \
-H "content-type: application/json" \
-d '{
"model": "deepseek-flash",
"messages": [{"role": "user", "content": "Explain an LLM gateway in one sentence."}]
}'import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://llms.party/v1',
apiKey: process.env.LLMS_PARTY_KEY,
});
const completion = await client.chat.completions.create({
model: 'deepseek-flash',
messages: [
{ role: 'user', content: 'Explain an LLM gateway in one sentence.' },
],
});
console.log(completion.choices[0]?.message.content);import os
from openai import OpenAI
client = OpenAI(
base_url="https://llms.party/v1",
api_key=os.environ["LLMS_PARTY_KEY"],
)
completion = client.chat.completions.create(
model="deepseek-flash",
messages=[{"role": "user", "content": "Explain an LLM gateway in one sentence."}],
)
print(completion.choices[0].message.content)Any OpenAI-compatible client works. Chat, streaming and vision use the OpenAI chat shape; video uses the video API.
3. Stream it
Set "stream": true and read SSE.
curl -N -sS "https://llms.party/v1/chat/completions" \
-H "Authorization: Bearer $LLMS_PARTY_KEY" \
-H "content-type: application/json" \
-d '{
"model": "deepseek-v4-pro",
"stream": true,
"messages": [{"role": "user", "content": "Plan a migration in three bullets."}]
}'const stream = await client.chat.completions.create({
model: 'deepseek-v4-pro',
stream: true,
messages: [{ role: 'user', content: 'Plan a migration in three bullets.' }],
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}stream = client.chat.completions.create(
model="deepseek-v4-pro",
stream=True,
messages=[{"role": "user", "content": "Plan a migration in three bullets."}],
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")4. Try it without a terminal
Chat playground
Same completion, streamed inline, against the live gateway.
Video generation
Create a MiniMax H3 or BytePlus Seedance job and watch it poll.
Errors & limits
What each status code means and where budgets bite.