ChatGPT API
Dokumentasi resmi ChatGPT API dari Maelyn API untuk integrasi AI berbasis OpenAI
Base Information
- BASE_URL_API:
https://api.maelyn.eu/api - Path / Endpoint:
/ai/chatgpt - Method:
POST - Credit Usage:
2
Authentication
Gunakan header berikut pada setiap request:
x-maelyn-auth: YOUR_API_KEY
Content-Type: application/json
Request Body
Endpoint ini mendukung dua format input:
Simple Text
{
"text": "jelaskan apa itu black hole",
"model": "gpt-4o-mini"
}
Messages
{
"model": "gpt-4o",
"messages": [
{
"role": "system",
"content": "kamu adalah guru fisika"
},
{
"role": "user",
"content": "apa itu black hole?"
}
]
}
Body Parameters
| Name | Type | Required | Description |
|---|---|---|---|
model | string | No | Model AI yang digunakan |
text | string | No* | Prompt sederhana |
messages | array | No* | Format chat multi-turn |
Salah satu dari
textataumessageswajib diisi.
Jika model tidak dikirim, API akan menggunakan model default:
gpt-5.5
Supported Models
Model yang tersedia untuk digunakan oleh client:
gpt-4gpt-3davincigpt-3.5-turbogpt-4ogpt-4o-minio1-minio3-minigpt-5gpt-5-5gpt-5-minigpt-5-nanogpt-5-progpt-5-thinkinggpt-5.1gpt-5.1-codexgpt-5.1-minigpt-5.2gpt-5.2-chat-latestgpt-5.2-progpt-5.3-chat-latestgpt-5.4gpt-5.4-minigpt-5.4-nanogpt-5.6gpt-5.6-lunagpt-5.6-solgpt-5.6-terra
Model yang dikirim oleh client merupakan public model. Backend akan memproses request menggunakan model internal yang telah ditentukan oleh sistem.
Simple Text Example
{
"text": "jelaskan apa itu black hole",
"model": "gpt-4o-mini"
}
Model Selection Example
{
"text": "buatkan contoh REST API menggunakan Node.js",
"model": "gpt-5.6"
}
Messages Example
{
"model": "gpt-5.6-luna",
"messages": [
{
"role": "system",
"content": "Kamu adalah asisten pemrograman."
},
{
"role": "user",
"content": "Apa itu JavaScript?"
},
{
"role": "assistant",
"content": "JavaScript adalah bahasa pemrograman..."
},
{
"role": "user",
"content": "Berikan contoh sederhananya."
}
]
}
Conversation History
Format messages dapat digunakan untuk mempertahankan konteks percakapan.
Jumlah conversation yang diproses dibatasi hingga 30 message. Jika jumlah message melebihi batas tersebut, sistem akan menggunakan message terbaru.
Contoh:
{
"model": "gpt-5.6",
"messages": [
{
"role": "user",
"content": "Saya sedang belajar JavaScript."
},
{
"role": "assistant",
"content": "Bagus! JavaScript banyak digunakan dalam pengembangan web."
},
{
"role": "user",
"content": "Apa yang harus saya pelajari selanjutnya?"
}
]
}
Supported Roles
messages mendukung role berikut:
systemuserassistant
Contoh:
{
"messages": [
{
"role": "system",
"content": "Kamu adalah asisten yang membantu."
},
{
"role": "user",
"content": "Halo!"
},
{
"role": "assistant",
"content": "Halo! Ada yang bisa saya bantu?"
}
]
}
Content Limit
Setiap content pada message memiliki batas maksimum:
8000 karakter
Jika content melebihi batas tersebut, sistem akan memotong content secara otomatis hingga batas maksimum.
Success Response
{
"success": true,
"model": "gpt-4o-mini",
"result": {
"text": "Black hole adalah wilayah di ruang angkasa dengan gravitasi sangat kuat.",
"usage": {
"prompt_tokens": 25,
"completion_tokens": 18,
"total_tokens": 43
},
"id": "chatcmpl_xxxxx",
"created": 1770000000
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
success | boolean | Status request |
model | string | Model yang dipilih oleh client |
result.text | string | Response dari AI |
result.usage | object | Informasi penggunaan token |
result.id | string | ID response dari AI |
result.created | number | Unix timestamp response |
Error Response
Invalid JSON
{
"success": false,
"message": "Body JSON tidak valid"
}
Invalid Body
Terjadi apabila text maupun messages tidak tersedia atau tidak valid.
{
"success": false,
"message": "Body text atau messages wajib diisi dan harus valid (minimal 1 pesan user dengan content non-kosong)"
}
AI Request Failed
Terjadi apabila backend gagal mendapatkan response dari AI.
{
"success": false,
"message": "Gagal mendapatkan respon AI"
}
Internal Server Error
{
"success": false,
"message": "Terjadi kesalahan saat memproses permintaan"
}