Vicurva API

Dokumentasi API

Panduan singkat untuk mulai mengobrol dengan Vicurva lewat HTTP. Ditulis untuk pemula — tidak perlu latar belakang programming yang dalam.

vicurva.vercel.app

01Pengenalan

Vicurva API adalah layanan chat berbentuk API. Kamu mengirim pesan lewat request HTTP, Vicurva membalas. Bentuknya sama seperti mengobrol di aplikasi chat biasa, hanya saja jalurnya program — bisa dipakai dari web, bot WhatsApp/Telegram/Discord, aplikasi mobile, atau skrip di komputer sendiri.

Dokumentasi ini hanya mencantumkan kemampuan yang tersedia: stalking profil media sosial tertentu, berita Kompas dan CNBC Indonesia, jadwal sepak bola, deployment website ke Vercel, input multimodal, pembuatan gambar AI, dan unduh video TikTok.

02Cara Akses

Setiap request wajib membawa API key di header:

http
X-API-Key: kunci-akses-kamu

Dua format lain juga diterima kalau lebih nyaman:

  • Authorization: Bearer kunci-akses-kamu
  • Menempel ?api_key=kunci-akses-kamu di URL
Jangan menaruh API key di kode frontend yang bisa dilihat publik (HTML/JS). Panggil dari server sendiri.

03Endpoint

Method & PathKegunaan
POST /api/generate Endpoint utama. Semua chat dan kemampuan berjalan lewat sini.
POST /api/upload-image Unggah gambar/file, dibalas URL. Opsional, untuk lampiran dari perangkat.
POST /api/feedback Kirim umpan balik pengguna. Body bebas.

Body minimal

Hanya dua field yang wajib: model dan contents.

json
{
  "model": "vicurva-pro-3.7",
  "contents": [
    { "role": "user", "parts": [{ "text": "Halo, apa kabar?" }] }
  ]
}

Contoh curl lengkap

bash
curl -X POST https://vicurva.vercel.app/api/generate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: kunci-akses-kamu" \
  -d '{
    "model": "vicurva-pro-3.7",
    "contents": [
      { "role": "user", "parts": [{ "text": "Jelaskan apa itu internet" }] }
    ]
  }'

04Model

Ada tiga pilihan model. Untuk mengganti, cukup ubah nilai field model di body.

Nama modelCocok untuk
vicurva-pro-3.7 Obrolan sehari-hari, tanya jawab, penalaran mendalam. Default — pilih ini kalau bingung.
vicurva-go-2.0 Jawaban cepat dan hemat token. Cocok untuk pertanyaan ringan.
vicurva-code-1.0 Khusus pemrograman, debugging, dan desain antarmuka.

Cara ganti model

Hanya satu baris yang berubah — sisanya persis sama:

bash
curl -X POST https://vicurva.vercel.app/api/generate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: kunci-akses-kamu" \
  -d '{
    "model": "vicurva-code-1.0",
    "contents": [
      { "role": "user", "parts": [{ "text": "Buatkan fungsi Python untuk cek bilangan prima" }] }
    ]
  }'
Nama model harus ditulis persis. Kalau salah, server membalas 400 Invalid Model Identifier.

05Format Pesan

Field contents berisi daftar pesan, bukan teks mentah. Setiap pesan punya dua bagian: role (siapa yang bicara) dan parts (isi pesannya).

FieldIsi
role "user" untuk pesan dari kamu, "model" untuk balasan Vicurva sebelumnya.
parts Daftar potongan isi pesan. Bisa berisi teks saja, atau teks + lampiran dalam satu pesan.

Kenapa parts berupa daftar?

Karena satu pesan bisa memuat lebih dari satu hal sekaligus. Contoh paling sering: kamu kirim teks dan gambar dalam satu pesan. Keduanya masuk ke parts yang sama — bukan dua pesan terpisah.

