Skip to main content

Documentation Index

Fetch the complete documentation index at: https://polargrid.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Migrating from OpenAI

PolarGrid exposes an OpenAI-compatible API. If you’re already using OpenAI, migration is straightforward — in many cases it’s a single line change.

Option 1: Use the OpenAI SDK directly

The fastest migration path. Keep using the OpenAI SDK — just change the base URL and auth.
import OpenAI from 'openai';

// Before: OpenAI
const openai = new OpenAI({ apiKey: 'sk-...' });

// After: PolarGrid (using OpenAI SDK)
const pg = new OpenAI({
  apiKey: 'pg_your_api_key',  // PolarGrid API key — sent directly to the edge
  baseURL: 'https://api.yto-01.edge.polargrid.ai/v1',  // pin a region, or discover one via the autorouter (see /guides/regions)
});

// Same API — no other changes needed
const response = await pg.chat.completions.create({
  model: 'qwen-3.5-27b',  // PolarGrid model name
  messages: [{ role: 'user', content: 'Hello!' }],
});
The edge accepts your pg_* API key directly — no token exchange step.

Option 2: Use the PolarGrid SDK

The PolarGrid SDK handles authentication, region selection, and token refresh automatically.
import { PolarGrid } from '@polargrid/polargrid-sdk';

// Auto-selects fastest region; sends your API key directly to the edge.
const client = await PolarGrid.create({
  apiKey: 'pg_your_api_key',
});

// Same familiar API shape
const response = await client.chatCompletion({
  model: 'qwen-3.5-27b',
  messages: [{ role: 'user', content: 'Hello!' }],
});

console.log(response.choices[0].message.content);
What the SDK handles for you:
  • Latency-based region selection (pings all regions, picks the fastest)
  • Direct API key auth — your pg_* is the bearer token, no extra exchange step
  • Streaming, audio, and model management APIs

Option 3: Direct HTTP

If you’re calling OpenAI via raw HTTP, swap the base URL:
# Before: OpenAI
curl https://api.openai.com/v1/chat/completions \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'

# After: PolarGrid — API key direct to the edge
# Step 1: Ask the autorouter which edge is best for the caller (returns
# {region, name, endpoint, ttl}; endpoint is the actual base URL).
EDGE=$(curl -s https://autorouter.polargrid.ai/v1/route | jq -r .endpoint)

# Step 2: POST inference directly to that edge with your pg_* key
curl $EDGE/v1/chat/completions \
  -H "Authorization: Bearer pg_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"model": "qwen-3.5-27b", "messages": [{"role": "user", "content": "Hello"}]}'

What’s Different

OpenAIPolarGrid
AuthSingle API keySingle API key (pg_*) sent directly to the edge
Base URLapi.openai.comapi.{region}.edge.polargrid.ai (discover the best region via GET https://autorouter.polargrid.ai/v1/route, or pin one)
ModelsGPT-4o, GPT-4o-mini, etc.Qwen, Llama, Whisper, etc. (full list)
RegionsSingle endpointMultiple edge regions (see regions)
StreamingSSESSE (same format)
Response formatOpenAI JSONSame OpenAI-compatible JSON
Audio/v1/audio/speech, /v1/audio/transcriptionsSame endpoints, same format
The PolarGrid SDK eliminates most of these differences — it handles auth, region selection, and token refresh automatically. If you’re building a new integration, start with the SDK.

Next Steps

Models

See all available models and specs

Regions

Understand edge regions and auto-routing

Streaming

Stream responses as they’re generated

Voice AI

Text-to-speech and speech-to-text