Dokumentasi

Dokumentasi

Satu gateway, semua client. Akses kompatibel Anthropic & OpenAI ke Claude Opus 5, Opus 4.8 dan GPT 5.6.

Mulai cepat

1
Buat akun & top-up
Daftar di /register, lalu top-up dompet token.
2
Salin API key
Key kamu (sk-mvx-…) ada di dashboard. Rahasiakan; rotasi kapan saja.
3
Arahkan client ke kami
Pakai konfigurasi tool kamu di bagian Setup Client di bawah.

Endpoints & base URL

Base URL tergantung tool. Claude Code & tool Anthropic-native minta root (mereka menambah /v1/messages). SDK gaya OpenAI minta /v1. Domain selalu ohhmyagent.com.
Endpoints
https://ohhmyagent.com/v1/messages          # Anthropic Messages API
https://ohhmyagent.com/v1/chat/completions   # OpenAI Chat Completions
https://ohhmyagent.com/v1/responses          # OpenAI Responses API (Codex)
https://ohhmyagent.com/v1/models             # list available models

Model

Daftar model ID
ohh/claude-fable-5 # Claude Fable 5 (Fable Only wallet)
ohh/claude-opus-5         # Claude Opus 5  (GPT + Opus wallet)
ohh/claude-opus-4.8       # Claude Opus 4.8 (GPT + Opus wallet)
ohh/gpt-5.6        # GPT 5.6 auto-burst  (Sol -> Terra -> Luna)
ohh/gpt-5.6-sol    # pin GPT to the Sol deployment
ohh/gpt-5.6-terra  # pin GPT to the Terra deployment
ohh/gpt-5.6-luna   # pin GPT to the Luna deployment

Gunakan ohh/gpt-5.6 untuk routing burst otomatis Sol → Terra → Luna. Tambah -sol/-terra/-luna hanya untuk mengunci route. Fable hanya tersedia lewat ohh/claude-fable-5 dan tidak pernah fallback ke GPT atau Opus.

Plan, grant & wallet terpisah

Pembelian dan grant admin membuat entitlement pada tepat satu scope wallet. Grant Plan memakai aturan yang sama seperti checkout; grant tidak membuat saldo global.

Plan / grantModel yang dibukaSaldo eligible
GPT + Opusohh/gpt-5.6*, ohh/claude-opus-5, ohh/claude-opus-4.8Lot GPT + Opus (all)
GPT Onlyohh/gpt-5.6*Lot GPT Only lebih dulu; lalu lot GPT + Opus yang eligible
Fable Onlyohh/claude-fable-5Hanya lot Fable (fable)
Isolasi ketat: Fable tidak pernah memakai saldo GPT Only atau GPT + Opus. GPT/Opus tidak pernah memakai saldo Fable. Saldo negatif di wallet lain tidak memblokir model selama wallet eligible masih punya saldo positif atau entitlement Unlimited aktif.

Allowance token: GPT + Opus dan Fable Only tersedia 30M / 90M / 150M / 300M / 450M. GPT Only menerima allowance terpisah sesuai paket yang ditampilkan. Setiap paket token disimpan sebagai lot independen 30 hari; Unlimited hanya memperpanjang scope yang dipilih.

Referensi API

Autentikasi

Setiap request butuh API key kamu (sk-mvx-…). Kedua gaya header diterima di semua endpoint — kirim yang dihasilkan SDK kamu:

Keduanya berlaku di mana pun
# Anthropic style
x-api-key: sk-mvx-your-key
anthropic-version: 2023-06-01

# OpenAI / Bearer style
Authorization: Bearer sk-mvx-your-key
Simpan key di sisi server. Satu API key bisa memanggil semua model publik, tetapi akses dan tagihan mengikuti wallet scope yang eligible pada akun. Rotasi kapan saja dari dashboard — key lama langsung mati. Jangan taruh key di app browser/mobile.

Parameter request

