Buat chat completion
post/v1/chat/completions
Buat respons model dari riwayat percakapan. Respons streaming dan non-streaming keduanya didukung.
Kompatibel dengan OpenAI Chat Completions API.
Autentikasi
Kirim kunci API OLETOKEN sebagai token Bearer. Kunci dibuat di halaman Kunci API pada konsol.
Authorization: Bearer $OLETOKEN_API_KEYIsi permintaan
Content-Type:application/json
| Field | Tipe | Wajib | Keterangan |
|---|---|---|---|
| model | string | ID model | |
| messages | Message[] | Pesan percakapan | |
| role | stringsystemuserassistanttooldeveloper | Peran pesan | |
| content | string | MessageContent[] | Konten pesan | |
| type | stringtextimage_urlinput_audiofilevideo_url | — | — |
| text | string | — | — |
| image_url | object | — | — |
| url | string | — | URL gambar atau data base64 |
| detail | stringlowhighauto | — | — |
| input_audio | object | — | — |
| data | string | — | Data audio berenkode Base64 |
| format | stringwavmp3 | — | — |
| file | object | — | — |
| filename | string | — | — |
| file_data | string | — | — |
| file_id | string | — | — |
| video_url | object | — | — |
| url | string | — | — |
| name | string | — | Nama pengirim |
| tool_calls | ToolCall[] | — | — |
| id | string | — | — |
| type | string | — | — |
| function | object | — | — |
| name | string | — | — |
| arguments | string | — | — |
| tool_call_id | string | — | ID pemanggilan tool (untuk pesan dengan peran tool) |
| reasoning_content | string | — | Konten reasoning |
| temperature | number0–2default: 1 | — | Temperatur sampling |
| top_p | number0–1default: 1 | — | Parameter nucleus sampling |
| n | integer≥ 1default: 1 | — | Jumlah completion yang akan dibuat |
| stream | booleandefault: false | — | Apakah respons akan di-streaming |
| stream_options | object | — | — |
| include_usage | boolean | — | — |
| stop | string | string[] | — | Urutan stop |
| max_tokens | integer | — | Jumlah maksimum token yang akan dibuat |
| max_completion_tokens | integer | — | Jumlah maksimum token completion |
| presence_penalty | number-2–2default: 0 | — | — |
| frequency_penalty | number-2–2default: 0 | — | — |
| logit_bias | object | — | — |
| user | string | — | — |
| tools | Tool[] | — | — |
| type | string | — | — |
| function | object | — | — |
| name | string | — | — |
| description | string | — | — |
| parameters | object | — | Definisi parameter dalam format JSON Schema |
| tool_choice | string | objectnoneautorequired | — | — |
| type | string | — | — |
| function | object | — | — |
| name | string | — | — |
| response_format | ResponseFormat | — | — |
| type | stringtextjson_objectjson_schema | — | — |
| json_schema | object | — | Definisi JSON Schema |
| seed | integer | — | — |
| reasoning_effort | stringlowmediumhigh | — | Tingkat reasoning (untuk model yang mendukung reasoning) |
| modalities | string[] | — | — |
| audio | object | — | — |
| voice | string | — | — |
| format | string | — | — |
Respons
200Respons dibuat
| Field | Tipe | Wajib | Keterangan |
|---|---|---|---|
| id | string | — | — |
| object | string | — | — |
| created | integer | — | — |
| model | string | — | — |
| choices | object[] | — | — |
| index | integer | — | — |
| message | Message | — | — |
| role | stringsystemuserassistanttooldeveloper | Peran pesan | |
| content | string | MessageContent[] | Konten pesan | |
| type | stringtextimage_urlinput_audiofilevideo_url | — | — |
| text | string | — | — |
| image_url | object | — | — |
| url | string | — | URL gambar atau data base64 |
| detail | stringlowhighauto | — | — |
| input_audio | object | — | — |
| data | string | — | Data audio berenkode Base64 |
| format | stringwavmp3 | — | — |
| file | object | — | — |
| filename | string | — | — |
| file_data | string | — | — |
| file_id | string | — | — |
| video_url | object | — | — |
| url | string | — | — |
| name | string | — | Nama pengirim |
| tool_calls | ToolCall[] | — | — |
| id | string | — | — |
| type | string | — | — |
| function | object | — | — |
| name | string | — | — |
| arguments | string | — | — |
| tool_call_id | string | — | ID pemanggilan tool (untuk pesan dengan peran tool) |
| reasoning_content | string | — | Konten reasoning |
| finish_reason | stringstoplengthtool_callscontent_filter | — | — |
| usage | Usage | — | — |
| prompt_tokens | integer | — | Jumlah token prompt |
| completion_tokens | integer | — | Jumlah token completion |
| total_tokens | integer | — | Jumlah total token |
| prompt_tokens_details | object | — | — |
| cached_tokens | integer | — | — |
| text_tokens | integer | — | — |
| audio_tokens | integer | — | — |
| image_tokens | integer | — | — |
| completion_tokens_details | object | — | — |
| text_tokens | integer | — | — |
| audio_tokens | integer | — | — |
| reasoning_tokens | integer | — | — |
| system_fingerprint | string | — | — |
400Parameter permintaan tidak valid
| Field | Tipe | Wajib | Keterangan |
|---|---|---|---|
| error | object | — | — |
| message | string | — | Pesan error |
| type | string | — | Tipe error |
| param | string | null | — | Parameter yang terlibat |
| code | string | null | — | Kode error |
429Batas laju terlampaui
| Field | Tipe | Wajib | Keterangan |
|---|---|---|---|
| error | object | — | — |
| message | string | — | Pesan error |
| type | string | — | Tipe error |
| param | string | null | — | Parameter yang terlibat |
| code | string | null | — | Kode error |
Contoh permintaan
curl -X POST 'https://api.oletoken.ai/v1/chat/completions' \
-H "Authorization: Bearer $OLETOKEN_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-4",
"messages": []
}'
