Getting Started
Tinggal Colok menyediakan akses ke berbagai model AI melalui satu API endpoint yang unified. Untuk mulai menggunakan, kamu memerlukan API key.
Quick Start:
- Dapatkan API key dari admin
- Tambahkan key di halaman API Keys
- Pilih model dan mulai chat
API Keys
Semua request ke API memerlukan autentikasi menggunakan Bearer token. Format key: RID-xxxxxxxxxxxxxxxx
Authorization: Bearer RID-your-api-keyGenerate API key di halaman API Keys. Setiap user hanya bisa memiliki 1 key aktif.
Models
Tersedia berbagai model dengan tier yang berbeda:
| Tier | Deskripsi | Contoh Model |
|---|---|---|
| Standard | Model standar dengan performa baik | claude-sonnet-4.5, deepseek-3.2 |
| MAX | Model premium dengan kapabilitas tertinggi | claude-opus-4.6, gpt-5.4 |
Gunakan endpoint GET /v1/models untuk mendapatkan daftar model yang tersedia.
curl -H "Authorization: Bearer RID-your-api-key" \
__NEXT_PUBLIC_API_DOMAIN__/v1/modelsOpenAI Format
Compatible dengan OpenAI Chat Completions API. Bisa dipakai dengan library OpenAI SDK.
Request
curl -X POST __NEXT_PUBLIC_API_DOMAIN__/v1/chat/completions \
-H "Authorization: Bearer RID-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4.5",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"max_tokens": 8192,
"stream": false
}'Response
{
"id": "chatcmpl-1234567890",
"object": "chat.completion",
"created": 1776000000,
"model": "claude-sonnet-4.5",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 10,
"total_tokens": 35
}
}OpenAI SDK
from openai import OpenAI
client = OpenAI(
api_key="RID-your-api-key",
base_url="__NEXT_PUBLIC_API_DOMAIN__/v1"
)
response = client.chat.completions.create(
model="claude-sonnet-4.5",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)Anthropic Format
Compatible dengan Anthropic Messages API. Bisa dipakai dengan library Anthropic SDK.
Request
curl -X POST __NEXT_PUBLIC_API_DOMAIN__/v1/messages \
-H "Authorization: Bearer RID-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4.5",
"max_tokens": 8192,
"messages": [
{"role": "user", "content": "Hello!"}
],
"stream": false
}'Response
{
"id": "msg-abc123",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! How can I help you?"
}
],
"model": "claude-sonnet-4.5",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 25,
"output_tokens": 10
}
}Anthropic SDK
import anthropic
client = anthropic.Anthropic(
api_key="RID-your-api-key",
base_url="__NEXT_PUBLIC_API_DOMAIN__/v1"
)
message = client.messages.create(
model="claude-sonnet-4.5",
max_tokens=8192,
messages=[{"role": "user", "content": "Hello!"}]
)
print(message.content[0].text)Streaming
Dengan "stream": true, response dikirim sebagai Server-Sent Events (SSE) dalam format Anthropic.
event: message_start
data: {"id":"msg-abc","model":"claude-sonnet-4.5","role":"assistant","type":"message"}
event: content_block_start
data: {"content_block":{"text":"","type":"text"},"index":0}
event: content_block_delta
data: {"delta":{"text":"Hello","type":"text_delta"},"index":0}
event: content_block_delta
data: {"delta":{"text":"!","type":"text_delta"},"index":0}
event: content_block_stop
data: {"index":0}
event: message_stop
data: {}Image Support
Model yang mendukung vision bisa menerima gambar dalam format base64.
{
"model": "claude-sonnet-4.5",
"max_tokens": 8192,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "iVBORw0KGgo..."
}
},
{
"type": "text",
"text": "Apa yang ada di gambar ini?"
}
]
}
]
}OpenClaw
OpenClaw adalah AI coding agent di terminal. Berikut cara setup untuk menggunakan Tinggal Colok sebagai provider.
Instruksi
- Buka file
~/.openclaw/openclaw.json - Jika file belum ada, buat baru dengan isi di bawah
- Jika sudah ada, merge bagian
"models"."providers"."tinggalcolok"ke dalam file yang ada - Simpan file, lalu restart OpenClaw
File: ~/.openclaw/openclaw.json
{
"agents": {
"defaults": {
"model": {
"primary": "tinggalcolok/claude-sonnet-4"
}
}
},
"models": {
"mode": "merge",
"providers": {
"tinggalcolok": {
"api": "openai-completions",
"apiKey": "RID-your-api-key",
"baseUrl": "__NEXT_PUBLIC_API_DOMAIN__/v1",
"models": [
{
"contextWindow": 200000,
"cost": {
"cacheRead": 0,
"cacheWrite": 0,
"input": 0,
"output": 0
},
"id": "claude-sonnet-4.5",
"input": ["text", "image"],
"maxTokens": 64000,
"name": "claude-sonnet-4.5 (Tinggal Colok)",
"reasoning": true
}
]
}
}
}
}OpenCode
OpenCode adalah coding agent yang berjalan di terminal. Bisa digunakan dengan Tinggal Colok sebagai backend.
Instruksi
- Buka file
~/.config/opencode/opencode.json - Jika file belum ada, buat baru dengan isi di bawah
- Jika sudah ada, merge bagian
"provider"."tinggalcolok"ke dalam file yang ada - Simpan file, lalu restart OpenCode
File: ~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"tinggalcolok": {
"name": "Tinggal Colok",
"api": "anthropic",
"baseURL": "__NEXT_PUBLIC_API_DOMAIN__",
"apiKey": "RID-your-api-key",
"models": {
"claude-sonnet-4.5": {
"name": "claude-sonnet-4.5 (Tinggal Colok)",
"limit": {
"context": 200000,
"output": 64000
},
"modalities": {
"input": ["text", "image"],
"output": ["text"]
},
"reasoning": {
"type": "summarized"
}
}
}
}
}
}Claude Code
Claude Code (dari Anthropic) bisa diarahkan ke Tinggal Colok API melalui file settings.
Instalasi
npm install -g @anthropic-ai/claude-codeInstruksi
- Buka file
~/.claude/settings.json - Jika file belum ada, buat baru dengan isi di bawah
- Jika sudah ada, merge bagian
"env"ke dalam file yang ada - Simpan file, lalu restart Claude Code
File: ~/.claude/settings.json
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "RID-your-api-key",
"ANTHROPIC_BASE_URL": "__NEXT_PUBLIC_API_DOMAIN__",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-sonnet-4",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-sonnet-4",
"ANTHROPIC_DEFAULT_SONET_MODEL": "claude-sonnet-4",
"ANTHROPIC_MODEL": "claude-sonnet-4",
"ANTHROPIC_SMALL_FAST_MODEL": "claude-sonnet-4",
"API_TIMEOUT_MS": "3000000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}Catatan: Ganti RID-your-api-key dengan API key kamu dengan key yang di-generate di halaman API Keys. Semua model default diarahkan ke claude-sonnet-4 tapi bisa diganti sesuai kebutuhan.