Dokumentasi API

Babel Mesh menyediakan API yang kompatibel dengan OpenAI. Ganti URL dasar dan kuncinya, dan alat serta SDK Anda yang ada akan berfungsi.

Memulai

URL dasarhttps://babelmesh.ai/v1
AutentikasiHeader Authorization: Bearer KUNCI_ANDA. Kunci diawali sk-fab-.
Mendapatkan kunciBuka konsol akun untuk membuat akun dan kunci. Kunci ditampilkan sekali saat dibuat; simpanlah. Di sana Anda dapat membuat dan menonaktifkan kunci kapan saja.

Model yang tersedia saat ini dapat didaftar kapan saja:

curl
curl https://babelmesh.ai/v1/models \
  -H "Authorization: Bearer $BABEL_KEY"

Jika Anda tidak tahu model mana yang dipilih, gunakan auto. Babel Mesh melihat permintaannya: obrolan ringan dan pertanyaan sederhana ke model yang cepat; kode ke model kode; penalaran, materi yang sangat panjang, pemanggilan alat, atau keluaran terstruktur ke model terkuat; dan jika sebuah model tidak punya node atau antreannya panjang, model lain dipakai. Keputusan hanya membaca permintaan itu sendiri (panjangnya, apakah ada kode, alat, atau skema keluaran terstruktur) dan tidak ada yang disimpan. Header respons X-Gateway-Model menyebutkan model mana yang menjawab dan X-Gateway-Auto alasannya. auto hanya memilih model yang boleh dipakai akun Anda.

Anda juga dapat menyebut salah satunya: chat-default (cepat), chat-strong (kuat), code-default (kode), embedding-default (embedding), video-default (video). Untuk gambar gunakan nama model z-image-turbo (auto juga berfungsi untuk permintaan gambar). Alias menunjuk ke yang paling cocok saat ini; nama model itu sendiri juga berfungsi.

Chat

Endpoint-nya POST /v1/chat/completions; stream: true mengalirkan jawabannya.

curl
curl https://babelmesh.ai/v1/chat/completions \
  -H "Authorization: Bearer $BABEL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto",
    "messages": [{"role": "user", "content": "Introduce yourself in one sentence"}]
  }'

Dengan SDK Python OpenAI:

python
from openai import OpenAI

client = OpenAI(base_url="https://babelmesh.ai/v1", api_key="sk-fab-...")

stream = client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "Write a Python function that checks for palindromes"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

Embedding

Endpoint-nya POST /v1/embeddings; input adalah string atau daftar string.

curl
curl https://babelmesh.ai/v1/embeddings \
  -H "Authorization: Bearer $BABEL_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "embedding-default", "input": ["a lighthouse at dawn", "a paper boat on a pond"]}'

Gambar

Endpoint-nya POST /v1/images/generations; gambar kembali sebagai base64 (data[0].b64_json).

curl
curl https://babelmesh.ai/v1/images/generations \
  -H "Authorization: Bearer $BABEL_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "z-image-turbo", "prompt": "a lighthouse at dawn, watercolor", "n": 1}'

Video

Video butuh beberapa menit, jadi ini tugas asinkron: kirim, cek statusnya, lalu ambil filenya.

curl
# 1. Submit; the answer holds a job id
curl https://babelmesh.ai/v1/videos \
  -H "Authorization: Bearer $BABEL_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "video-default", "prompt": "a paper boat on a pond", "seconds": "3"}'

# 2. Poll: queued, in_progress, completed or failed
curl https://babelmesh.ai/v1/videos/VIDEO_ID -H "Authorization: Bearer $BABEL_KEY"

# 3. When completed, fetch the video (mp4)
curl https://babelmesh.ai/v1/videos/VIDEO_ID/content -H "Authorization: Bearer $BABEL_KEY" -o out.mp4

Setiap akun dapat memiliki jumlah tugas video yang terbatas yang sedang berjalan. Video yang selesai disimpan selama satu hari.

Memakainya dari aplikasi lain

Karena API-nya kompatibel dengan OpenAI, ia berfungsi dengan antarmuka chat seperti Open WebUI, Cherry Studio, dan Chatbox, serta dengan plugin AI di editor. Tambahkan sebagai penyedia "kompatibel OpenAI" dengan dua pengaturan:

URL dasarhttps://babelmesh.ai/v1
Kunci APIKunci Anda, diawali sk-fab-.
  • Aplikasi ini tidak mengenal API tugas video (kirim, cek, ambil); untuk video panggil API langsung seperti di atas.
  • Riwayat percakapan tetap di aplikasi Anda sendiri; Babel Mesh tidak menyimpannya. Konten ditangani menurut kelas data akun, yang secara bawaan "publik" dan dapat berjalan di komputer kontributor: jangan masukkan materi pribadi atau rahasia.
  • Jika Anda men-deploy aplikasi seperti itu untuk beberapa orang, mereka semua berbagi kredit dan batas dari satu kunci.

Kesalahan dan batas

400Permintaan tidak benar bentuknya, atau lebih panjang daripada yang dapat diterima model mana pun yang tersedia (context_length_exceeded), atau modelnya adalah model embedding dan permintaannya bukan permintaan embedding.
401Tidak ada kunci, atau kunci tidak valid.
402Kredit habis, atau anggaran kunci ini habis.
404Nama model salah, atau tidak ada node yang melayani model itu saat ini.
429Melebihi batas permintaan per menit atau token akun. Tunggu sebentar.
503Sedang terlalu sibuk. Header Retry-After menyebutkan berapa detik harus menunggu.

Kesalahan berbentuk seperti OpenAI: {"error": {"message": "...", "type": "..."}}. Saldo dan batas Anda: GET /v1/account.