Démarrage rapide
Trois étapes pour passer de rien à la réponse d’un modèle. URL de base : https://api.oceantoken.ai/v1.
Tapez ces deux commandes dans Claude Code pour installer le plugin OceanToken, puis lancez /mcp pour vous connecter. Détails.
/plugin marketplace add OceanTokenAI/oceantoken-plugins
/plugin install oceantoken@oceantoken
1. Obtenir une clé API
Inscrivez-vous, puis ouvrez API Keys dans la console et choisissez Create key. Copiez la clé dès qu’elle s’affiche : elle commence par sk- et n’est affichée qu’une seule fois.
Chaque nouveau compte reçoit 1 $ de crédit de départ, valable 14 jours, sans carte bancaire : vos premières requêtes s’exécutent tout de suite. Les modèles dont l’ID se termine par :free fonctionnent même avec un solde de 0 $ ; les modèles payants nécessitent un solde supérieur à 0 $, et vous ajoutez des crédits quand vous en voulez davantage. Chaque étape a sa propre page si vous voulez les détails : créer un compte, créer une clé API.
2. Placer la clé dans votre terminal
export OCEANTOKEN_API_KEY=sk-...
Les exemples lisent la clé depuis cette variable, elle ne se retrouve donc jamais dans votre code. Sous Windows PowerShell : $env:OCEANTOKEN_API_KEY = "sk-...".
3. Envoyer une requête
- 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);
Enregistrez-le sous chat.mjs (ou sous chat.ts et lancez-le avec npx tsx chat.ts), puis lancez node chat.mjs.
Vous recevez l’objet chat completion standard : la réponse dans choices[0].message.content, et dans usage le nombre de tokens facturés. La requête apparaît dans la console, sous Logs, avec son coût.
C’est tout ce qu’il faut pour une intégration. L’API est compatible OpenAI : n’importe quel SDK ou outil OpenAI fonctionne avec l’URL de base et votre clé, et la valeur de model est un nom de la page Modèles. Tous les modèles de chat, Claude compris, répondent aussi sur l’API Messages d’Anthropic : le SDK Anthropic ajoute lui-même /v1, il prend donc https://api.oceantoken.ai (ci-dessous).
Chaque exemple de cette page est un fichier que nous exécutons contre le service avant publication. Avec OCEANTOKEN_API_KEY définie, ils fonctionnent tels quels.
Recevoir la réponse en streaming
Dès qu’une personne attend le résultat, utilisez le streaming. Les tokens arrivent au fur et à mesure de leur génération, et les longues réponses ne se heurtent pas au délai d’expiration des requêtes décrit dans Limites.
# 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 avec le SDK 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)
Le même code fonctionne avec n’importe quel autre modèle de chat, comme deepseek/deepseek-v4.1-flash-1017 : changez model.
Voir ce que vous pouvez appeler
# 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 liste dépend de votre clé : si votre compte est limité à certains modèles, seuls ceux-ci apparaissent. Tous les modèles sont sur la page Modèles, et leur prix sur la page de chacun sur oceantoken.ai.
Ensuite
- Images, vidéo, synthèse vocale, transcription, embeddings, appels d’outils et vision ont chacun leur guide : Génération de texte, Appels d’outils, Images en entrée, Images, Vidéo, Synthèse vocale et transcription, Embeddings et rerank.
- Vous venez d’OpenAI ou d’une autre API multimodèle ? Migrez en deux lignes.
- Ajoutez OceanToken à votre agent de code : Codex, Claude Code, Cursor et d’autres.
- Vous créez une app avec le Vercel AI SDK ? Consultez Utiliser OceanToken avec le Vercel AI SDK.
- Tous les endpoints sont sur la page API ; que faire pour chaque erreur, sur Erreurs.