cd ../返回博客
$Guide//2026年6月4日//6 min read

Cómo migrar de OpenAI a Brievio en 10 minutos — Python, Node, LangChain y Vercel AI SDK

Guía práctica para migrar de la API de OpenAI a Brievio en unos diez minutos: el cambio de una sola línea en Python, Node, LangChain y Vercel AI SDK, conservando tu SDK y tu código.

Si tu aplicación ya habla con la API de OpenAI, cambiar a Brievio lleva unos diez minutos — la mayor parte de los cuales es darse de alta. Conservas tu SDK y tu base de código; obtienes los modelos genuinos sobre infraestructura fiable y con facturación honesta de tokens. Esta guía recorre los cuatro tipos de integración que tienen la mayoría de los equipos y el cambio de una sola línea que cada uno necesita.

Paso 0 — Consigue una clave (2 minutos)

  1. Date de alta en brievio.com/app/signup. Recibes 2 $ de crédito al registrarte; no hace falta tarjeta.
  2. Ve a /app/keys y crea una clave. Empieza por sk-brievio-.
  3. Define la variable de entorno: export BRIEVIO_API_KEY=sk-brievio-....

Paso 1 — Cambia tu SDK (1 minuto)

Python (paquete openai)

migrate.py
# Antes — apuntando directamente a OpenAI
from openai import OpenAI
client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],
)

# Después — apuntando a Brievio. Todo lo demás se queda igual.
from openai import OpenAI
client = OpenAI(
    api_key=os.environ["BRIEVIO_API_KEY"],
    base_url="https://api.brievio.com/v1",
)

Node / TypeScript

migrate.mjs
// Antes
import OpenAI from "openai";
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

// Después
import OpenAI from "openai";
const client = new OpenAI({
  apiKey: process.env.BRIEVIO_API_KEY,
  baseURL: "https://api.brievio.com/v1",
});

LangChain

LangChain usa internamente el mismo cliente de OpenAI, así que el cambio es idéntico. El id del modelo ahora es un slug de Brievio — consulta /models para ver la lista en vivo (prueba claude-sonnet-4-6, gemini-2.5-flash, claude-opus-4-7).

langchain_setup.py
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="claude-sonnet-4-6",          # cambiamos el modelo
    api_key=os.environ["BRIEVIO_API_KEY"],
    base_url="https://api.brievio.com/v1",
)

Vercel AI SDK

@ai-sdk/openai lee por defecto su URL base y su clave de API desde variables de entorno. Defínelas y listo — todos los helpers del framework (streamText, generateObject, reintentos, enrutamiento de herramientas) funcionan sin cambios.

vercel_ai.mjs
import { openai } from "@ai-sdk/openai";

// @ai-sdk/openai lee OPENAI_BASE_URL automáticamente
process.env.OPENAI_BASE_URL = "https://api.brievio.com/v1";
process.env.OPENAI_API_KEY = process.env.BRIEVIO_API_KEY;

const model = openai("claude-sonnet-4-6");
// luego usa streamText / generateText / streamObject como siempre

SDK de Anthropic (si ya usas Claude)

Brievio expone la API nativa Messages de Anthropic en /v1/messages además del formato de OpenAI — así que no tienes que cambiar de SDK.

anthropic_sdk.py
from anthropic import Anthropic

# Antes — SDK de Anthropic contra api.anthropic.com
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

# Después — el mismo SDK, contra Brievio. Caché, thinking y tools pasan tal cual.
client = Anthropic(
    api_key=os.environ["BRIEVIO_API_KEY"],
    base_url="https://api.brievio.com",   # el SDK añade /v1/messages
)

Paso 2 — Haz un smoke test del monedero (1 minuto)

Antes de tocar el código de producción, ejecuta una prueba barata contra claude-haiku-4-5. Si esto devuelve con éxito, tu clave funciona, la facturación funciona y la capa de enrutamiento está sana.

smoke_test.py
# Smoke test barato y casi determinista para validar la migración.
resp = client.chat.completions.create(
    model="claude-haiku-4-5",            # el Claude más barato
    messages=[{"role": "user", "content": "ping"}],
    max_tokens=8,
    temperature=0,
)
assert resp.choices[0].message.content, "respuesta vacía"
print("ok — el monedero de Brievio funciona, coste total ~$0.0001")

Paso 3 — Mueve el tráfico (5 minutos)

El patrón seguro: dos variables de entorno en tu aplicación — AI_BASE_URL y AI_API_KEY — seleccionadas por entorno. Producción se queda en OpenAI; staging cambia a Brievio. Después de 24 horas, pasa producción también.

Si tienes curiosidad por el impacto en el coste antes de hacer el cambio, el panel de Brievio muestra el coste por llamada frente a la tarifa oficial del proveedor original — fácil de calcular la diferencia mensual prevista sobre tus prompts reales.

Lo que se queda igual

  • Tu SDK y tu base de código.
  • Streaming, function calling, uso de herramientas, visión, salidas estructuradas.
  • Los esquemas exactos de petición y respuesta de OpenAI.
  • La forma del error (error.message / error.type / error.code).

Lo que cambia para mejor

  • Autenticidad. El modelo genuino de primera parte en cada llamada — contexto completo, herramientas y caché nativas, sin rebajas silenciosas ni proxies reenvueltos.
  • Precio. Cada modelo tiene un precio de aproximadamente un 15% por debajo de la lista oficial del proveedor, facturado sobre conteos reales de tokens — consulta /pricing.
  • Modalidad. El mismo SDK alcanza Claude (claude-opus-4-7), Gemini (gemini-2.5-pro), GPT-Image-2, Veo 3, Nano Banana — consulta /models.
  • Facturación. Monedero nativo de Stripe — tarjetas, Apple Pay, Google Pay, ACH, SEPA, Alipay, WeChat Pay. Una sola factura auditable.
  • Fiabilidad. Conmutación por error automática y monitorizada — reenrutamos en cuanto un proveedor original se degrada, normalmente antes de que se dispare tu bucle de reintentos.

Las notas del camino menos feliz

  • Endpoints específicos de OpenAI que hoy no cubrimos: /v1/responses (usa /v1/chat/completions), /v1/assistants (gestiona el estado por tu lado; somos un gateway sin estado), /v1/realtime (planificado).
  • Algunas funciones específicas de Claude — cache_control, el thinking extendido — rinden mejor a través del endpoint nativo /v1/messages, no del formato de OpenAI.

¿Atascado? contact@brievio.com — una persona responde en un día laborable. Si estás haciendo una migración seria, nos ponemos en una llamada.