Gateway adalah proxy transparan: kirim body native dari API yang kamu panggil. Field umum:

FieldAPIKeterangan
modelkeduanyaSalah satu model ID di atas. Wajib.
messageskeduanyaArray percakapan (role + content). Wajib.
max_tokensAnthropicMaks token output. Wajib di /v1/messages.
max_completion_tokensOpenAIMaks token output (GPT). Opsional.
streamkeduanyatrue = stream SSE. Default false.
systemAnthropicSystem prompt (string atau blok).
temperature / top_pkeduanyaSampling. Diabaikan untuk Opus (model thinking membuangnya).
toolskeduanyaDefinisi function/tool — lihat Tool calling.
reasoning_effortOpenAIKedalaman thinking GPT: none·low·medium·high·xhigh.
output_config.effortAnthropicKedalaman thinking Opus: low·medium·high·xhigh·max.
Dashboard tidak menetapkan reasoning effort. Jika client tidak mengirim field effort, setiap model memakai default bawaannya; nilai eksplisit dari request API tetap diteruskan jika didukung.

Bentuk response

Kamu menerima bentuk native dari endpoint yang dipanggil. Field model adalah slug publik kami (bukan deployment upstream). Contoh Anthropic non-stream:

200 OK · /v1/messages
{
  "id": "msg_01…",
  "type": "message",
  "role": "assistant",
  "model": "ohh/claude-opus-5",
  "content": [{ "type": "text", "text": "Hello!" }],
  "stop_reason": "end_turn",
  "usage": { "input_tokens": 12, "output_tokens": 6 }
}
Untuk Anthropic / Opus, input wallet adalah total prompt upstream yang dihitung satu kali: input_tokens baru + cache_creation_input_tokens + cache_read_input_tokens. GPT mengikuti semantik OpenAI, yaitu prompt_tokens sudah termasuk cached input. Komponen upstream tetap disimpan untuk audit.

Streaming (SSE)

Set field stream ke true. Kamu menerima Server-Sent Events. Anthropic mengirim message_start → content_block_delta … → message_delta → message_stop; OpenAI mengirim objek chat.completion.chunk diakhiri [DONE]. Gateway menerjemahkan transparan, jadi client Anthropic yang stream GPT tetap menerima event berbentuk Anthropic.

Request streaming
curl -N https://ohhmyagent.com/v1/messages \
  -H "x-api-key: sk-mvx-your-key" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"ohh/claude-opus-5","max_tokens":256,"stream":true,
       "messages":[{"role":"user","content":"Stream a haiku"}]}'
Tagihan stream dikenakan sekali saat stream selesai atau saat client putus di tengah — kamu selalu bayar token yang sudah diterima, tidak lebih.

Responses API (Codex)

Endpoint /v1/responses memakai Responses API OpenAI (dipakai OpenAI Codex). Kirim input (string atau array item) plus instructions opsional; set reasoning.effort untuk kedalaman thinking. Model ID Opus maupun GPT berfungsi.

Request
curl https://ohhmyagent.com/v1/responses \
  -H "authorization: Bearer sk-mvx-your-key" \
  -H "content-type: application/json" \
  -d '{"model":"ohh/gpt-5.6",
       "input":"Write a haiku about the sea",
       "reasoning":{"effort":"medium"}}'

Response biasa (non-stream) — satu objek response; teksnya di output[].content[].text (juga di output_text):

200 OK · non-stream
{
  "id": "resp_…",
  "object": "response",
  "status": "completed",
  "model": "ohh/gpt-5.6",
  "output": [
    { "type": "message", "role": "assistant",
      "content": [{ "type": "output_text", "text": "Waves…" }] }
  ],
  "output_text": "Waves…",
  "usage": { "input_tokens": 9, "output_tokens": 17, "total_tokens": 26 }
}

Versi stream — tambah "stream": true. Kamu menerima event SSE Responses berurutan seperti ini:

