Skip to content

Interface and Capability Overview ​

CoreRouter doesn't have just one type of interface. Before integrating, first determine which protocol your client will call, then select the corresponding Base URL, Endpoint, and model capabilities.

Quick Decision ​

What You Want to DoPriority UseBase URLIs It Universal
Regular chat, multi-turn conversation, function calling, vision understanding/v1/chat/completionshttps://api.corerouter.cloud/v1Common universal entry
Legacy text completion/v1/completionshttps://api.corerouter.cloud/v1Only for legacy applications
Codex, Agent, Responses workflow/v1/responseshttps://api.corerouter.cloud/v1Conditional support, requires model with Responses capability
Agent standalone search/v1/alpha/searchhttps://api.corerouter.cloud/v1Conditional support, requires search-compatible channel and model
Claude Code, Anthropic-style applications/v1/messageshttps://api.corerouter.cloudConditional support, requires client using Anthropic Messages format
Gemini-style applications/v1beta/models/{model}:generateContenthttps://api.corerouter.cloudConditional support, requires client using Gemini request format
Embeddings / RAG/v1/embeddingshttps://api.corerouter.cloud/v1Requires Embeddings model
Rerank / Reranking/v1/rerankhttps://api.corerouter.cloud/v1Requires Rerank model or channel
Moderations / Content moderation/v1/moderationshttps://api.corerouter.cloud/v1Requires moderation model or available default moderation model
Image generation and editing/v1/images/generations, /v1/images/editshttps://api.corerouter.cloud/v1Requires image model
Speech recognition, translation, TTS/v1/audio/...https://api.corerouter.cloud/v1Requires audio or TTS model
Realtime WebSocket/v1/realtimewss://api.corerouter.cloud/v1/realtimeConditional support, requires Realtime model
Video tasks/v1/videos, /v1/video/generationshttps://api.corerouter.cloud/v1Conditional support, requires video task model and task channel
Midjourney-style image tasks/mj/submit/...https://api.corerouter.cloudConditional support, requires corresponding image task channel
Generic asynchronous tasks/v1/tasks/{key}https://api.corerouter.cloud/v1Advanced interface, typically used by plugins or integrated clients

Endpoint List ​

EndpointMethodRequest FormatDescription
/v1/modelsGETNo bodyQuery models visible to current API Key. Results may be affected by user groups, Key restrictions, and billing configuration.
/v1/models/{model}GETNo bodyQuery single model.
/v1beta/modelsGETNo bodyGemini-style model list, returns Gemini-compatible models visible to current API Key.
/v1beta/openai/modelsGETNo bodyOpenAI-style model list compatible path for Gemini scenarios.
/v1/chat/completionsPOSTOpenAI Chat Completions JSONMost commonly used chat entry.
/v1/completionsPOSTOpenAI legacy Completions JSONLegacy application compatibility entry, new applications prioritize Chat Completions.
/v1/responsesPOSTOpenAI Responses JSONCommonly used by Agent / Codex, only Model IDs supporting Responses can be used.
/v1/responses/{response_id}GETNo bodyQuery background Responses result.
/v1/responses/compactPOSTResponses compact requestAdvanced capability, typically automatically called by Agent tools; requires channel support for compact capability.
/v1/alpha/searchPOSTClient native search JSONStandalone search compatibility entry, only channels and models configured with corresponding search capability available.
/v1/messagesPOSTAnthropic Messages JSONUsed by Claude Code and Anthropic-style clients.
/v1beta/models/{model}:generateContentPOSTGemini JSONGemini-style generation interface.
/v1beta/models/{model}:streamGenerateContentPOSTGemini JSONGemini-style streaming interface.
/v1beta/models/{model}:embedContentPOSTGemini Embedding JSONGemini-style single vector interface.
/v1beta/models/{model}:batchEmbedContentsPOSTGemini Embedding JSONGemini-style batch vector interface.
/v1/embeddingsPOSTOpenAI Embeddings JSONUsed for RAG and vector retrieval.
/v1/rerankPOSTRerank JSONRerank candidate documents by relevance.
/v1/moderationsPOSTOpenAI Moderations JSONContent moderation.
/v1/images/generationsPOSTJSONImage generation.
/v1/images/editsPOSTmultipart/form-data or JSONImage editing.
/v1/editsPOSTJSONLegacy image editing compatibility path, prefer /v1/images/edits.
/v1/audio/transcriptionsPOSTmultipart/form-dataAudio to text.
/v1/audio/translationsPOSTmultipart/form-dataAudio translation to English or model's default target language.
/v1/audio/speechPOSTJSONText to speech.
/v1/realtime?model={model}GET WebSocketWebSocket event JSONReal-time voice/text interaction, not regular HTTP interface.
/v1/videosPOSTJSON or multipart/form-dataOpenAI-style video task submission.
/v1/videos/{task_id}GETNo bodyOpenAI-style video task query.
/v1/videos/{task_id}/contentGET / HEADNo bodyGet video task output, availability depends on task channel.
/v1/video/generationsPOSTJSONCompatible video task submission path.
/v1/video/generations/{task_id}GETNo bodyCompatible video task query path.
/v1/videos/{video_id}/remixPOSTJSONRegenerate based on existing video, requires channel support.
/v1/tasks/{key}POSTJSON or multipart/form-dataGeneric task submission, key is task plugin or task type identifier.
/v1/tasks/{task_id}GETNo bodyGeneric task query.
/v1/tasks/{task_id}/artifactsGETNo bodyQuery task artifact list.
/v1/tasks/{task_id}/artifacts/{artifact_key}/contentGET / HEADNo bodyDownload or probe task artifact content.
/mj/submit/imaginePOSTMidjourney-style JSONImage task submission, prompt required.
/mj/task/{id}/fetchGETNo bodyQuery image task status and result.

