Documentación

Documentación

API de Ollama compatible con OpenAI

Ollama ofrece una API compatible con OpenAI para modelos locales. Así puedes llamarla con el SDK de OpenAI y usar el mismo código para acceder a Claude y GPT alojados cambiando solo base_url y model.

Ollama ejecuta modelos abiertos en tu propio equipo y los ofrece a través de una API compatible con OpenAI en http://localhost:11434/v1. Como el formato de comunicación coincide con el de OpenAI, el SDK oficial de OpenAI funciona con Ollama sin cambios; con el mismo código puedes acceder a modelos de vanguardia alojados cambiando solo la URL base.

En resumen: la API de OpenAI de Ollama está en http://localhost:11434/v1. Configura ahí el base_url del cliente de OpenAI y usa cualquier api_key como marcador de posición. Para usar Claude/GPT alojados, cambia base_url a https://api.kunavo.com/v1 y el identificador del modelo; no hace falta cambiar nada más.

Qué es la API de Ollama compatible con OpenAI

Ollama es un proyecto independiente de código abierto para ejecutar localmente modelos como Llama, Qwen y Mistral. Además de su API nativa, ofrece una interfaz compatible con OpenAI, por lo que las herramientas creadas para OpenAI funcionan sin reescribirlas. Implementa los endpoints que usan la mayoría de las aplicaciones:

Punto de conexiónPropósito
POST /v1/chat/completionsChat: el endpoint que usan la mayoría de las aplicaciones
POST /v1/completionsCompletions de texto heredadas
POST /v1/embeddingsEmbeddings para modelos locales
GET /v1/modelsEnumerar modelos descargados localmente

Ofrece chat, completions y embeddings (además de entrada visual en modelos locales multimodales). No genera imágenes, vídeo ni audio. Kunavo implementa el mismo contrato /v1/chat/completions: esa referencia documenta cada parámetro, la estructura de los deltas de streaming y el objeto usage, e incluye una tabla de paridad línea por línea con la interfaz v1 de Ollama.

Llamar a Ollama con el SDK de OpenAI

Dirige base_url a http://localhost:11434/v1. El SDK requiere un api_key, pero Ollama local ignora su valor; pasa cualquier cadena. Establece model con un modelo que hayas descargado (por ejemplo, ollama pull llama3.2).

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1",  # Ollama's OpenAI-compatible API
    api_key="ollama",  # required by the SDK, ignored by local Ollama
)

resp = client.chat.completions.create(
    model="llama3.2",
    messages=[{"role": "user", "content": "Explain quicksort in one paragraph."}],
)
print(resp.choices[0].message.content)

O con curl:

curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama3.2",
    "messages": [{"role": "user", "content": "Hello, Ollama"}]
  }'

El mismo código, con modelos de vanguardia alojados

Ollama es ideal para el desarrollo sin conexión y para trabajos sensibles a la privacidad, pero los modelos locales están por detrás de los de vanguardia en razonamiento complejo, programación y contexto largo. Como Kunavo también es compatible con OpenAI, trasladar una llamada a un modelo alojado requiere cambiar dos líneas: base_url y el identificador del modelo:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.kunavo.com/v1",  # only this line changes
    api_key="sk-kn-...",               # a real key now
)

resp = client.chat.completions.create(
    model="claude-sonnet-5",  # a hosted frontier model
    messages=[{"role": "user", "content": "Explain quicksort in one paragraph."}],
)
print(resp.choices[0].message.content)
Ollama (local)Kunavo (alojado)
URL baselocalhost:11434/v1api.kunavo.com/v1
Se ejecuta enTu equipoAPI administrada
ModelosModelos locales abiertosClaude, GPT, Veo, Suno
ModalidadesTexto + embeddingsTexto, imagen, vídeo, audio
CostoTu hardware / electricidadPor token, según la tarifa publicada
Ideal paraDesarrollo sin conexión, privacidadCalidad de vanguardia en producción
Una clave de Kunavo te da acceso a todos los modelos alojados, con un único cobro mediante Stripe. Consulta la guía de inicio rápido para hacer tu primera llamada.

Cambiar mediante una variable de entorno

Un patrón habitual consiste en usar Ollama para el desarrollo local y modelos alojados en producción, seleccionados mediante una variable de entorno. El cliente y el código de la solicitud son idénticos; solo cambian base_url y el modelo:

import os
from openai import OpenAI

# One client, switched by environment. Local for dev, hosted for prod.
if os.getenv("APP_ENV") == "production":
    client = OpenAI(base_url="https://api.kunavo.com/v1",
                    api_key=os.environ["KUNAVO_API_KEY"])
    MODEL = "claude-haiku-4-5"
else:
    client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
    MODEL = "llama3.2"

resp = client.chat.completions.create(
    model=MODEL,
    messages=[{"role": "user", "content": "ping"}],
)
print(resp.choices[0].message.content)

Preguntas frecuentes

¿Ollama tiene una API compatible con OpenAI?

Sí. Ollama ofrece una API REST compatible con OpenAI en http://localhost:11434/v1, con /chat/completions, /completions, /embeddings y /models. Configura el SDK oficial de OpenAI con esa base_url, pasa cualquier cadena como api_key (Ollama la ignora localmente) y establece model en un modelo descargado, como llama3.2. Los formatos de solicitud y respuesta coinciden con los de OpenAI.

¿Qué URL base usa la API de OpenAI de Ollama?

http://localhost:11434/v1 by default. Set the OpenAI client base_url to that value. If Ollama runs on another host or port, substitute it — the /v1 suffix stays.

¿Cómo cambio de Ollama a un modelo alojado?

Como ambos son compatibles con OpenAI, solo tienes que cambiar base_url y model. Sustituye http://localhost:11434/v1 por https://api.kunavo.com/v1, usa una clave sk-kn- real y establece model con un identificador de modelo alojado, como claude-sonnet-5 o claude-haiku-4-5. No hace falta cambiar ningún otro código.

¿La API de OpenAI de Ollama admite imágenes o vídeo?

La interfaz compatible con OpenAI de Ollama ofrece chat, completions y embeddings, además de entrada visual en modelos locales multimodales. No genera imágenes, vídeo ni audio. Para generar imágenes, vídeo y audio alojados mediante la misma API de estilo OpenAI, usa los endpoints /v1/images, /v1/video y /v1/audio de Kunavo.

Próximos pasos