SSE event sequence
event: response.created
event: response.in_progress
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta      # ← repeated, the tokens
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed              # ← final, carries usage
Tool function-call di-stream sebagai response.function_call_arguments.delta/.done di antara event item. GPT 5.6 juga mendukung tool bawaan Responses web_search dan mengirim event response.web_search_call.*; web_search_preview diterima sebagai alias kompatibilitas. Tool bawaan lain tanpa nama tidak diklaim didukung. Base URL untuk Codex https://ohhmyagent.com/v1 dengan wire_api = responses — lihat setup Codex di CLI Tools.

Tool / function calling

Function calling penuh di kedua endpoint, kedua model. Gateway memetakan tool_use ↔ tool_calls otomatis. Bentuk Anthropic:

tools · Anthropic
{
  "model": "ohh/claude-opus-5",
  "max_tokens": 1024,
  "tools": [{
    "name": "get_weather",
    "description": "Get current weather for a city",
    "input_schema": {
      "type": "object",
      "properties": { "city": { "type": "string" } },
      "required": ["city"]
    }
  }],
  "messages": [{ "role": "user", "content": "Weather in Jakarta?" }]
}

Bentuk OpenAI memakai array tools berisi objek type:function dan mengembalikan tool_calls. Kirim balik hasil tool sebagai pesan tool_result (Anthropic) atau role:tool (OpenAI) untuk melanjutkan.

Vision (images)

Untuk request gambar, gunakan model yang mendukung image. Anthropic memakai blok image base64; OpenAI memakai image_url (data URL atau URL https).

Vision · Anthropic
{
  "model": "ohh/claude-opus-5",
  "max_tokens": 512,
  "messages": [{ "role": "user", "content": [
    { "type": "image", "source": {
      "type": "base64", "media_type": "image/png", "data": "<BASE64>" } },
    { "type": "text", "text": "What is in this image?" }
  ]}]
}

Reasoning effort

Kontrol seberapa dalam model berpikir. Makin tinggi = reasoning lebih dalam + token lebih banyak.

ModelFieldNilai valid
Opus 5 / 4.8output_config.effortlow · medium · high · xhigh · max
GPT 5.6reasoning_effortnone · low · medium · high · xhigh
effort · Opus
{ "model":"ohh/claude-opus-5", "max_tokens":1024,
  "output_config": { "effort": "max" },
  "messages":[{"role":"user","content":"Prove there are infinitely many primes."}] }
Dashboard tidak menetapkan default reasoning. Jika client tidak mengirim field ini, setiap model memakai default bawaannya; nilai eksplisit per-request diteruskan bila didukung.

Prompt caching

Prompt caching berjalan otomatis di upstream dan mempercepat context berulang. Penagihan bersifat full-uncached dan seragam untuk semua model: input wallet sama dengan total prompt token yang dilaporkan upstream — input baru ditambah pembuatan cache dan cache read — tanpa diskon cache. Untuk Opus kami otomatis menaruh cache breakpoint pada bagian prompt yang stabil (system prompt, tools, giliran lama) dan untuk GPT Azure caching berjalan otomatis; caching memperbaiki latency dan biaya upstream, tetapi wallet ditagih atas seluruh prompt_tokens yang diproses model. Pertahankan deployment, system prompt, urutan tool, dan history lama agar cache hit maksimal.

Kode error

KodeArtiSolusi
400Request buruk / JSON invalidCek body & field wajib.
401Key salah / tidak adaCek key; rotasi di dashboard.
402Saldo habisTop-up dompet token.
403Akun ditangguhkan / diblokirBuka tiket support.
404Base URL salahClaude Code = root; SDK = /v1. Jangan /v1/v1.
413Body melewati batas keamanan request terautentikasi 16 MiBKurangi lampiran biner yang sangat besar; konteks agent panjang biasa tetap diterima.
429ChatRateLimited / Rate limit terlampauiLayanan otomatis menunggu dan retry hingga 95 detik. Jika masih muncul, kurangi concurrency dan hindari burst paralel.
502/503Gangguan upstreamAuto-retry; coba lagi sebentar.
529Upstream sibukAuto-retry dengan backoff.

