Platform · AI Gateway

One gateway. Every model.

An OpenAI-compatible inference endpoint gated by your Layups account. Swap one base URL, keep your SDK, and reach a curated catalog of frontier models — no extra API keys to manage.

Base URL

https://ai.layups.ai/v1

Use it anywhere an OpenAI-compatible base URL is accepted. Your Layups token is the API key.

What you get

The models, minus the key sprawl.

01

OpenAI-compatible

The standard /v1 API shape. Point any OpenAI-compatible SDK or tool at the gateway and it works — chat completions, streaming, and the model catalog.

02

Sign in with Layups

Your Layups credential is the API key. No separate key portal, no copied secrets — access follows your account.

03

Every major model

A curated catalog across Anthropic, OpenAI, Google, and more, behind one endpoint. List what's live with GET /v1/models.

04

Streaming built in

Server-sent events stream token by token, exactly as the model produces them. Long generations are never cut short.

Quickstart

Your first request.

A chat completion is one HTTP call. Authenticate with your Layups token as the bearer, name a model from the catalog, and send messages. Add "stream": true to stream.

Terminal

curl https://ai.layups.ai/v1/chat/completions \
  -H "Authorization: Bearer $LAYUPS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-4.6",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Python

Use the OpenAI SDK.

Two constructor arguments are the whole integration: point base_url at the gateway and pass your Layups token as api_key. Everything else — streaming, tool calls, vision — is the SDK you already know.

Python

from openai import OpenAI

client = OpenAI(
    base_url="https://ai.layups.ai/v1",
    api_key=LAYUPS_TOKEN,
)

completion = client.chat.completions.create(
    model="anthropic/claude-sonnet-4.6",
    messages=[{"role": "user", "content": "Hello"}],
)

JavaScript

Same trick in Node.

The official openai package, or any library with a configurable base URL, connects the same way. Model ids use the provider/model form.

JavaScript

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://ai.layups.ai/v1",
  apiKey: process.env.LAYUPS_TOKEN,
});

const completion = await client.chat.completions.create({
  model: "anthropic/claude-sonnet-4.6",
  messages: [{ role: "user", content: "Hello" }],
});

Model catalog

See what’s live.

The catalog endpoint is the source of truth for the curated list. What it returns is exactly what the gateway will serve — no guessing which ids work.

Terminal

curl https://ai.layups.ai/v1/models \
  -H "Authorization: Bearer $LAYUPS_TOKEN"

Safe by design

Access follows your account.

Every request is authenticated against Layups before it touches a model. There is no standalone key to leak or rotate — when someone leaves your organization, their gateway access goes with them.

Questions

Good to know.

What do I use as the API key?

A Layups access token — the credential your account gets from Sign in with Layups. Pass it as the bearer token wherever an SDK asks for an API key.

Which models are available?

The catalog is curated and grows over time. Call GET /v1/models with your token for the live list — what it returns is exactly what you can use.

Does streaming work?

Yes. Set stream: true and responses arrive as server-sent events, token by token, through any OpenAI-compatible SDK.

Do I need an SDK?

No. The gateway speaks plain HTTP — curl works. Any library that supports a custom OpenAI-compatible base URL works too.

Want gateway access?

The AI Gateway comes with a Layups organization. We’ll get your team signed in and calling models in minutes.