Don't Mix Request Formats ​

Different protocols have different JSON structures; can't just change URL without changing request body.

ProtocolUser Message Field
Chat Completionsmessages: [{ "role": "user", "content": "..." }]
Responsesinput: "..." or structured input array
Anthropic Messagesmessages, max_tokens, tool fields use Anthropic format
Geminicontents: [{ "parts": [{ "text": "..." }] }]
Embeddingsinput: "..." or string array
Rerankquery and documents

How to Diagnose Common Errors ​

PhenomenonCommon CauseSolution
Chat works, Responses doesn'tCurrent Model ID only supports Chat CompletionsSwitch to model marked as supporting Responses in console
Client path shows /v1/v1Base URL and client auto-append path conflictChange Base URL to root address or address with /v1, choose one
/v1/models has results, calling model errorsKey can see model list, but target model permissions, channel, or capability don't matchSwitch model or check Key restrictions and account groups
messages is requiredChat Completions request body missing messagesUse Chat format, don't pass Responses' input
input is requiredResponses, Embeddings, or Moderations missing inputAdd input per corresponding interface
query is empty or documents is emptyRerank request missing query or candidate documentsAdd query and non-empty documents
Realtime directly using curl POSTRealtime is WebSocket, not HTTP JSON POSTUse WebSocket client to connect wss://.../v1/realtime?model=...
Standalone search returns unsupportedCurrent channel or model has no search compatibility capabilitySwitch to model supporting search, or use client-supported search tools in Responses workflow
  1. Use /v1/models to confirm API Key is available.
  2. Use /v1/chat/completions to verify basic chat.
  3. Verify target interface per actual scenario, e.g., Responses, Embeddings, Rerank, audio, or video.
  4. Then fill the same set of Base URL, API Key, and Model ID into SDK, client, or plugin.

The following OpenAI legacy or management interfaces are not universal relay call entries. Even if they appear in client functionality, don't promise availability by default:

Interface TypeDescription
/v1/filesFile upload, file content reading, and other file management interfaces are not general model call entries.
/v1/fine-tunesLegacy fine-tuning interface is not a regular integration capability.
/v1/assistants, /v1/threads, /v1/runsAssistants legacy resources and thread interfaces not opened as universal relay entries.
/v1/batches, /v1/vector_storesBatch processing and vector store management interfaces not opened as universal relay entries.
POST /v1/messages/count_tokensAnthropic token counting helper interface currently not a public integration capability.
/v1/images/variationsImage variation interface not equivalent to image generation or editing, requires separate confirmation before integration.
DELETE /v1/models/{model}Model deletion belongs to official management interface semantics, not suitable as relay station user capability.

If a client strongly depends on these interfaces, first confirm whether it allows disabling related functionality, or switch to clients that only depend on Chat Completions, Responses, Anthropic Messages, Gemini, Embeddings, Rerank, images, audio, video tasks — these documented interfaces.

Released under the MIT License.