Rate limit & biaya

Tagihan per scope. Fable hanya memakai lot Fable. GPT memakai lot GPT Only lebih dulu, lalu lot GPT + Opus yang eligible. Opus hanya memakai lot GPT + Opus. Wallet tidak pernah saling memakai saldo di luar aturan ini.

Rate limit. 50 request/menit per akun (semua key berbagi) + 200 req/menit per IP. Body request terautentikasi maks 16 MiB. ChatRateLimited: Rate limit exceeded berarti laju request melewati RPM yang dibatasi layanan kami; ini bukan gangguan upstream.

GPT 5.6 mendukung burstable TPM. Sol, Terra, dan Luna memakai bucket deployment upstream yang terpisah. Request sangat besar atau concurrency tinggi tetap dapat terkena 429; prompt-cache hit yang stabil membantu mengurangi tekanan TPM tambahan.
Anthropic / Opus tidak burstable. Throughput output memakai adaptive cap, umumnya sekitar 3.000–6.000 output token per menit tergantung model dan kondisi upstream saat itu. Generation panjang paralel dapat terkena throttle walaupun kapasitas input masih tersedia.
Context window bukan TPM. Dukungan context besar tidak berarti beberapa request mendekati limit dapat berjalan bersamaan.

Retry. Untuk 429, layanan mengikuti Retry-After, menunggu dengan jitter, dan retry otomatis hingga 95 detik. Error 502/503/529 sesaat memakai exponential backoff.

Masa berlaku. Paket token berlaku 30 hari sebagai lot independen, dipakai yang paling dekat kedaluwarsa dulu. Unlimited menumpuk masa akses, bukan token.

Setup per Client

Pilih tool kamu. Tool Anthropic-native pakai URL root; tool OpenAI-compatible pakai /v1.

Claude CodeAnthropic native
CLI resmi Anthropic + extension VS Code / Cursor.

CLI — URL root saja; Claude Code menambahkan /v1/messages.

Opus 5 · recommended
export ANTHROPIC_BASE_URL="https://ohhmyagent.com"
export ANTHROPIC_AUTH_TOKEN="sk-mvx-your-key"
export ANTHROPIC_DEFAULT_OPUS_MODEL="ohh/claude-opus-5"

claude --model opus

Extension VS Code / Cursor — Windows, macOS, Linux

  1. Buka Command Palette (Ctrl+Shift+P) → Preferences: Open User Settings (JSON).
  2. Tempel dua key di bawah langsung di level utama — jangan nest claudeCode.environmentVariables di dalam dirinya sendiri.
  3. Jalankan Developer: Reload Window, lalu mulai session Claude Code baru.
VS Code User settings.json
{
  "claudeCode.disableLoginPrompt": true,
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://ohhmyagent.com" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "«redacted:sk-…»" },
    { "name": "ANTHROPIC_MODEL", "value": "ohh/claude-opus-5" },
    { "name": "ANTHROPIC_DEFAULT_OPUS_MODEL", "value": "ohh/claude-opus-5" },
    { "name": "ANTHROPIC_DEFAULT_SONNET_MODEL", "value": "ohh/claude-opus-5" },
    { "name": "ANTHROPIC_DEFAULT_HAIKU_MODEL", "value": "ohh/claude-opus-4.8" }
  ]
}
Penting: Base URL adalah ROOT (tanpa /v1). Claude Code menambah /v1/messages; menambah /v1 di sini membuat 404 di /v1/v1/messages. Untuk GPT ubah DEFAULT_* menjadi ohh/gpt-5.6.
OpenAI Codex CLIOpenAI compatible
Coding agent terminal open-source dari OpenAI. Dikonfigurasi lewat ~/.codex/config.toml.
  1. Install: npm i -g @openai/codex
  2. Export key supaya Codex bisa membacanya: export OHH_API_KEY="sk-mvx-your-key"
  3. Tambah provider model kustom di ~/.codex/config.toml:
