Model list and catalog
Two ways to read the models from code. Both samples below are files we run against the service before publishing.
The models your key can call
# 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"
GET /v1/models is OpenAI's list format: data[] with an id per model, which is the exact model value to send. It lists only what your key can call: if your account is limited to certain models, only those appear, and anything else is refused with 403 model_not_allowed (Limits → Model access). client.models.list() in the OpenAI SDKs reads it.
The catalog, with types and capabilities
# The public catalog: every model with its type, context window, capabilities
# and prices, as JSON. No key needed. This prints the IDs of the video models.
curl -sS --fail https://api.oceantoken.ai/public/model_hub |
python3 -c 'import json, sys; print("\n".join(m["model_group"] for m in json.load(sys.stdin) if m.get("mode") == "video_generation"))'
https://api.oceantoken.ai/public/model_hub is the whole catalog as a JSON array, the same data the Models page and the console are built from. It needs no key. Each entry has, among others:
| Field | Meaning |
|---|---|
model_group | The model ID, the model value to send |
mode | The type, which says the endpoint to call: chat, image_generation, video_generation, audio_speech, audio_transcription, embedding, rerank |
max_input_tokens, max_output_tokens | Context window and longest answer, for text models |
supports_vision, supports_function_calling, supports_reasoning, supports_web_search | Image input, tool calling, reasoning, web search |
input_cost_per_token, output_cost_per_token, … | Prices, in US dollars per token or per unit of the model's type |
Read the catalog when your application lets people choose a model, or to check a capability before you call. It changes as models are added and retired, so read it again from time to time rather than copying it. Prices for people to read are on oceantoken.ai.
Which endpoint for which type
mode | Endpoint | Guide |
|---|---|---|
chat | /v1/chat/completions, /v1/responses, /v1/messages | Text generation |
image_generation | /v1/images/generations, /v1/images/edits | Images |
video_generation | /v1/videos | Video |
audio_speech | /v1/audio/speech | Speech |
audio_transcription | /v1/audio/transcriptions | Transcription |
embedding | /v1/embeddings | Embeddings |
rerank | /v1/rerank | Rerank |
Model IDs
An ID is the publisher and the model's name, such as openai/gpt-5-mini or bytedance/seedance-2.0. IDs ending in :free are free, rate-limited versions. smart-router picks a text model for you (Text generation).