Inicio rápido
Tres pasos para pasar de nada a la respuesta de un modelo. URL base: https://api.oceantoken.ai/v1.
Escribe estos dos comandos en Claude Code para instalar el plugin de OceanToken y luego ejecuta /mcp para iniciar sesión. Detalles.
/plugin marketplace add OceanTokenAI/oceantoken-plugins
/plugin install oceantoken@oceantoken
1. Consigue una clave de API
Regístrate y luego abre API Keys en la consola y elige Create key. Copia la clave cuando aparezca: empieza por sk- y solo se muestra una vez.
Toda cuenta nueva empieza con $1 de crédito inicial, válido durante 14 días y sin necesidad de tarjeta, así que tus primeras solicitudes se ejecutan de inmediato. Los modelos cuyo ID termina en :free funcionan incluso con un saldo de $0; los modelos de pago necesitan un saldo mayor que $0, y puedes agregar créditos cuando quieras más. Cada paso tiene su propia página si quieres los detalles: crear una cuenta, crear una clave de API.
2. Pon la clave en tu terminal
export OCEANTOKEN_API_KEY=sk-...
Los ejemplos leen la clave de esta variable, así que nunca queda en tu código. En Windows PowerShell: $env:OCEANTOKEN_API_KEY = "sk-...".
3. Envía una solicitud
- curl
- Python
- Node.js / TypeScript
# Chat completion with curl. Any OpenAI-compatible client works the same way:
# point it at the base URL and use your OceanToken key.
curl -sS "${OCEANTOKEN_BASE_URL:-https://api.oceantoken.ai/v1}/chat/completions" \
-H "Authorization: Bearer $OCEANTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek/deepseek-v4.1-flash-1017",
"messages": [{"role": "user", "content": "Say hello in one short sentence."}]
}'
# pip install openai
import os
from openai import OpenAI
client = OpenAI(
base_url=os.getenv("OCEANTOKEN_BASE_URL", "https://api.oceantoken.ai/v1"),
api_key=os.environ["OCEANTOKEN_API_KEY"],
)
response = client.chat.completions.create(
model="deepseek/deepseek-v4.1-flash-1017",
messages=[{"role": "user", "content": "Say hello in one short sentence."}],
)
print(response.choices[0].message.content)
// npm install openai
import OpenAI from "openai";
const client = new OpenAI({
baseURL: process.env.OCEANTOKEN_BASE_URL ?? "https://api.oceantoken.ai/v1",
apiKey: process.env.OCEANTOKEN_API_KEY,
});
const response = await client.chat.completions.create({
model: "deepseek/deepseek-v4.1-flash-1017",
messages: [{ role: "user", content: "Say hello in one short sentence." }],
});
console.log(response.choices[0].message.content);
Guárdalo como chat.mjs (o como chat.ts y ejecútalo con npx tsx chat.ts) y luego ejecuta node chat.mjs.
Recibes el objeto estándar de chat completion: la respuesta en choices[0].message.content y, en usage, los tokens que se te cobraron. La solicitud aparece en la consola, en Logs, con su costo.
Es todo lo que necesita una integración. La API es compatible con OpenAI, así que cualquier SDK o herramienta de OpenAI funciona con la URL base y tu clave, y el valor de model es un nombre de la página Modelos. Todos los modelos de chat, Claude incluido, también responden en la API Messages de Anthropic: el SDK de Anthropic agrega /v1 por su cuenta, así que recibe https://api.oceantoken.ai (más abajo).
Cada ejemplo de esta página es un archivo que ejecutamos contra el servicio antes de publicar. Con OCEANTOKEN_API_KEY definida, funcionan tal cual.
Recibe la respuesta en streaming
Cuando una persona está esperando, usa streaming. Los tokens llegan a medida que se generan y las respuestas largas no chocan con el tiempo límite de solicitud descrito en Límites.
# Streaming: tokens arrive as they are generated. Use this for anything a person
# is waiting on, and for long answers, which would otherwise hit the request timeout.
import os
from openai import OpenAI
client = OpenAI(
base_url=os.getenv("OCEANTOKEN_BASE_URL", "https://api.oceantoken.ai/v1"),
api_key=os.environ["OCEANTOKEN_API_KEY"],
)
with client.chat.completions.create(
model="deepseek/deepseek-v4.1-flash-1017",
messages=[{"role": "user", "content": "Count from one to five, one number per line."}],
stream=True,
) as stream:
for chunk in stream:
delta = chunk.choices[0].delta.content if chunk.choices else None
if delta:
print(delta, end="", flush=True)
print()
Claude con el SDK de Anthropic
# pip install anthropic
# Claude models are served on /v1/messages. The Anthropic SDK works unchanged:
# give it the OceanToken host and your OceanToken key. It adds /v1 itself, so it
# takes the base URL without the /v1 that OpenAI SDKs need.
import os
import anthropic
client = anthropic.Anthropic(
base_url=os.getenv("OCEANTOKEN_BASE_URL", "https://api.oceantoken.ai/v1").removesuffix("/v1"),
api_key=os.environ["OCEANTOKEN_API_KEY"],
)
message = client.messages.create(
model="anthropic/claude-haiku-4.5",
max_tokens=64,
messages=[{"role": "user", "content": "Say hello in one short sentence."}],
)
print(message.content[0].text)
El mismo código funciona con cualquier otro modelo de chat, como deepseek/deepseek-v4.1-flash-1017: cambia model.
Mira qué puedes llamar
# The models your key can call, in the standard list format.
curl -sS "${OCEANTOKEN_BASE_URL:-https://api.oceantoken.ai/v1}/models" \
-H "Authorization: Bearer $OCEANTOKEN_API_KEY"
La lista depende de tu clave: si tu cuenta está limitada a ciertos modelos, solo aparecen esos. Todos los modelos están en la página Modelos, y su precio en la página de cada uno en oceantoken.ai.
Siguientes pasos
- Imágenes, video, voz, transcripción, embeddings, llamadas a herramientas y visión tienen cada uno su guía: Generación de texto, Llamadas a herramientas, Entrada de imágenes, Imágenes, Video, Voz y transcripción, Embeddings y rerank.
- ¿Vienes de OpenAI u otra API multimodelo? Migra en dos líneas.
- Agrega OceanToken a tu agente de código: Codex, Claude Code, Cursor y más.
- ¿Desarrollas una app con el Vercel AI SDK? Consulta Usar OceanToken con el Vercel AI SDK.
- Todos los endpoints están en la página API; qué hacer con cada error está en Errores.