~/.codex/config.toml
# ~/.codex/config.toml
model = "ohh/gpt-5.6"
model_provider = "ohh"

[model_providers.ohh]
name = "OhhMyAgent"
base_url = "https://ohhmyagent.com/v1"
env_key = "OHH_API_KEY"
wire_api = "responses"
Jalankan
codex --model ohh/gpt-5.6 "Refactor this module"
codex --model ohh/claude-opus-5   "Review this diff"

Windows / integrated terminal VS Code

Windows PowerShell + %USERPROFILE%\.codex\config.toml
# %USERPROFILE%\.codex\config.toml
model = "ohh/claude-opus-5"
model_provider = "ohh"

[model_providers.ohh]
name = "OhhMyAgent"
base_url = "https://ohhmyagent.com/v1"
env_key = "OHH_API_KEY"
wire_api = "responses"

# PowerShell (current terminal)
$env:OHH_API_KEY = "«redacted:sk-…»"
# Persist for new terminals (reopen VS Code after this)
[Environment]::SetEnvironmentVariable("OHH_API_KEY", "«redacted:sk-…»", "User")
Codex versi sekarang memakai OpenAI Responses API (wire_api = responses). Di Windows, integrated terminal VS Code memakai %USERPROFILE%\.codex\config.toml dan environment variable User yang sama. Jangan pakai https://ohhmyagent.com; Codex OpenAI-compatible harus memakai https://ohhmyagent.com/v1.
CursorOpenAI compatible
Editor kode AI. Tambah custom key OpenAI-compatible di Settings → Models.
  1. Cursor Settings → Models → ke bawah ke OpenAI API Key → aktifkan Override OpenAI Base URL.
  2. Base URL: https://ohhmyagent.com/v1
  3. API Key: sk-mvx-your-key
  4. Tambah custom model: ohh/gpt-5.6 atau ohh/claude-opus-5, lalu klik Verify.
Fitur agent Cursor paling mulus dengan ID GPT (bentuk OpenAI native). Opus juga jalan untuk chat.
ClineOpenAI compatible
AI coding agent otonom di VS Code.
  1. Cline settings → API Provider → OpenAI Compatible.
  2. Base URL: https://ohhmyagent.com/v1
  3. API Key: sk-mvx-your-key
  4. Model ID: ohh/claude-opus-5 / ohh/gpt-5.6.
Roo CodeOpenAI compatible
Agent VS Code Roo Code (fork Cline).
  1. Roo Code → Settings → Provider → OpenAI Compatible.
  2. Base URL: https://ohhmyagent.com/v1 · API Key: sk-mvx-your-key.
  3. Tambah model ohh/gpt-5.6 atau ohh/claude-opus-5 dan aktifkan di daftar model.
Kilo CodeOpenAI + Anthropic
Agent AI di VS Code.
  1. Settings → Providers → Add Custom Provider → OpenAI Compatible.
  2. Base URL: https://ohhmyagent.com/v1 · API Key: sk-mvx-your-key.
  3. Tambah model ohh/claude-opus-5, ohh/gpt-5.6.
