← Beranda

AI API — Dokumentasi

Pakai AI kami (Chat, lewat routing Hermes ke beberapa model sekaligus) langsung dari website atau aplikasi Anda sendiri. Format request/response kompatibel dengan OpenAI API — kalau kode Anda sudah pakai SDK resmi OpenAI, tinggal ganti base_url dan API key, tidak perlu ubah kode lain. Alternatif praktis dari beli saldo langsung ke provider (OpenAI/Groq/dll): satu saldo AI Center, dipakai lintas model.

🎉 Coba Gratis 14 Hari, Tanpa Potong Saldo

Klaim trial sekali per akun di halaman AI API -- selama 14 hari sejak diklaim, semua pemakaian /v1/chat/completions Anda gratis penuh.

Daftar & Klaim Trial Gratis

1. Dapatkan API Key

Daftar / masuk ke akun AI Center Anda, lalu buka halaman AI API di dashboard untuk membuat key (dan klaim trial gratis di atas kalau belum). Key hanya ditampilkan satu kali saat dibuat — simpan baik-baik.

Penting soal keamanan: API key ini mewakili saldo Anda. Panggil API dari server/backend Anda sendiri, JANGAN ditaruh di kode JavaScript sisi browser/client (CORS memang sengaja tidak diaktifkan di endpoint ini) — siapa pun yang melihat key Anda bisa memakai saldo Anda.

Daftar Gratis & Buat Key

2. Base URL & Autentikasi

Semua request dikirim dengan header Authorization: Bearer <API_KEY>.

Base URL: https://ai.suryadigital.id/v1

3. Referensi Endpoint

POST /v1/chat/completions

Kompatibel OpenAI Chat Completions API

Body request (JSON):

{
  "model": "hermes-agent",   // opsional -- kosongkan/"auto" biar Hermes yang pilih
  "messages": [
    { "role": "system", "content": "Anda asisten yang ringkas dan sopan." },
    { "role": "user", "content": "Ringkas paragraf ini: ..." }
  ],
  "temperature": 0.7,       // opsional, default 0.7
  "max_tokens": 2048,       // opsional, default 2048
  "stream": false           // opsional, default false -- true utk balasan berangsur (SSE)
}

Response 200 kalau stream: false/tidak diisi (bentuk sama seperti OpenAI):

{
  "id": "chatcmpl-12345",
  "object": "chat.completion",
  "created": 1758000000,
  "model": "hermes-agent",
  "choices": [
    { "index": 0, "message": { "role": "assistant", "content": "..." }, "finish_reason": "stop" }
  ],
  "usage": { "prompt_tokens": 42, "completion_tokens": 120, "total_tokens": 162 }
}

Response kalau stream: true -- Content-Type: text/event-stream, potongan chat.completion.chunk format OpenAI, diakhiri data: [DONE]:

data: {"id":"chatcmpl-12345","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}

data: {"id":"chatcmpl-12345","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Halo"},"finish_reason":null}]}

data: {"id":"chatcmpl-12345","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

Catatan: streaming di sini "simulated" -- balasan tetap ditunggu penuh dari model dulu di belakang layar, baru dikirim berangsur sbg potongan SSE. SDK resmi OpenAI (yang baca lewat for await (const chunk of stream)) tetap bekerja apa adanya, cuma waktu ke token pertama sama dengan mode non-streaming (bukan lebih cepat).

GET /v1/models

Kompatibel OpenAI Models API

Daftar model yang tersedia untuk API ini (juga butuh header Authorization).

{
  "object": "list",
  "data": [
    { "id": "hermes-agent", "object": "model", "owned_by": "sdn-ai-center" },
    { "id": "hermes-longcat", "object": "model", "owned_by": "sdn-ai-center" },
    { "id": "hermes-stepfun", "object": "model", "owned_by": "sdn-ai-center" },
    { "id": "hermes-deepseek", "object": "model", "owned_by": "sdn-ai-center" },
    { "id": "hermes-deepseek-pro", "object": "model", "owned_by": "sdn-ai-center" }

  ]
}

4. Contoh Kode

curl https://ai.suryadigital.id/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [{ "role": "user", "content": "Halo, siapa kamu?" }]
  }'
// npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.SDN_AI_API_KEY,       // API key dari /api_keys.php
  baseURL: "https://ai.suryadigital.id/v1", // satu-satunya baris yang beda dari pakai OpenAI langsung
});

const res = await client.chat.completions.create({
  messages: [{ role: "user", content: "Halo, siapa kamu?" }],
});
console.log(res.choices[0].message.content);
# pip install openai
from openai import OpenAI

client = OpenAI(
    api_key="sk-xxxxxxxxxxxx",
    base_url="https://ai.suryadigital.id/v1",
)

res = client.chat.completions.create(
    messages=[{"role": "user", "content": "Halo, siapa kamu?"}],
)
print(res.choices[0].message.content)
<?php
$ch = curl_init('https://ai.suryadigital.id/v1/chat/completions');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer sk-xxxxxxxxxxxx',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'messages' => [['role' => 'user', 'content' => 'Halo, siapa kamu?']],
    ]),
]);
$response = json_decode(curl_exec($ch), true);
echo $response['choices'][0]['message']['content'];

5. Harga per Model

Dipotong dari saldo AI Center Anda yang sama (top up sekali, dipakai untuk Chat web maupun AI API). Markup AI API terpisah dari markup Chat web di dashboard.

ProviderModel ID (model)Harga Input
/1 juta token
Harga Output
/1 juta token
Estimasi per Panggilan
Hermes Agent hermes-agent Rp0 Rp0 ~Rp0
Hermes Agent hermes-longcat Rp926 Rp1.851 ~Rp2
Hermes Agent hermes-stepfun Rp926 Rp1.851 ~Rp2
Hermes Agent hermes-deepseek Rp5.782 Rp17.346 ~Rp9
Hermes Agent hermes-deepseek-pro Rp17.346 Rp52.037 ~Rp27

6. Batas Laju (Rate Limit) & Kode Error

Maksimal 30 request/menit per API key untuk POST /v1/chat/completions. Lebih dari itu, Anda menerima status 429.

Batas keselamatan per request: total panjang pesan maksimal 200.000 karakter, maksimal 100 pesan, max_tokens dijepit ke 8.192 dan temperature ke rentang 0–2. Maksimal 3 request bersamaan per key.

Statuserror.codeArti
401missing_api_key / invalid_api_keyHeader Authorization tidak ada, key salah, atau sudah dinonaktifkan.
400missing_messages / invalid_messagesField messages kosong atau formatnya salah.
400content_blockedPesan mengandung kata kunci yang tidak diizinkan (tidak dikenai biaya).
400context_length_exceeded / too_many_messagesTotal panjang pesan atau jumlah pesan melebihi batas per request.
400invalid_temperature / invalid_max_tokensTipe temperature atau max_tokens bukan angka.
404model_not_foundNilai model tidak dikenali/tidak aktif — lihat GET /v1/models.
429insufficient_balanceSaldo AI Center Anda tidak cukup — top up dulu, atau kecilkan max_tokens/konteks. Saldo harus menutup perkiraan biaya maksimum permintaan (input + max_tokens penuh).
429(rate limit)Lebih dari 30 request/menit dari key yang sama.
429too_many_concurrent_requestsTerlalu banyak request yang sedang diproses bersamaan dari key yang sama (maks 3).
502upstream_errorGagal memanggil model AI di belakang layar — coba lagi.

Semua error berbentuk {"error":{"message","type","code"}}, sama seperti OpenAI, supaya penanganan error di SDK Anda tetap bekerja apa adanya.

Siap Coba?

Daftar Gratis & Buat Key