{ "role": "user", "parts": [
satu pesan dari pengguna
{ "text": "Jelaskan gambar ini" },
isi #1 — teks
{ "file_url": "https://.../foto.jpg" }
isi #2 — lampiran gambar
] }
keduanya milik pesan yang sama

Percakapan bertingkat

Untuk melanjutkan percakapan, kirim ulang seluruh riwayat. Vicurva memakai riwayat itu sebagai konteks. Balasan model sebelumnya disimpan dengan role: "model".

bash
curl -X POST https://vicurva.vercel.app/api/generate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: kunci-akses-kamu" \
  -d '{
    "model": "vicurva-pro-3.7",
    "contents": [
      { "role": "user",  "parts": [{ "text": "Halo" }] },
      { "role": "model", "parts": [{ "text": "Halo! Ada yang bisa dibantu?" }] },
      { "role": "user",  "parts": [{ "text": "Apa itu internet?" }] }
    ]
  }'
Cukup kirim 6 pesan terakhir — sisanya otomatis dipotong oleh server.

06Lampiran

Kamu bisa menyertakan gambar, video, audio, PDF, atau dokumen apa pun bersama pesan teks. File harus sudah punya URL publik (bisa diakses dari internet), lalu URL-nya dimasukkan lewat field file_url.

Dua langkah singkat

  1. Dapatkan URL file. Kalau file masih di komputer, unggah dulu ke POST /api/upload-image.
  2. Tempel URL-nya di file_url, digabung bersama teks di parts yang sama.

Contoh lengkap

bash
curl -X POST https://vicurva.vercel.app/api/generate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: kunci-akses-kamu" \
  -d '{
    "model": "vicurva-pro-3.7",
    "contents": [
      {
        "role": "user",
        "parts": [
          { "text": "Tolong jelaskan isi gambar ini" },
          { "file_url": "https://iili.io/abcdefg.jpg" }
        ]
      }
    ]
  }'

Kalau ingin upload dulu

bash
curl -X POST https://vicurva.vercel.app/api/upload-image \
  -H "X-API-Key: kunci-akses-kamu" \
  -F "image=@foto.jpg"

Balasannya berisi url yang siap dipakai di file_url.

BatasNilai
Ukuran per file20 MB
Jumlah per pesan10 lampiran
Tipe didukungGambar (jpg, png, webp), video (mp4), audio (mp3, wav), PDF, teks, dokumen

07Kemampuan

Vicurva menyediakan kemampuan berikut. Selain daftar ini, tidak ada fitur atau kemampuan lain yang dicantumkan dalam dokumentasi.

Media Sosial
Stalking profil Instagram
Username, nama lengkap, bio, jumlah follower, following, jumlah postingan, status verifikasi, akun privat/publik, foto profil, dan tautan eksternal.
Stalking profil TikTok
Username, nama tampilan, bio, jumlah follower, following, jumlah video, total like, status verifikasi, dan foto profil.
Stalking channel YouTube
Nama channel, handle, jumlah subscriber, jumlah video, deskripsi channel, avatar, dan banner channel.
Stalking profil Telegram
Nama, username, bio, dan foto profil.
Stalking profil X / Twitter
Username, nama, bio, jumlah follower, following, tweet, dan status verifikasi.
Stalking profil Threads
Username, nama, bio, jumlah follower, dan jumlah postingan.
Berita & Olahraga
Berita Kompas
Berita terbaru dari Kompas.com secara realtime.
Berita CNBC Indonesia
Berita ekonomi dan bisnis terkini dari CNBC Indonesia.
Jadwal sepak bola
Jadwal pertandingan sepak bola terbaru, bisa difilter per liga atau klub.
Deployment
Deploy website ke Vercel
Kirim kode HTML, dapat link website yang aktif di internet.
Multimodal
Input multimodal
Menerima teks, gambar, video, audio, PDF, dan dokumen — bisa digabung dalam satu pesan.
Buat gambar AI
Menghasilkan gambar dari deskripsi teks (prompt).
Unduh video TikTok
Mengunduh video TikTok tanpa watermark dari link yang dikirim.
Contoh pemakaian. Tulis permintaan seperti "stalk Instagram @username", "berita Kompas terbaru", "jadwal sepak bola Liga Inggris", "deploy kode HTML ini ke Vercel", "buatkan gambar kucing astronot", atau kirim tautan video TikTok untuk diunduh.