Vision untuk model Opus custom: bila badge gambar belum muncul setelah refresh, tambahkan override model di custom provider Kilo: attachment: true dan modalities.input: ["text", "image"]. Modelnya vision-capable; ini memberi tahu Kilo agar menampilkan UI attachment.
Kilo custom model override
"claude-opus-4.8": {
  "name": "Claude Opus 4.8",
  "attachment": true,
  "modalities": { "input": ["text", "image"], "output": ["text"] }
}
Alternatif: pilih Anthropic Messages, Base URL https://ohhmyagent.com/v1 — Kilo memanggil /v1/messages. Model ID sama tetap berfungsi.
OpenCodeOpenAI compatible
AI coding agent di terminal.
~/.config/opencode/opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ohh": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OhhMyAgent",
      "options": { "baseURL": "https://ohhmyagent.com/v1", "apiKey": "{env:OHH_API_KEY}" },
      "models": {
        "claude-opus-5": { "name": "Claude Opus 5" },
        "gpt-5.6":       { "name": "GPT 5.6 · Auto Burst" }
      }
    }
  }
}
Jalankan
export OHH_API_KEY="sk-mvx-your-key"
opencode run --model "ohh/claude-opus-5"  "Review this code"
opencode run --model "ohh/gpt-5.6" "Review this code"
AiderOpenAI compatible
Pair-programmer terminal. Pakai env var OpenAI-compatible.
Aider via OpenAI-compatible
export OPENAI_API_BASE="https://ohhmyagent.com/v1"
export OPENAI_API_KEY="sk-mvx-your-key"

aider --model openai/ohh/gpt-5.6
aider --model openai/ohh/claude-opus-5
Beri prefix openai/ pada model supaya Aider merutekannya lewat driver OpenAI-compatible ke base /v1 kami.
Continue.devOpenAI compatible
Extension AI VS Code / JetBrains. Edit ~/.continue/config.yaml.
~/.continue/config.yaml
models:
  - name: Opus 5
    provider: openai
    model: ohh/claude-opus-5
    apiBase: https://ohhmyagent.com/v1
    apiKey: sk-mvx-your-key
  - name: GPT 5.6
    provider: openai
    model: ohh/gpt-5.6
    apiBase: https://ohhmyagent.com/v1
    apiKey: sk-mvx-your-key
9Routeradvanced
Router/proxy LLM self-hosted yang menyatukan banyak provider di satu endpoint. Project: decolua/9router ↗. Ini cara paling fleksibel (dan paling ribet) memakai kami — dua mode di bawah.
Mode A — Custom Provider (mode API-key, disarankan)
  1. Dashboard → Providers → Add Custom Provider.
  2. Type: OpenAI Compatible · API type: chat.
  3. Prefix: ohh · Base URL: https://ohhmyagent.com/v1 · API Key: sk-mvx-your-key.
  4. Tambah upstream model ID claude-opus-5, claude-opus-4.8, gpt-5.6. 9Router menampilkannya sebagai ohh/claude-opus-5 dst.
  5. Untuk routing Anthropic-native, tambah node provider kedua dengan prefix berbeda, type Anthropic, base /v1 sama — 9Router akan memanggil /v1/messages.
Konfigurasi provider
# 9router provider (conceptual)
provider: ohh
type: openai_compatible
base_url: https://ohhmyagent.com/v1
api_key: sk-mvx-your-key
models: [claude-opus-5, claude-opus-4.8, gpt-5.6]
Mode B — MITM / intersepsi transparan

9Router bisa mengintersep transparan tool yang meng-hardcode api.anthropic.com / api.openai.com dengan memasang CA MITM-nya dan menulis ulang upstream. Arahkan upstream yang diintersep ke kami:

  1. Aktifkan mode MITM di 9Router dan install/percayai root CA-nya di mesin kamu.
  2. Petakan host yang diintersep ke upstream kami: api.anthropic.com → https://ohhmyagent.com (root, Anthropic) dan api.openai.com/v1 → https://ohhmyagent.com/v1.
  3. Injeksikan header auth x-api-key: sk-mvx-your-key (atau Bearer) pada request yang ditulis ulang.
  4. Tulis ulang model ke ID ohh/… kalau tool mengirim nama khusus upstream.
