Documentation

Tinggal Colok API Reference

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:

  1. Dapatkan API key dari admin
  2. Tambahkan key di halaman API Keys
  3. Pilih model dan mulai chat

API Keys

Semua request ke API memerlukan autentikasi menggunakan Bearer token. Format key: RID-xxxxxxxxxxxxxxxx

HTTP
Authorization: Bearer RID-your-api-key

Generate API key di halaman API Keys. Setiap user hanya bisa memiliki 1 key aktif.

Models

Tersedia berbagai model dengan tier yang berbeda:

TierDeskripsiContoh Model
StandardModel standar dengan performa baikclaude-sonnet-4.5, deepseek-3.2
MAXModel premium dengan kapabilitas tertinggiclaude-opus-4.6, gpt-5.4

Gunakan endpoint GET /v1/models untuk mendapatkan daftar model yang tersedia.

Bash
curl -H "Authorization: Bearer RID-your-api-key" \
  __NEXT_PUBLIC_API_DOMAIN__/v1/models

OpenAI Format

Compatible dengan OpenAI Chat Completions API. Bisa dipakai dengan library OpenAI SDK.

Request

Bash
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

JSON
{
  "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

Python
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

Bash
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

JSON
{
  "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

Python
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.

SSE
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.

JSON
{
  "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

  1. Buka file ~/.openclaw/openclaw.json
  2. Jika file belum ada, buat baru dengan isi di bawah
  3. Jika sudah ada, merge bagian "models"."providers"."tinggalcolok" ke dalam file yang ada
  4. Simpan file, lalu restart OpenClaw

File: ~/.openclaw/openclaw.json

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

  1. Buka file ~/.config/opencode/opencode.json
  2. Jika file belum ada, buat baru dengan isi di bawah
  3. Jika sudah ada, merge bagian "provider"."tinggalcolok" ke dalam file yang ada
  4. Simpan file, lalu restart OpenCode

File: ~/.config/opencode/opencode.json

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

Bash
npm install -g @anthropic-ai/claude-code

Instruksi

  1. Buka file ~/.claude/settings.json
  2. Jika file belum ada, buat baru dengan isi di bawah
  3. Jika sudah ada, merge bagian "env" ke dalam file yang ada
  4. Simpan file, lalu restart Claude Code

File: ~/.claude/settings.json

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.

Join Telegram Support