08Membaca Respons

json
{
  "status": "success",
  "code": 200,
  "model": "vicurva-pro-3.7",
  "result": "Internet adalah jaringan komputer global yang ...",
  "sumber": [],
  "media": null,
  "saran": [
    "Apa itu IP address?",
    "Bagaimana cara kerja DNS?",
    "Apa bedanya internet dan WiFi?"
  ],
  "usage": { "input_tokens": 42, "output_tokens": 210, "total_tokens": 252 },
  "latency_ms": 1834.21,
  "date": "Senin, 01 Januari 2026 - 10:00:00 WIB"
}
FieldIsi
resultJawaban utama — ini yang ditampilkan ke pengguna.
sumberDaftar sumber (kalau ada). Tiap item punya title, url, logo.
mediaMetadata media (audio, video, gambar, website) kalau permintaannya multimedia.
saran2–3 pertanyaan lanjutan. Boleh ditampilkan sebagai tombol agar pengguna tinggal klik.
usageJumlah token yang terpakai.
chat_titleJudul percakapan — hanya dikirim di pesan pertama, cocok untuk nama room/chat.

09Batas & Error

Rate limit

Maksimal 5 request per detik per API key. Lewat dari itu akan kena 429.

Kode error

KodeArtiSolusi
400Body request tidak validCek format JSON dan field wajib (model, contents).
401API key tidak validPastikan header X-API-Key terisi dan benar.
404Endpoint salahCek URL dan method (harus POST).
422Lampiran gagalCek ukuran file (maks 20 MB) dan pastikan URL bisa diakses.
429Rate limitTunggu sebentar, kurangi frekuensi request.
500Error serverCoba lagi. Kalau terus muncul, hubungi admin server.

10Pertanyaan Umum

Apakah API ini stabil?
Ya, stabil. Vicurva berjalan di infrastruktur cloud dengan uptime tinggi dan otomatis memindahkan beban ke jalur cadangan bila satu jalur sedang penuh. Untuk penggunaan sehari-hari — chatbot, asisten, integrasi aplikasi — API ini aman dipakai terus-menerus.
Apakah aman dipakai untuk aplikasi production?
Aman. API key tidak pernah dikirim balik di respons, sehingga tidak bisa dibaca JavaScript, dan setiap request divalidasi sebelum diproses. Cukup simpan API key di server sendiri (bukan di frontend publik) dan Anda siap memakainya untuk production.
Berapa lama waktu respons rata-rata?
Sekitar 1–3 detik untuk pertanyaan biasa, dan 3–8 detik untuk permintaan yang memproses permintaan fitur yang tersedia. Waktu respons selalu disertakan di field latency_ms pada setiap balasan.
Apakah percakapan saya disimpan di server?
Tidak. Server Vicurva bersifat stateless — setiap request diproses secara mandiri, dan riwayat percakapan hanya ada di request yang Anda kirim sendiri. Tidak ada riwayat obrolan yang disimpan permanen di sisi server.
Bisa dipakai dari aplikasi mobile atau bot?
Bisa, dari mana saja — aplikasi Android/iOS, bot WhatsApp/Telegram/Discord, website, skrip Python, Postman, dan lain-lain. Yang penting request-nya bisa mengirim HTTP POST dengan header dan body JSON.
Apakah ada batas penggunaan harian?
Tidak ada batas harian tetap. Yang berlaku hanya rate limit 5 request per detik per API key. Selama pemakaian Anda wajar (tidak membanjiri server), API bisa dipakai sepanjang hari tanpa masalah.
Bagaimana kalau API key saya bocor?
Segera hubungi admin server untuk mengganti key Anda.