rnevio

Dokumentasi

Chat Completions

POST /v1/chat/completions

Endpoint utama untuk percakapan. Format request dan response-nya sama dengan Chat Completions API dari OpenAI.

Parameter utama

Parameter Tipe Wajib Keterangan
model string Ya ID model, misalnya gpt-5.6-sol. Lihat Model.
messages array Ya Riwayat percakapan. Setiap pesan punya role (system, user, assistant) dan content.
stream boolean Tidak true untuk menerima jawaban sedikit demi sedikit.
max_tokens integer Tidak Batas token keluaran. Berguna untuk menghemat saldo.
temperature number Tidak Tingkat kreativitas, umumnya 0–2.
tools array Tidak Definisi fungsi untuk tool calling, jika model mendukung.

Parameter lain yang didukung OpenAI SDK umumnya diteruskan apa adanya ke model.

Contoh request

curl https://router.rnevio.com/v1/chat/completions \
  -H "Authorization: Bearer $RNEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "messages": [
      {"role": "system", "content": "Kamu asisten yang menjawab singkat dalam bahasa Indonesia."},
      {"role": "user", "content": "Apa itu API?"}
    ],
    "max_tokens": 200
  }'

Contoh response

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "gpt-5.6-sol",
  "choices": [
    {
      "index": 0,
      "message": { "role": "assistant", "content": "API adalah ..." },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 31,
    "completion_tokens": 48,
    "total_tokens": 79
  }
}

usage dipakai untuk menghitung biaya request: token masuk × harga input + token keluar × harga output. Lihat Saldo & Harga.

Streaming

Dengan "stream": true, response dikirim sebagai Server-Sent Events (text/event-stream). Setiap baris berawalan data: berisi satu potongan JSON, dan stream diakhiri dengan data: [DONE].

stream = client.chat.completions.create(
    model="gpt-5.6-sol",
    messages=[{"role": "user", "content": "Ceritakan dongeng pendek."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Catatan: potongan pertama bisa berupa keepalive dengan delta kosong. Selalu periksa apakah delta.content ada sebelum mencetaknya, seperti contoh di atas. OpenAI SDK resmi sudah menangani ini dengan benar.

Responses API

Selain Chat Completions, Rnevio juga menerima format Responses API:

curl https://router.rnevio.com/v1/responses \
  -H "Authorization: Bearer $RNEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-5.6-sol", "input": "Apa itu API?"}'