Panduan integrasi
Tiga endpoint, tiga format. Pilih yang sudah dipakai aplikasimu — tidak perlu mengubah kode selain base URL dan API key.
Base URL
Semua request lewat domain kita — bukan domain provider. Beberapa bentuk base URL diterima sekaligus, pakai yang paling cocok dengan aplikasimu; hasilnya sama.
| Gaya | Base URL yang bisa dipakai |
|---|---|
| OpenAI | https://api.advance.my.id/v1 |
| OpenAI (lengkap) | https://api.advance.my.id/api/openai/v1 |
| Claude | https://api.advance.my.id |
| Gemini | https://api.advance.my.id/v1beta |
| Gemini (lengkap) | https://api.advance.my.id/api/gemini/v1beta |
Base URL apa pun yang berakhiran /v1 otomatis diarahkan ke gateway yang sama.
Endpoint yang didukung
| Endpoint | Dipakai oleh | Status |
|---|---|---|
| POST /v1/chat/completions | OpenAI SDK, Cursor, Cline, Roo, Continue, LibreChat | penuh |
| POST /v1/responses | Codex CLI, OpenAI Agents SDK | penuh |
| POST /v1/completions | tool lama (legacy text completion) | penuh |
| POST /v1/embeddings | RAG, vector DB | diteruskan |
| GET /v1/models | semua agent (deteksi model) | penuh |
| POST /v1/messages | Claude Code, Anthropic SDK | penuh |
| POST /v1/messages/count_tokens | Claude Code | penuh |
| POST /v1beta/models/{model}:generateContent | Google SDK, Gemini tooling | penuh |
Autentikasi
Kirim API key lewat header. Tiga bentuk header diterima agar cocok dengan SDK masing-masing.
OpenAI compatible
Mendukung stream, tools, response_format, dan /v1/models.
Claude compatible
Format /v1/messages termasuk system, max_tokens, tool use, dan event SSE content_block_delta.
Gemini compatible
Gunakan :generateContent atau :streamGenerateContent. Nama model ditulis di path.
Alias model
Nama asli selalu menang. Untuk model non-gpt-, tersedia alias berawalan gpt- — berguna untuk aplikasi yang hanya menerima nama model GPT.
| Diminta | Diarahkan ke | Pengali |
|---|---|---|
| gpt-claude-opus-5.5 | claude-opus-5-5 | 32× |
| gpt-claude-opus-5 | claude-opus-5 | 20× |
| gpt-kimi-k2.8 | kimi-k2.8 | 2× |
| gpt-5.6 | gpt-5.6 (asli, tidak diubah) | 5× |
Nama model di respons dikembalikan sesuai yang kamu minta, jadi aplikasi tidak akan melihat nama internal.
