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
| Ajuste | Valor |
|---|---|
| URL base | https://api14.com/api/v1 |
| Clave de API | tu 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 OpenAI | api14 |
|---|---|
chat.completions.create incl. stream, tools, response_format | Compatible con todos los modelos de texto |
responses.create | Compatible |
completions.create | Compatible |
embeddings.create | Compatible |
images.generate | Compatible (/images/generations) |
audio.speech.create | Compatible |
audio.transcriptions.create | Compatible (multipart) |
models.list / models.retrieve | Compatible, 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
- Fija la URL base en
https://api14.com/api/v1y usa tu clave de api14. - Añade el proveedor como prefijo a los nombres de modelo:
gpt-5-minipasa a seropenai/gpt-5-miniytext-embedding-3-smallpasa a seropenai/text-embedding-3-small. - Y ya está. Ahora también puedes cambiar a cualquier otro proveedor cambiando el id del modelo, por ejemplo
anthropic/claude-sonnet-4.5ogoogle/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
- Fija la URL base en
https://api14.com/api/v1. - Sustituye tu clave de API actual por tu clave de api14.
- Los ids de modelo usan el formato
proveedor/modelo(por ejemploopenai/gpt-5-mini). También se admiten variantes (:free,:online,:nitro,:floor), enrutamiento conprovider, respaldos conmodels,reasoning,plugins,transformsyusage.
Diferencias que debes conocer:
- La facturación es un saldo en USD.
GET /creditsdevuelvetotal_creditsytotal_usageen USD, además debalance_usd. Consulta Saldo e información de la clave. - El coste de uso siempre se incluye. La pasarela siempre pide
usage.costal upstream, así que cada respuesta indica su precio. - Las cabeceras como
HTTP-RefereryX-Titlelas 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.