Usamos cookies. Las cookies y el almacenamiento del navegador mantienen tu sesión iniciada y recuerdan tus preferencias. Con tu permiso, también medimos cómo se usa el sitio. Puedes en cualquier momento. Consulta nuestra política de cookies.

Compatibilidad con el SDK de OpenAI

Primeros pasos

Compatibilidad con el SDK de OpenAI

Usa los SDK oficiales de OpenAI sin cambios y migra desde OpenAI u otra API compatible con OpenAI cambiando solo la URL base y la clave de API.

api14 habla la API de OpenAI. Cualquier SDK oficial de OpenAI, y cualquier herramienta que acepte una URL base de OpenAI personalizada, funciona sin tocar el código: solo cambias la URL base y la clave de API.

Los dos valores que hay que cambiar

AjusteValor
URL basehttps://api14.com/api/v1
Clave de APItu clave sk-api14-...
import OpenAI from 'openai'

const client = new OpenAI({
  baseURL: 'https://api14.com/api/v1',
  apiKey: process.env.API14_API_KEY,
})
import os
from openai import OpenAI

client = OpenAI(base_url="https://api14.com/api/v1", api_key=os.environ["API14_API_KEY"])

Muchos SDK también leen las variables de entorno OPENAI_BASE_URL y OPENAI_API_KEY, así que puedes cambiar sin tocar el código en absoluto.

Qué es compatible

Función de OpenAIapi14
chat.completions.create incl. stream, tools, response_formatCompatible con todos los modelos de texto
responses.createCompatible
completions.createCompatible
embeddings.createCompatible
images.generateCompatible (/images/generations)
audio.speech.createCompatible
audio.transcriptions.createCompatible (multipart)
models.list / models.retrieveCompatible, con precios y categorías
Formato de error { error: { message, type, code } }El mismo: los SDK lanzan su APIError habitual

Los endpoints que solo existen en OpenAI (Assistants, Threads, fine-tuning, files, batches, vector stores y moderations) no están disponibles.

Migrar desde OpenAI

  1. Fija la URL base en https://api14.com/api/v1 y usa tu clave de api14.
  2. Añade el proveedor como prefijo a los nombres de modelo: gpt-5-mini pasa a ser openai/gpt-5-mini y text-embedding-3-small pasa a ser openai/text-embedding-3-small.
  3. Y ya está. Ahora también puedes cambiar a cualquier otro proveedor cambiando el id del modelo, por ejemplo anthropic/claude-sonnet-4.5 o google/gemini-2.5-pro.
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Explain vector databases in two sentences."
    }
  ]
});
console.log(result.choices[0].message.content);

Migrar desde otra API compatible con OpenAI

  1. Fija la URL base en https://api14.com/api/v1.
  2. Sustituye tu clave de API actual por tu clave de api14.
  3. Los ids de modelo usan el formato proveedor/modelo (por ejemplo openai/gpt-5-mini). También se admiten variantes (:free, :online, :nitro, :floor), enrutamiento con provider, respaldos con models, reasoning, plugins, transforms y usage.

Diferencias que debes conocer:

  • La facturación es un saldo en USD. GET /credits devuelve total_credits y total_usage en USD, además de balance_usd. Consulta Saldo e información de la clave.
  • El coste de uso siempre se incluye. La pasarela siempre pide usage.cost al upstream, así que cada respuesta indica su precio.
  • Las cabeceras como HTTP-Referer y X-Title las fija la pasarela; no necesitas enviarlas.
  • Las URL de las tareas de vídeo apuntan a api14 (/api/v1/videos/{id}), nunca al upstream. Consulta Vídeo.

Parámetros adicionales en los SDK

Puedes enviar igualmente campos que el SDK de OpenAI no conoce:

await client.chat.completions.create({
  model: 'openai/gpt-5-mini',
  messages: [{ role: 'user', content: 'Hi' }],
  // @ts-expect-error api14 extension
  provider: { sort: 'price' },
})
client.chat.completions.create(
    model="openai/gpt-5-mini",
    messages=[{"role": "user", "content": "Hi"}],
    extra_body={"provider": {"sort": "price"}},
)

Consulta Enrutamiento de proveedores y respaldos, Razonamiento y Búsqueda web.