Skip to content

← Integration

OpenAI API compatibility

OpenRouter speaks OpenAI's chat-completions schema, so you reuse the official SDK by only changing base_url and api_key.

6 slides 4 min read
  1. OpenRouter · Integració

    OpenAI API compatibility

    Hundreds of models behind an endpoint you already know.

    OpenRouter · Integration arlaf.dev
  2. The idea in one sentence

    OpenRouter exposes OpenAI's chat-completions schema. If your code already talks to OpenAI, you only repoint where it points.

    • base_url → https://openrouter.ai/api/v1
    • api_key → your OpenRouter key
    • model → a catalog slug, e.g. openai/gpt-4o
    OpenRouter · Integration arlaf.dev
  3. Same SDK, in Python

    import os
    from openai import OpenAI
    
    client = OpenAI(
        base_url="https://openrouter.ai/api/v1",
        api_key=os.environ["OPENROUTER_API_KEY"],
    )
    
    resp = client.chat.completions.create(
        model="anthropic/claude-3.5-sonnet",  # slug del catàleg (exemple)
        messages=[{"role": "user", "content": "Hola, qui ets?"}],
    )
    print(resp.choices[0].message.content)
    
    OpenRouter · Integration arlaf.dev
  4. The same, in TypeScript

    import OpenAI from "openai";
    
    const client = new OpenAI({
      baseURL: "https://openrouter.ai/api/v1",
      apiKey: process.env.OPENROUTER_API_KEY,
    });
    
    const resp = await client.chat.completions.create({
      model: "openai/gpt-4o", // slug del catàleg (exemple)
      messages: [{ role: "user", content: "Hola, qui ets?" }],
    });
    console.log(resp.choices[0].message.content);
    
    OpenRouter · Integration arlaf.dev
  5. Frameworks fit too

    Any library built on the OpenAI API — LangChain, the Vercel AI SDK, LlamaIndex — works by repointing the base URL and key. You rewrite nothing.

    OpenRouter · Integration arlaf.dev
  6. You change two lines of config, not the whole client.
    OpenRouter · Integration arlaf.dev
Read the full note

La gràcia d’OpenRouter és que no t’obliga a aprendre una API nova. Parla exactament l’esquema de chat-completions d’OpenAI, el mateix que ja fan servir mig món i totes les llibreries serioses de l’ecosistema. Per tant, el codi que ja tens contra OpenAI segueix valent — només cal redirigir-lo.

Què canvia, exactament

Tres coses i prou:

  • base_url: apunta a https://openrouter.ai/api/v1 en comptes de l’endpoint d’OpenAI.
  • api_key: la teva clau d’OpenRouter, normalment des d’una variable d’entorn com OPENROUTER_API_KEY — mai escrita al codi.
  • model: un slug del catàleg, com openai/gpt-4o o anthropic/claude-3.5-sonnet. Aquí és on tries entre centenars de models de proveïdors diferents, tots darrere del mateix endpoint.

La forma de les peticions i les respostes — messages, choices, message.content — és idèntica. Per això pots fer servir l’SDK oficial d’OpenAI tant en Python com en JS/TS sense tocar res més.

Els frameworks t’ho regalen

Com que tot l’ecosistema s’ha construït sobre aquest esquema, eines com LangChain, el Vercel AI SDK o LlamaIndex s’integren igual: la majoria exposen un paràmetre per fixar la base URL i la clau. El canvi és de configuració, no de codi.

Nota: els slugs de model són exemples. Mira el catàleg d’OpenRouter per saber quins models hi ha disponibles i com s’anomenen exactament en cada moment.