Panduan Integrasi API Takdir

Cara akses, model yang tersedia, spesifikasi permintaan, aturan kredit, dan contoh pemanggilan untuk API takdir YlanAI
Mar 25, 2026

Halaman ini menjelaskan pola integrasi standar untuk API takdir YlanAI.

Antarmuka saat ini mengikuti protokol yang kompatibel dengan OpenAI dan ditujukan untuk klien yang mendukung chat/completions dan completions.

1. Informasi akses

Alamat, metode request, dan endpoint standar
ItemDeskripsi
Base URL yang direkomendasikanhttps://ylan.ai/api/openai
Base URL kompatibilitashttps://ylan.ai/api/openai/v1
Metode defaultPOST
Daftar modelGET /models
Detail modelGET /models/{id}
Endpoint percakapanPOST /chat/completions
Endpoint legacy completionsPOST /completions

Untuk klien pihak ketiga yang menambahkan /v1 secara otomatis, gunakan https://ylan.ai/api/openai sebagai base URL.

Autentikasi

Semua permintaan harus menyertakan header berikut:

Authorization: Bearer sk-...

API Key terikat ke akun pengguna saat ini, dan konsumsi akan dipotong dari saldo kredit berbayar akun tersebut.

Untuk klien yang tidak dapat mengatur Authorization, kompatibilitas juga tersedia melalui api-key: sk-... dan x-api-key: sk-....

Percakapan multi-turn

Percakapan multi-turn didukung. Pemanggil dapat menjaga konteks berkelanjutan dengan mengirim riwayat percakapan melalui array messages.

2. Cakupan layanan dan model

Cakupan layanan
CakupanDeskripsi
Kapabilitas terbukaSaat ini hanya API analisis takdir yang dibuka
Chat umumTidak dibuka
Skenario yang didukungMendukung analisis satu subjek dan analisis pasangan
Standar keluaranSelaras dengan pengalaman produk di situs
Model yang tersedia

Referensi resmi mengikuti hasil real-time dari GET /models. Daftar model dapat berubah sesuai perkembangan kemampuan platform.

ModelDeskripsi
openai/gpt-5.4Cocok untuk analisis takdir dengan tuntutan kualitas tinggi
openai/gpt-5.3-chatCocok untuk interpretasi umum dan percakapan multi-turn
deepseek/deepseek-v3.2Cocok untuk analisis beragam dan percakapan multi-turn

3. Spesifikasi permintaan

Format respons
SkenarioFormat respons
stream=trueMengembalikan aliran SSE kompatibel OpenAI dengan payload chat.completion.chunk dan penutup data: [DONE]
stream=falseMengembalikan respons JSON standar chat.completion
POST /completionsMengembalikan JSON text_completion kompatibel OpenAI atau aliran SSE
Header non-stream berhasilMenyertakan x-ylan-charged-credits dan x-ylan-remaining-paid-credits
Parameter permintaan
ParameterTipeDeskripsi
modelstringNama model yang dikembalikan oleh GET /models
messagesarrayArray pesan kompatibel OpenAI; harus berisi minimal satu pesan user
promptstringInput legacy untuk completions; dapat digunakan ketika messages tidak dikirim
inputstringField input kompatibilitas untuk beberapa klien pihak ketiga ketika messages tidak dikirim
streambooleanApakah menggunakan respons streaming. Nilai default false
localestringBahasa keluaran, misalnya id, zh, en
topicstringTopik takdir, misalnya wealth_pattern atau marriage_status
subject_modestringMode analisis: single atau pair
methodstringMetode analisis yang ditafsirkan oleh rantai fortune saat ini
birth_profileobjectInput data kelahiran untuk analisis satu subjek
chart_inputobjectInput bagan terstruktur untuk skenario dengan bagan yang sudah disiapkan
pair_stateobjectInput untuk analisis pasangan
metadataobjectMetadata tambahan yang dapat melengkapi topic, locale, birthProfile, pairState, dan lainnya
Contoh streaming satu subjek
curl -N https://ylan.ai/api/openai/chat/completions \
  -H 'Authorization: Bearer sk-your-api-key' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "openai/gpt-5.4",
    "stream": true,
    "locale": "id",
    "topic": "wealth_pattern",
    "subject_mode": "single",
    "birth_profile": {
      "calendar": "solar",
      "birthDate": "1992-08-15",
      "birthTime": "09:30",
      "gender": "male",
      "location": "Shenzhen"
    },
    "messages": [
      {
        "role": "user",
        "content": "Tolong analisis tren keuangan saya tahun ini."
      }
    ]
  }'
Contoh streaming analisis pasangan
curl -N https://ylan.ai/api/openai/chat/completions \
  -H 'Authorization: Bearer sk-your-api-key' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "deepseek/deepseek-v3.2",
    "stream": true,
    "locale": "id",
    "topic": "marriage_status",
    "subject_mode": "pair",
    "pair_state": {
      "subjects": [
        {
          "birthProfile": {
            "calendar": "solar",
            "birthDate": "1992-08-15",
            "birthTime": "09:30",
            "gender": "male",
            "location": "Shenzhen"
          }
        },
        {
          "birthProfile": {
            "calendar": "solar",
            "birthDate": "1995-03-08",
            "birthTime": "22:15",
            "gender": "female",
            "location": "Guangzhou"
          }
        }
      ]
    },
    "messages": [
      {
        "role": "user",
        "content": "Tolong analisis arah jangka panjang hubungan ini dan poin utama kecocokan kami."
      }
    ]
  }'

4. Penagihan dan penanganan error

Aturan kredit dan waktu konfirmasi potongan
SkenarioAturan
Analisis satu subjek100 kredit per respons sukses
Analisis pasangan200 kredit per respons sukses
need_inputTidak dikenakan biaya
Cakupan kreditHanya kredit berbayar yang dapat digunakan; bonus pendaftaran dan kredit hadiah tidak berlaku
stream=truePotongan dikonfirmasi saat konten valid pertama yang terlihat dikembalikan
stream=falsePotongan dikonfirmasi setelah respons lengkap berhasil dikembalikan
Timeout, gagal, atau respons kosongPotongan tidak dikonfirmasi atau dikembalikan sesuai aturan yang berlaku
Kode error umum
HTTP StatusError CodeDeskripsi
400invalid_messagesPermintaan tidak memiliki pesan valid atau tidak ada pesan user
400invalid_promptPermintaan tidak menyertakan messages, prompt, maupun input
400invalid_modelModel yang diminta tidak ada dalam allowlist saat ini
401invalid_api_keyAPI Key tidak valid atau tidak dikirim
402insufficient_paid_creditsKredit berbayar akun tidak mencukupi
500request_timeoutPermintaan habis waktu
500request_failedPermintaan gagal
500internal_errorKesalahan internal server
502empty_responseModel tidak mengembalikan konten valid yang terlihat
Respons need_input

Ketika data kelahiran, data topik, atau data pasangan belum lengkap, API dapat mengembalikan respons tipe need_input. Respons ini hanya digunakan untuk melengkapi prasyarat analisis dan tidak dikenakan biaya.