API reference
API reference
All 10 endpoint families of Tutujin API — Chat Completions, Responses, Claude Messages, Gemini generateContent, image generation and editing, Embeddings, Rerank, text to speech and speech to text — with paths, authentication and verification status.
Every endpoint shares one domain, https://open.tutujin.com, and the same key. OpenAI-format endpoints live under https://open.tutujin.com/v1, and request and response bodies match the official APIs, so the official SDKs work once you change the base URL.
Endpoints at a glance
| Endpoint | Method and path | Status | Models |
|---|---|---|---|
| Chat Completions | POST/v1/chat/completions | Verified | 681 |
| Responses | POST/v1/responses | Relayed as-is | 5 |
| Claude Messages | POST/v1/messages | Verified | 49 |
| Gemini generateContent | POST/v1beta/models/{model}:generateContent | Verified | 63 |
| Image generation | POST/v1/images/generations | Relayed as-is | 54 |
| Image editing | POST/v1/images/edits | Relayed as-is | 31 |
| Embeddings | POST/v1/embeddings | Verified | 18 |
| Rerank | POST/v1/rerank | Relayed as-is | 6 |
| Text to speech | POST/v1/audio/speech | Relayed as-is | 8 |
| Speech to text | POST/v1/audio/transcriptions | Relayed as-is | 1 |
"Verified" means we have made real calls and checked billing on this site. "Relayed as-is" means requests are forwarded in their original format; parameters follow the model's official documentation. Model counts are the models in the current catalog that support the endpoint.
"Verified" endpoints are the ones we have called for real on this site and checked billing for. Endpoints marked "relayed as-is" can be called too: requests are passed to the model service in their original format, and whether a parameter takes effect follows that model's official documentation.
Conventions
| Topic | Convention |
|---|---|
| Authentication | Authorization: Bearer sk-...; Claude Messages also accepts x-api-key and Gemini also accepts x-goog-api-key — see Authentication and base URL |
| Request format | JSON (Content-Type: application/json); image editing and speech to text use multipart/form-data for file uploads |
| Model name | The name shown in the model hub, e.g. gpt-5.4-mini |
| Group | Set on the key, not in the request; the same model costs different amounts in different groups — see Choosing a group |
| Billing | Each request is charged at the key's group price and recorded under Usage in the console — see Billing and usage |
| Errors | An HTTP error status plus an error object — see Errors and retries |
Which format should you use?
| Your situation | Use |
|---|---|
| New project, or you want to switch between vendors | Chat Completions: one code path for GPT, Claude, Gemini, DeepSeek and every other model the catalog lists for this endpoint |
| You already have code on the Anthropic SDK | Claude Messages: change the base URL and keep native parameters |
| You already have code on the Google Gen AI SDK | Gemini generateContent |
| You need a model that only supports the Responses format | Responses |
| Knowledge-base retrieval | Embeddings for vectors, Rerank to reorder search results |
| Creating or editing images | Image generation, Image editing |
| Read-aloud or transcription | Text to speech, Speech to text |
To see which endpoints a model supports, open its page in the model hub. To list the models your key can use, call the models endpoint.
Still stuck? Add our WeChat support JsnonoChat and send the request id from the error message, and we will look into it.