Mulai dengan curl
seamless.ai.id kompatibel dengan API OpenAI. Yang berbeda hanya base URL dan API key:
https://16-79-198-229.sslip.io/v1
1. Siapkan API key
Pendaftaran mandiri belum dibuka: minta API key ke operator seamless.ai.id. Isi saldo dari dashboard (QRIS) sebelum memanggil model berbayar. Simpan key di variabel lingkungan, jangan di kode:
export SEAMLESS_API_KEY='sk-seamless-...'
2. Lihat model yang bisa dipakai
curl 'https://16-79-198-229.sslip.io/v1/models' -H "Authorization: Bearer $SEAMLESS_API_KEY"
3. Panggilan pertama
curl 'https://16-79-198-229.sslip.io/v1/chat/completions' \
-H "Authorization: Bearer $SEAMLESS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen2.5-0.5b-instruct",
"messages": [{"role": "user", "content": "Halo! Apa itu AI gateway?"}]
}'
Jawaban berformat OpenAI. Header x-gateway-provider menyebut provider yang menjawab, dan request ditagih dengan harganya.
Streaming
-N mematikan buffer curl supaya potongan jawaban tampil saat tiba (server-sent events, diakhiri data: [DONE]).
curl -N 'https://16-79-198-229.sslip.io/v1/chat/completions' \
-H "Authorization: Bearer $SEAMLESS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen2.5-0.5b-instruct",
"messages": [{"role": "user", "content": "Halo! Apa itu AI gateway?"}],
"stream": true
}'
Responses API
POST /v1/responses menerima format Responses API OpenAI untuk setiap model chat, dengan harga, saldo yang ditahan, dan tagihan yang sama dengan chat completions. Server tidak menyimpan jawaban: kirim percakapan lengkap di input setiap kali. Yang didukung dan yang ditolak ada di ringkasan.
curl 'https://16-79-198-229.sslip.io/v1/responses' \
-H "Authorization: Bearer $SEAMLESS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen2.5-0.5b-instruct",
"instructions": "Jawab singkat dalam bahasa Indonesia.",
"input": "Halo! Apa itu AI gateway?",
"max_output_tokens": 500
}'
Input gambar
Saat ini tidak ada model di daftar harga yang menerima gambar; request bergambar ke model berbayar ditolak (400 unsupported_content).
Embeddings
curl 'https://16-79-198-229.sslip.io/v1/embeddings' \
-H "Authorization: Bearer $SEAMLESS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "sentence-transformers/all-minilm-l6-v2", "input": ["Ibu kota Indonesia", "Harga beras hari ini"]}'
Kalau gagal
Error berformat OpenAI (error.type, error.code, error.param); daftar kode yang paling sering ada di ringkasan.