Mode MITM ampuh tapi invasif (mendekripsi TLS lokal kamu). Utamakan Mode A kecuali tool benar-benar tak bisa ganti base URL. Jangan pasang CA MITM di mesin bersama atau produksi.
LiteLLMOpenAI compatible
Proxy/SDK Python yang menyatukan banyak LLM. Daftarkan kami sebagai model openai-compatible.
config.yaml
# litellm config.yaml
model_list:
  - model_name: claude-opus-5
    litellm_params:
      model: openai/ohh/claude-opus-5
      api_base: https://ohhmyagent.com/v1
      api_key: sk-mvx-your-key
  - model_name: gpt-5.6
    litellm_params:
      model: openai/ohh/gpt-5.6
      api_base: https://ohhmyagent.com/v1
      api_key: sk-mvx-your-key
Python / JS SDKofficial SDKs
Pakai SDK resmi Anthropic atau OpenAI — cukup ganti base URL.
Python · anthropic
# Python · Anthropic SDK
from anthropic import Anthropic
client = Anthropic(api_key="sk-mvx-your-key", base_url="https://ohhmyagent.com")
msg = client.messages.create(
    model="ohh/claude-opus-5", max_tokens=512,
    messages=[{"role":"user","content":"Hello"}])
print(msg.content[0].text)
Node · openai
// Node · OpenAI SDK
import OpenAI from "openai";
const client = new OpenAI({ apiKey: "sk-mvx-your-key", baseURL: "https://ohhmyagent.com/v1" });
const r = await client.chat.completions.create({
  model: "ohh/gpt-5.6",
  messages: [{ role: "user", content: "Hello" }],
});
console.log(r.choices[0].message.content);
cURLraw HTTP
HTTP mentah — model ID sama bekerja di kedua endpoint.
Anthropic · /v1/messages
curl https://ohhmyagent.com/v1/messages \
  -H "x-api-key: sk-mvx-your-key" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"ohh/claude-opus-5","max_tokens":1024,
       "messages":[{"role":"user","content":"Hello!"}]}'
OpenAI · /v1/chat/completions
curl https://ohhmyagent.com/v1/chat/completions \
  -H "authorization: Bearer sk-mvx-your-key" \
  -H "content-type: application/json" \
  -d '{"model":"ohh/gpt-5.6",
       "messages":[{"role":"user","content":"Hello!"}]}'

FAQ

Prefix mana — ohh/ atau oma/?
Pakai ohh/. ID canonical polos seperti claude-opus-5 / gpt-5.6 juga dikenali. ID Opus singkat lama tetap kompatibel, tetapi tidak lagi ditampilkan. Tidak ada oma/.

GPT 5.6 cuma OpenAI-compatible?
Tidak — jalan di kedua endpoint; kami terjemahkan transparan. Pilih endpoint sesuai SDK kamu.

Satu key untuk semua model?
Satu key bisa memanggil semua model ID, tetapi request hanya diizinkan dan ditagih dari wallet yang eligible untuk model tersebut. Saldo Fable, GPT Only, dan GPT + Opus tetap terpisah.

Sol / Terra / Luna?
Tiga route GPT 5.6, rate rata sama. ohh/gpt-5.6 auto-burst; kunci dengan -sol/-terra/-luna hanya jika mau route tetap.

Isi percakapan disimpan?
Tidak. Kami hanya simpan metadata (jumlah token, waktu, model). Isi percakapan diteruskan dan tidak disimpan.

Solusi masalah

401 — cek key benar & aktif; rotasi di dashboard.

404 — base URL salah. Claude Code = root (tanpa /v1); SDK = /v1. Jangan /v1/v1.

402 — top-up dompet token.

429 / ChatRateLimited — laju request melewati batas RPM layanan, bukan masalah upstream. Layanan otomatis menunggu dan retry hingga 95 detik. Jika masih muncul, kurangi concurrency, antrekan request, dan hindari burst paralel.

529 — upstream sibuk; auto-retry — coba lagi sebentar.

domain keliru — selalu pakai ohhmyagent.com.

Masih bingung? Email [email protected]