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

NameTypeRequiredDescription
modelstringNoModel AI yang digunakan
textstringNo*Prompt sederhana
messagesarrayNo*Format chat multi-turn

Salah satu dari text atau messages wajib diisi.

Jika model tidak dikirim, API akan menggunakan model default:

gpt-5.5

Supported Models

Model yang tersedia untuk digunakan oleh client:

  • gpt-4
  • gpt-3
  • davinci
  • gpt-3.5-turbo
  • gpt-4o
  • gpt-4o-mini
  • o1-mini
  • o3-mini
  • gpt-5
  • gpt-5-5
  • gpt-5-mini
  • gpt-5-nano
  • gpt-5-pro
  • gpt-5-thinking
  • gpt-5.1
  • gpt-5.1-codex
  • gpt-5.1-mini
  • gpt-5.2
  • gpt-5.2-chat-latest
  • gpt-5.2-pro
  • gpt-5.3-chat-latest
  • gpt-5.4
  • gpt-5.4-mini
  • gpt-5.4-nano
  • gpt-5.6
  • gpt-5.6-luna
  • gpt-5.6-sol
  • gpt-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:

  • system
  • user
  • assistant

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

FieldTypeDescription
successbooleanStatus request
modelstringModel yang dipilih oleh client
result.textstringResponse dari AI
result.usageobjectInformasi penggunaan token
result.idstringID response dari AI
result.creatednumberUnix 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"
}

Playground