Keep the request format your application already uses where the selected model supports it. Change the service address and key, then confirm exact model IDs with GET /v1/models. An endpoint’s existence does not mean every model supports it.
UseEndpointConfirm before calling
Available modelsGET /v1/modelsCurrent key and group
ChatPOST /v1/chat/completionsmodel, messages, streaming support
ResponsesPOST /v1/responsesmodel, input, required tool capabilities
Claude MessagesPOST /v1/messagesanthropic-version: 2023-06-01, max_tokens, messages
GeminiPOST /v1beta/models/{model}:generateContentModel in URL, contents; streaming uses streamGenerateContent?alt=sse
EmbeddingsPOST /v1/embeddingsEmbedding model, input, dimensions
RerankingPOST /v1/rerankReranking model, query and documents
Image generationPOST /v1/images/generationsImage model and supported size/quality
Image editingPOST /v1/images/editsEdit capability and required input format
VideoPOST /v1/videos, GET /v1/videos/{task_id}Save the ID and poll until complete
Realtime audioGET /v1/realtime?model={model}WebSocket, Realtime model and server-side authorization
Use https://infistar.ai for international HTTPS requests and wss://infistar.ai for Realtime. Add /v1 only where the client expects a versioned base address.

Migration checks

Preserve Chat Completions for existing chat clients; use Responses for applications already built around that format. Claude and Gemini clients need their native payload shape. Never infer endpoint support from a similar model name. Validate ordinary and streaming responses, tool calls, structured output and image input separately when your application needs them. Check response parsing, timeouts, errors and charges using a small representative request before increasing traffic. Model-specific beta fields and all vendor services are not implied by format compatibility. See Gateway configuration, API overview, RAG, Video and Realtime.