Mulai cepat
BeastFarmerAI adalah gerbang API yang bicara dua bahasa: format OpenAI dan format Anthropic.
Kamu tidak perlu library khusus — pakai SDK yang sudah ada, cukup ganti baseURL dan apiKey.
https://beastfarmer.xyz/v17 model — lihat tabel di bawahbf-xxxxxxxxxxxxxxxxxxxxxxxxAutentikasi
Kirim API key lewat salah satu header berikut — keduanya diterima, jadi SDK mana pun bisa langsung jalan:
Authorization: Bearer bf-xxxxxxxxxxxx # gaya OpenAI x-api-key: bf-xxxxxxxxxxxx # gaya Anthropic
Format OpenAI
POST /v1/chat/completions
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "bf-xxxxxxxxxxxx",
baseURL: "https://beastfarmer.xyz/v1",
});
const res = await client.chat.completions.create({
model: "kimi-k3",
messages: [
{ role: "system", content: "Kamu asisten yang membantu." },
{ role: "user", content: "Jelaskan quantum computing singkat." },
],
temperature: 0.7,
max_tokens: 1024,
});
console.log(res.choices[0].message.content);GET /v1/models
Daftar model dalam format standar OpenAI — SDK apa pun bisa membacanya lewat client.models.list().
curl https://beastfarmer.xyz/v1/models \ -H "Authorization: Bearer bf-xxxxxxxxxxxx"
{
"object": "list",
"data": [
{ "id": "kimi-k3", "object": "model", "owned_by": "beastfarmerai",
"description": "Model penalaran paling pintar di katalog..." },
{ "id": "glm-5.2", ... },
{ "id": "qwen3.7-max", ... },
{ "id": "kimi-k2.7-code", ... }
]
}GET /v1/ — tanpa API key
Kalau kamu cuma ingin melihat katalog sebelum membeli, endpoint ini terbuka untuk siapa saja. Bisa langsung dibuka di browser: beastfarmer.xyz/v1/
curl https://beastfarmer.xyz/v1/
# cuma nama modelnya saja:
curl -s https://beastfarmer.xyz/v1/ | python3 -c \
"import sys,json;[print(m['id']) for m in json.load(sys.stdin)['models']]"Format Anthropic
POST /v1/messages
Perhatikan: SDK Anthropic menambahkan /v1 sendiri, jadi baseURL-nya tanpa /v1.
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "bf-xxxxxxxxxxxx",
baseURL: "https://beastfarmer.xyz",
});
const msg = await client.messages.create({
model: "kimi-k3",
max_tokens: 1024,
system: "Kamu asisten yang membantu.",
messages: [{ role: "user", content: "Halo!" }],
});
console.log(msg.content[0].text);from anthropic import Anthropic
client = Anthropic(
api_key="bf-xxxxxxxxxxxx",
base_url="https://beastfarmer.xyz",
)
msg = client.messages.create(
model="kimi-k3",
max_tokens=1024,
messages=[{"role": "user", "content": "Halo!"}],
)
print(msg.content[0].text)Semua model bisa dipakai lewat format Anthropic ini juga — cukup ganti nilai model.
Yang didukung: system, max_tokens, temperature, top_p,
stop_sequences, stream, tools, tool_choice,
serta blok tool_use dan tool_result.
Streaming
Tambahkan stream: true. Kedua format mengirim Server-Sent Events sesuai spesifikasi masing-masing —
format OpenAI mengirim data: chunk, format Anthropic mengirim rangkaian
message_start → content_block_delta → message_stop.
stream = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "Tulis puisi."}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")Model
Tujuh model, satu API key, satu kuota kredit. Cukup ganti nilai model di request.
| Model | Karakter | Direkomendasikan untuk |
|---|---|---|
glm-5.2bawaan |
Latensi rendah, kualitas seimbang | Beban kerja umum: percakapan, ringkasan, ekstraksi data, dan integrasi produksi sehari-hari. |
qwen3.7-max |
Kapasitas terbesar | Dokumen panjang, analisis bertingkat, dan tugas yang menuntut pemahaman konteks luas. |
kimi-k2.7-code |
Dioptimalkan untuk kode | Pembuatan, penyuntingan, dan peninjauan kode; integrasi dengan IDE dan agent pemrograman. |
deepseek-v4-pro |
Penalaran mendalam | Soal matematis, logika bertahap, dan analisis yang menuntut ketelitian argumen. |
deepseek-v4-flash |
Cepat, biaya efisien | Volume tinggi dengan kualitas yang tetap terjaga — klasifikasi, penulisan ulang, moderasi. |
minimax-m3 |
Konteks panjang, hemat | Percakapan panjang dan alur agent yang butuh konteks besar dengan biaya terjaga. |
kimi-k3 |
Penalaran tertinggi | Persoalan paling kompleks yang menuntut kualitas jawaban terbaik. |
Panduan pemilihan. Mulailah dengan glm-5.2 sebagai baseline. Pindah ke model lain hanya
ketika ada kebutuhan spesifik — kimi-k2.7-code untuk pekerjaan kode, deepseek-v4-pro
untuk penalaran, deepseek-v4-flash atau minimax-m3 untuk menekan biaya. Gunakan
kimi-k3 ketika kualitas jawaban benar-benar menentukan.
Nama lama tetap dilayani: moonshotai/kimi-k3-free dan beastfarmer-k3 → kimi-k3,
kimi-k2.7 → kimi-k2.7-code, qwen-max dan qwen3.8-max → qwen3.7-max,
deepseek-v4 → deepseek-v4-pro, deepseek → deepseek-v4-flash.
Mode berpikir (hemat token)
Khusus Kimi K3. Model ini reasoning: secara bawaan ia "berpikir" dulu sebelum menjawab.
Model lain (GLM, Qwen, Kimi K2.7) mengabaikan parameter ini.
Isi pikirannya dikirim di field reasoning_content — terpisah dari content —
dan ikut dihitung sebagai token keluaran.
Untuk sapaan singkat saja bedanya besar:
| Mode | Token terpakai | Jawaban |
|---|---|---|
| Bawaan (berpikir) | 161 | Halo! Ada yang bisa saya bantu? |
thinking: false | 47 | Halo! Ada yang bisa dibantu? |
Matikan mode berpikir untuk tugas sederhana supaya kuotamu 3× lebih awet:
{
"model": "kimi-k3",
"messages": [{ "role": "user", "content": "Halo!" }],
"thinking": false
}{
"model": "kimi-k3",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Halo!" }],
"thinking": { "type": "disabled" }
}
Butuh kendali lebih halus? reasoning_effort juga diteruskan apa adanya —
nilainya low, high, atau max.
Begitu juga chat_template_kwargs kalau kamu mau mengirim parameter mentah ke provider.
Catatan: reasoning_content bukan bagian dari spesifikasi OpenAI, jadi SDK resmi
mengabaikannya — res.choices[0].message.content tetap berisi jawaban bersih.
Field itu baru terlihat "berantakan" kalau kamu memakai curl mentah.
Kredit & kuota
Kuota dijual dalam kredit. Konversinya tetap dan sederhana:
2 kredit~10 juta token~50 juta tokenYang dihitung tiap request adalah prompt_tokens + completion_tokens apa adanya dari provider —
termasuk seluruh riwayat percakapan, definisi tools, dan hasil tool yang kamu kirim ulang
setiap giliran. Angka itu lalu dikali 2 menjadi kredit.
Setiap respons membawa rinciannya, jadi kamu bisa mencocokkan sendiri:
X-BeastFarmer-Tokens-Charged: 54 # token asli request ini X-BeastFarmer-Credits-Used: 27450 # total kredit terpakai X-BeastFarmer-Credits-Remaining: 9972550 X-BeastFarmer-Tokens-Remaining: 4986275 # sisa dalam token asli
Masa aktif: setiap API key berlaku 7 hari sejak pembelian. Lewat dari itu key dibalas
403 walau kredit masih tersisa. Sisa hari terlihat di dashboard.
Batas 30 request per menit berlaku per API key. Kalau kredit habis, request dibalas 429
dan kamu tinggal beli paket lagi — kredit key baru berdiri sendiri.
Catatan untuk pengguna agent: agent mengirim ulang seluruh percakapan di setiap
giliran, jadi biayanya menumpuk. Percakapan 10 giliran bukan 10× biaya satu pesan — bisa 20–30× lipat.
Pakai "thinking": false dan pangkas riwayat lama untuk menghemat.
Kode error
| Kode | Arti | Solusi |
|---|---|---|
401 | Key tidak dikirim atau tidak dikenal | Periksa header Authorization |
403 | Key dinonaktifkan, masa aktif 7 hari habis, atau akun diblokir | Cek sisa hari di dashboard, beli paket baru kalau sudah lewat |
429 | Kredit habis atau lewat batas 30 req/menit | Beli paket baru / tunggu sebentar |
502 | Provider upstream menolak request | Coba lagi; isi pesan error diteruskan apa adanya |
503 | Seluruh pool key sedang sibuk | Tunggu beberapa detik lalu ulangi |
Butuh bantuan?
Kalau ada kendala teknis, pembayaran tidak terdeteksi, atau butuh model yang belum tersedia, hubungi admin langsung lewat Telegram — biasanya dibalas cepat.
Ketentuan layanan
- Tidak ada jaminan ketersediaan. Tidak ada SLA. Layanan bisa lambat, terganggu, atau tidak tersedia sewaktu-waktu tanpa pemberitahuan.
- Tidak ada jaminan kualitas jawaban. Keluaran model bisa keliru. Verifikasi sendiri sebelum dipakai untuk keputusan penting.
- Bergantung pada pihak ketiga. Model dilayani penyedia eksternal yang bisa mengubah batasan, menaikkan harga, atau menghentikan layanan kapan saja — di luar kendali kami.
- Tidak ada refund otomatis. Kredit terpakai tidak dapat dikembalikan. Untuk kredit yang belum terpakai, silakan hubungi admin — ditangani per kasus, bukan hak yang dijamin.
- Masa aktif tetap berjalan. Key berlaku 7 hari sejak pembelian, termasuk selama masa gangguan.
- Tidak untuk sistem kritis. Jangan pakai layanan ini untuk hal yang menyangkut keselamatan, keuangan, medis, atau hukum.
Kami berusaha memberi tahu gangguan secepatnya lewat pengumuman di dashboard, dan admin bisa dihubungi langsung di Telegram. Tapi itu upaya terbaik, bukan janji yang mengikat.