Documentación de integración
666 AI admite tres protocolos habituales. La herramienta que ya usas funcionará casi con seguridad: cambia una dirección, pega una API Key y no toques nada más.
YOUR-ENDPOINT por tu propia dirección: aparece en la página de inicio de la consola, o deja que la guía de inicio genere la configuración por ti.Conexión en tres pasos
Del registro a la primera petición no suelen pasar más de tres minutos.
1. Consigue tu API Key
Créala en la página «API Key» de la consola. Recomendamos una por proyecto, con un límite de gasto.
2. Indica la dirección
https://YOUR-ENDPOINT/v1
3. Compruébalo
curl https://YOUR-ENDPOINT/v1/chat/completions \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d '{"model":"deepseek-v4-flash", "messages":[{"role":"user","content":"hi"}]}' # A JSON response means it works
Protocolos admitidos
Una sola API Key, un solo saldo y tres protocolos a elegir. No necesitas una clave distinta para cada herramienta.
Formato OpenAI
La librería oficial openai funciona tal cual: solo cambia base_url.
from openai import OpenAI client = OpenAI( api_key="YOUR_KEY", base_url="https://YOUR-ENDPOINT/v1" ) resp = client.chat.completions.create( model="deepseek-v4-flash", messages=[{"role": "user", "content": "你好"}] ) print(resp.choices[0].message.content)
import OpenAI from "openai"; const client = new OpenAI({ apiKey: "YOUR_KEY", baseURL: "https://YOUR-ENDPOINT/v1" }); const resp = await client.chat.completions.create({ model: "deepseek-v4-flash", messages: [{ role: "user", content: "你好" }] }); console.log(resp.choices[0].message.content);
Formato Anthropic
Si usas Claude Code o el SDK oficial de Anthropic, elige este formato; no hace falta ninguna conversión. Ojo: esta dirección no lleva /v1.
# Add to ~/.zshrc or ~/.bashrc export ANTHROPIC_BASE_URL="https://YOUR-ENDPOINT" export ANTHROPIC_AUTH_TOKEN="YOUR_KEY" # Reopen the terminal, then just run claude
from anthropic import Anthropic client = Anthropic( api_key="YOUR_KEY", base_url="https://YOUR-ENDPOINT" ) msg = client.messages.create( model="claude-sonnet-5-5", max_tokens=1024, messages=[{"role": "user", "content": "你好"}] ) print(msg.content[0].text)
Formato Gemini
En preparación. Mientras tanto, los modelos Gemini siguen disponibles con el formato OpenAI de arriba, con las mismas funciones.
# Call Gemini like this curl https://YOUR-ENDPOINT/v1/chat/completions \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d '{"model":"gemini-3.5-flash","messages":[{"role":"user","content":"hi"}]}'
Editores y agentes
Cursor
- Settings → Models → OpenAI API Key
- Activa Override Base URL
- Introduce la dirección y la API Key, y pulsa Verify
Claude Code
- Define ANTHROPIC_BASE_URL
- Define ANTHROPIC_AUTH_TOKEN
- Vuelve a abrir la terminal y ejecuta claude
Cline / Roo Code
- Elige OpenAI Compatible como Provider
- Rellena Base URL y API Key
- En Model ID pon el identificador del catálogo
Continue
- Edita config.json
- Pon openai como provider
- Añade el campo apiBase
Aplicaciones y extensiones
ChatBox / NextChat
- Elige OpenAI como servicio de modelo
- Pon la dirección de la pasarela como dominio de API
- Escribe el nombre del modelo a mano
Immersive Translate
- Añade una interfaz de IA personalizada
- Dirección: /v1/chat/completions
- Conviene elegir un modelo rápido y barato
Open WebUI
- Ajustes → Conexiones externas
- Añade una conexión OpenAI API
- Pon la dirección y la API Key, y guarda
Frameworks de desarrollo
Dify
- Elige OpenAI-API-compatible como proveedor
- Rellena el API endpoint y la API Key
- El resto de la configuración no cambia
n8n
- Crea unas credenciales de OpenAI
- Pon la dirección de la pasarela en Base URL
- Selecciona esas credenciales en el nodo
LangChain
- Usa ChatOpenAI
- Pásale base_url
- El resto de la cadena no cambia
Streaming / Llamada a herramientas / Visión
Estas tres funciones se usan exactamente igual que en las interfaces oficiales, sin cambiar parámetros. Que estén disponibles depende del modelo: viene indicado en el catálogo.
stream = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role":"user","content":"写一首诗"}],
stream=True
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")
Caché de prompts
Si cada petición lleva el mismo prefijo largo —prompt de sistema, código del proyecto, documentos—, la parte cacheada se factura con un descuento importante. Donde más se nota es en programación y agentes.
Códigos de error
| Código | Significado | Qué hacer |
|---|---|---|
401 | API Key no válida o desactivada | Comprueba que copiaste la API Key entera y que sigue existiendo |
402 | Saldo insuficiente | Recarga desde la consola |
404 | El modelo no existe | Revisa cómo está escrito el identificador en el catálogo |
429 | Demasiadas peticiones | Baja la concurrencia o inténtalo más tarde |
500 | Error del proveedor | La pasarela reintenta automáticamente por una ruta de respaldo. Escríbenos si el error persiste |
Cuotas y límites
Cada API Key puede tener su propio límite de gasto y su lista de modelos permitidos. Usa una clave por proyecto: si alguna se filtra, la pérdida tiene tope y basta con borrarla y crear otra.