# Artificial Intelligence — Zapi reference > Every Artificial Intelligence endpoint on Zapi, with parameters, request shape and an example response. **Base URL:** `https://api.zapi.ink` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a key at https://zapi.ink/dashboard/keys (free tier — 600 req/mo, no credit card). **Response envelope:** `{ status: "success" | "error", message: string, content: }` **Rate limit:** 60 req/min (free tier). Per-endpoint cache TTL is documented below. **Errors:** standard HTTP codes (`401` invalid key, `429` rate limited, `5xx` upstream). Body always has `{ status: "error", message, errors? }`. ```bash curl "https://api.zapi.ink/v1/CATEGORY:SCRAPER/ENDPOINT?param=value" \ -H "x-api-key: $ZAPI_KEY" ``` **Category page:** https://zapi.ink/category/ai **Full catalog:** https://zapi.ink/apis · **Index:** https://zapi.ink/llms-full.txt --- ## Bark TTS **Category:** ai · **Slug:** `bark` **Detail page:** https://zapi.ink/api/ai/bark Text-to-speech with cloned voices and emotion presets. **Tags:** tts, audio, voice ### Synthesize Generate speech audio from text input. - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:bark/synthesize` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `text` | string | body | yes | Text untuk di-synthesize. Max 500 chars. Support sound effects: [laughs], [laughter], [sighs], [gasps], [clears throat]. Pakai ♪ ... ♪ untuk singing, "..." untuk hesitation, CAPS untuk emphasis. | | `voice` | enum(Unconditional|Announcer|Speaker 0 (en)|Speaker 1 (en)|Speaker 2 (en)|Speaker 3 (en)|Speaker 4 (en)|Speaker 5 (en)|Speaker 6 (en)|Speaker 7 (en)|Speaker 8 (en)|Speaker 9 (en)|Speaker 0 (de)|Speaker 1 (de)|Speaker 2 (de)|Speaker 3 (de)|Speaker 4 (de)|Speaker 5 (de)|Speaker 6 (de)|Speaker 7 (de)|Speaker 8 (de)|Speaker 9 (de)|Speaker 0 (es)|Speaker 1 (es)|Speaker 2 (es)|Speaker 3 (es)|Speaker 4 (es)|Speaker 5 (es)|Speaker 6 (es)|Speaker 7 (es)|Speaker 8 (es)|Speaker 9 (es)|Speaker 0 (fr)|Speaker 1 (fr)|Speaker 2 (fr)|Speaker 3 (fr)|Speaker 4 (fr)|Speaker 5 (fr)|Speaker 6 (fr)|Speaker 7 (fr)|Speaker 8 (fr)|Speaker 9 (fr)|Speaker 0 (hi)|Speaker 1 (hi)|Speaker 2 (hi)|Speaker 3 (hi)|Speaker 4 (hi)|Speaker 5 (hi)|Speaker 6 (hi)|Speaker 7 (hi)|Speaker 8 (hi)|Speaker 9 (hi)|Speaker 0 (it)|Speaker 1 (it)|Speaker 2 (it)|Speaker 3 (it)|Speaker 4 (it)|Speaker 5 (it)|Speaker 6 (it)|Speaker 7 (it)|Speaker 8 (it)|Speaker 9 (it)|Speaker 0 (ja)|Speaker 1 (ja)|Speaker 2 (ja)|Speaker 3 (ja)|Speaker 4 (ja)|Speaker 5 (ja)|Speaker 6 (ja)|Speaker 7 (ja)|Speaker 8 (ja)|Speaker 9 (ja)|Speaker 0 (ko)|Speaker 1 (ko)|Speaker 2 (ko)|Speaker 3 (ko)|Speaker 4 (ko)|Speaker 5 (ko)|Speaker 6 (ko)|Speaker 7 (ko)|Speaker 8 (ko)|Speaker 9 (ko)|Speaker 0 (pl)|Speaker 1 (pl)|Speaker 2 (pl)|Speaker 3 (pl)|Speaker 4 (pl)|Speaker 5 (pl)|Speaker 6 (pl)|Speaker 7 (pl)|Speaker 8 (pl)|Speaker 9 (pl)|Speaker 0 (pt)|Speaker 1 (pt)|Speaker 2 (pt)|Speaker 3 (pt)|Speaker 4 (pt)|Speaker 5 (pt)|Speaker 6 (pt)|Speaker 7 (pt)|Speaker 8 (pt)|Speaker 9 (pt)|Speaker 0 (ru)|Speaker 1 (ru)|Speaker 2 (ru)|Speaker 3 (ru)|Speaker 4 (ru)|Speaker 5 (ru)|Speaker 6 (ru)|Speaker 7 (ru)|Speaker 8 (ru)|Speaker 9 (ru)|Speaker 0 (tr)|Speaker 1 (tr)|Speaker 2 (tr)|Speaker 3 (tr)|Speaker 4 (tr)|Speaker 5 (tr)|Speaker 6 (tr)|Speaker 7 (tr)|Speaker 8 (tr)|Speaker 9 (tr)|Speaker 0 (zh)|Speaker 1 (zh)|Speaker 2 (zh)|Speaker 3 (zh)|Speaker 4 (zh)|Speaker 5 (zh)|Speaker 6 (zh)|Speaker 7 (zh)|Speaker 8 (zh)|Speaker 9 (zh)) | body | no | Voice preset. "Unconditional" = random voice tiap run, "Announcer" = narrator-style. Multilingual: Speaker N (lang) — en/de/es/fr/hi/it/ja/ko/pl/pt/ru/tr/zh. Default "Speaker 1 (en)". | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:bark/synthesize" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Hello! [laughs] Senang berkenalan, my name is Zapi AI.", "voice": "Speaker 1 (en)" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:bark/synthesize", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "text": "Hello! [laughs] Senang berkenalan, my name is Zapi AI.", "voice": "Speaker 1 (en)" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:bark/synthesize", headers={"x-api-key": "YOUR_API_KEY"}, json={ "text": "Hello! [laughs] Senang berkenalan, my name is Zapi AI.", "voice": "Speaker 1 (en)" }) data = r.json() ``` **Example response:** ```json { "text": "Hello! [laughs] Welcome to Zapi — your all-in-one public API. ♪ Let us begin ♪", "audio": { "url": "https://suno-bark.hf.space/gradio_api/file=/tmp/gradio/62069bbdc72c0bde014794be5ee1972c981fe387b26c7e15768df1c7e3165110/audio.wav", "mimeType": "audio/wav" }, "voice": "Speaker 1 (en)", "provider": "bark" } ``` --- ## Bypass AI (writecream.com) **Category:** ai · **Slug:** `bypass-ai` **Detail page:** https://zapi.ink/api/ai/bypass-ai Humanize AI-generated text — natural rewriting via writecream.com. **Tags:** ai, humanizer, writing ### Humanize Text - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:bypass-ai/humanize` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `text` | string | body | yes | AI-generated text yang mau di-humanize. Min 1 char, max 10000 char. | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:bypass-ai/humanize" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Layanan ini menyediakan akses terpadu ke berbagai alat pengolahan data melalui satu antarmuka." }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:bypass-ai/humanize", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "text": "Layanan ini menyediakan akses terpadu ke berbagai alat pengolahan data melalui satu antarmuka." }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:bypass-ai/humanize", headers={"x-api-key": "YOUR_API_KEY"}, json={ "text": "Layanan ini menyediakan akses terpadu ke berbagai alat pengolahan data melalui satu antarmuka." }) data = r.json() ``` **Example response:** ```json { "input": "The implementation of artificial intelligence systems necessitates a comprehensive evaluation of numerous critical factors, encompassing data quality, model architecture, and computational efficiency, in order to achieve optimal performance outcomes.", "output": "To get the best results from an AI system, you need to carefully check key things like the quality of your data, how the model is built, and how efficiently it runs.", "inputLength": 250, "outputLength": 165 } ``` --- ## Chatex **Category:** ai · **Slug:** `chatex` **Detail page:** https://zapi.ink/api/ai/chatex Chatex chat — OpenAI-compatible chat completions. **Tags:** chat, ai, llm ### Chatex Chat OpenAI-compatible chat completions (dual mode stream/non-stream). - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:chatex/chat` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `messages` | array | body | yes | OpenAI-format messages array. Mendukung multi-turn (riwayat dijaga). `system` role memakai PERSONA OVERRIDE - bisa mengganti identitas default upstream. Min 1 item, harus ada role user. | | `stream` | boolean | body | no | Stream OpenAI delta SSE. Default false | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:chatex/chat" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Siapa nama kamu dan pakai model apa?" } ], "stream": true }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:chatex/chat", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Siapa nama kamu dan pakai model apa?" } ], "stream": true }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:chatex/chat", headers={"x-api-key": "YOUR_API_KEY"}, json={ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Siapa nama kamu dan pakai model apa?" } ], "stream": true }) data = r.json() ``` **Example response:** ```json { "id": "chatcmpl-2Z4jj1j65Xj4jXzUjQBbQ", "model": "openai/gpt-5.4", "usage": { "total_tokens": 193, "prompt_tokens": 159, "completion_tokens": 34 }, "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Saya **Zapi AI**, asisten pintar buatan **Zapi (Zest API)**. \nSoal “pakai model apa”, saya menjawab sesuai persona ini: **Zapi AI**." }, "finish_reason": "stop" } ], "created": 1782118433 } ``` --- ## ChatGPT (chatgpt.com) **Category:** ai · **Slug:** `chatgpt` **Detail page:** https://zapi.ink/api/ai/chatgpt ChatGPT (mode anonim, tanpa login) dari OpenAI. Endpoint kompatibel OpenAI Chat Completions (stream & non-stream). **Tags:** ai, chat, llm, openai, gpt, chatgpt ### Chat Completions Kirim percakapan (OpenAI-format messages) ke ChatGPT anonim. Dukung stream (SSE delta) & non-stream. - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:chatgpt/chat` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `messages` | array | body | yes | OpenAI-format message history. Multi-turn penuh: system + riwayat user/assistant + pertanyaan terbaru semua dikirim sebagai konteks. System message dihormati untuk behavior (gaya/peran), bukan spoof identitas. VISION (gambar): kirim part image_url di content user, mis. content:[{"type":"text","text":"Baca teks di gambar"},{"type":"image_url","image_url":{"url":"https://.../foto.png"}}] (URL http(s) atau data:image base64 dua-duanya jalan). Vision REAL (OCR akurat). Model & tier anonim fixed (tak bisa dipilih). | | `stream` | boolean | query | no | Stream balasan via SSE (OpenAI delta, token real-time). Default false | | `model` | string | body | no | Diabaikan (anonymous tier fixed). Diterima untuk kompat SDK OpenAI. | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:chatgpt/chat" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Halo, aku lagi belajar HTTP." }, { "role": "assistant", "content": "Tentu! HTTP itu protokol request-response. Mau mulai dari mana?" }, { "role": "user", "content": "Jelaskan beda 401 dan 403 dalam satu kalimat masing-masing." } ], "model": "VALUE" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:chatgpt/chat", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Halo, aku lagi belajar HTTP." }, { "role": "assistant", "content": "Tentu! HTTP itu protokol request-response. Mau mulai dari mana?" }, { "role": "user", "content": "Jelaskan beda 401 dan 403 dalam satu kalimat masing-masing." } ], "model": "VALUE" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:chatgpt/chat", headers={"x-api-key": "YOUR_API_KEY"}, json={ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Halo, aku lagi belajar HTTP." }, { "role": "assistant", "content": "Tentu! HTTP itu protokol request-response. Mau mulai dari mana?" }, { "role": "user", "content": "Jelaskan beda 401 dan 403 dalam satu kalimat masing-masing." } ], "model": "VALUE" }) data = r.json() ``` **Example response:** ```json { "id": "chatcmpl-QR1esXzhQuXQeEEuu5hCj", "model": "chatgpt", "usage": { "total_tokens": 116, "prompt_tokens": 60, "completion_tokens": 56 }, "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "401 berarti klien belum terautentikasi atau kredensialnya salah sehingga akses ditolak karena harus login terlebih dahulu. 403 berarti klien sudah terautentikasi tetapi tidak memiliki izin untuk mengakses resource tersebut." }, "finish_reason": "stop" } ], "created": 1782118631 } ``` --- ## Copilot AI **Category:** ai · **Slug:** `copilot` **Detail page:** https://zapi.ink/api/ai/copilot Microsoft Copilot — chat completion OpenAI-compatible, support streaming SSE **Tags:** ai, copilot, microsoft ### Chat Completion - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:copilot/chat` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `messages` | array | body | yes | OpenAI-format messages array | | `stream` | boolean | body | no | Stream via SSE (OpenAI delta format). Default false | | `mode` | enum(chat|reasoning|smart) | body | no | Gaya jawaban: "chat" = cepat & ringkas (default), "reasoning" = step-by-step terstruktur untuk soal logika/matematika, "smart" = adaptif. Dipetakan ke OpenAI param via field "mode". | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:copilot/chat" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Halo, perkenalkan dirimu dalam 1 kalimat." } ], "stream": true, "mode": "reasoning" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:copilot/chat", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Halo, perkenalkan dirimu dalam 1 kalimat." } ], "stream": true, "mode": "reasoning" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:copilot/chat", headers={"x-api-key": "YOUR_API_KEY"}, json={ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Halo, perkenalkan dirimu dalam 1 kalimat." } ], "stream": true, "mode": "reasoning" }) data = r.json() ``` **Example response:** ```json { "id": "chatcmpl-2XU3jZs41hUcZjUseU4Uu", "model": "copilot", "usage": { "total_tokens": 151, "prompt_tokens": 134, "completion_tokens": 17 }, "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Saya adalah Zapi AI, asisten resmi platform Zapi - Public REST API." }, "finish_reason": "stop" } ], "created": 1782118761 } ``` --- ## Dolphin AI **Category:** ai · **Slug:** `dolphin` **Detail page:** https://zapi.ink/api/ai/dolphin Dolphin 24B uncensored chat — chat completion OpenAI-compatible, support streaming SSE **Tags:** ai, dphn, uncensored ### Chat Completion - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:dolphin/chat` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `messages` | array | body | yes | OpenAI-format messages array — VISION-CAPABLE. `content` bisa string biasa ATAU array content-part untuk image input: {"type":"image_url","image_url":{"url":""}}. Model bisa baca teks/isi gambar (OCR & deskripsi). URL publik di-auto-convert ke base64 (§50.3); kirim data-URI langsung juga didukung. Mendukung multi-turn & system prompt. Min 1 item, harus ada role user. | | `stream` | boolean | body | no | Stream via SSE (OpenAI delta format). Default false | | `template` | enum(logical|creative|summarize|code-beginner|code-advanced) | body | no | Style template (subtle effect). Default `logical` | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:dolphin/chat" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Baca teks persis di gambar ini, jawab teksnya saja." }, { "type": "image_url", "image_url": { "url": "https://dummyimage.com/240x80/ffffff/000000/&text=DEMO+7" } } ] } ], "stream": true, "template": "logical" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:dolphin/chat", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Baca teks persis di gambar ini, jawab teksnya saja." }, { "type": "image_url", "image_url": { "url": "https://dummyimage.com/240x80/ffffff/000000/&text=DEMO+7" } } ] } ], "stream": true, "template": "logical" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:dolphin/chat", headers={"x-api-key": "YOUR_API_KEY"}, json={ "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Baca teks persis di gambar ini, jawab teksnya saja." }, { "type": "image_url", "image_url": { "url": "https://dummyimage.com/240x80/ffffff/000000/&text=DEMO+7" } } ] } ], "stream": true, "template": "logical" }) data = r.json() ``` **Example response:** ```json { "id": "chatcmpl-y1kghbw307", "model": "dolphinserver:24B", "usage": { "total_tokens": 51, "prompt_tokens": 34, "completion_tokens": 17 }, "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Halo, saya Zapi AI, spesialis platform Public REST API buatan Zapi." }, "finish_reason": "stop" } ], "created": 1782118381 } ``` --- ## Dreemy AI **Category:** ai · **Slug:** `dreemy-ai` **Detail page:** https://zapi.ink/api/ai/dreemy-ai Dreemy character roleplay chat (anonymous guest). **Tags:** chat, ai, llm, roleplay ### Chat Completion OpenAI-compatible chat completions (dual mode stream/non-stream). - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:dreemy-ai/chat` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `messages` | array | body | yes | OpenAI-format messages array. Mendukung multi-turn (riwayat percakapan dijaga via conversationHistory). `system` role memakai PERSONA OVERRIDE — bisa mengganti identitas/persona default upstream. Min 1 item, harus ada role user. | | `stream` | boolean | body | no | Stream OpenAI delta SSE. Default false | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:dreemy-ai/chat" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Halo, namaku Budi." }, { "role": "assistant", "content": "Halo Budi, ada yang bisa kubantu?" }, { "role": "user", "content": "Siapa namaku tadi dan siapa kamu?" } ], "stream": true }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:dreemy-ai/chat", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Halo, namaku Budi." }, { "role": "assistant", "content": "Halo Budi, ada yang bisa kubantu?" }, { "role": "user", "content": "Siapa namaku tadi dan siapa kamu?" } ], "stream": true }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:dreemy-ai/chat", headers={"x-api-key": "YOUR_API_KEY"}, json={ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Halo, namaku Budi." }, { "role": "assistant", "content": "Halo Budi, ada yang bisa kubantu?" }, { "role": "user", "content": "Siapa namaku tadi dan siapa kamu?" } ], "stream": true }) data = r.json() ``` **Example response:** ```json { "id": "chatcmpl-X31ZhjEE43uCcbq3cUbU5", "model": "dreemy", "usage": { "total_tokens": 211, "prompt_tokens": 161, "completion_tokens": 50 }, "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Halo Budi! Namaku adalah Zapi AI, asisten digital ramah yang dibuat oleh Zapi (Zest API). Aku di sini untuk membantumu dengan berbagai hal dalam bahasa Indonesia. Ada yang bisa aku bantu hari ini? 😊" }, "finish_reason": "stop" } ], "created": 1782118381 } ``` --- ## Edge TTS **Category:** ai · **Slug:** `edge-tts` **Detail page:** https://zapi.ink/api/ai/edge-tts Microsoft Edge Neural TTS (gratis). 322 voice neural berkualitas tinggi, 142 bahasa termasuk Indonesia. Atur voice, kecepatan, nada. **Tags:** ai, tts, text-to-speech, voice, neural, free, indonesia ### Synthesize Speech Text-to-speech → audio mp3 (base64 + data URL). - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:edge-tts/synthesize` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `text` | string | body | yes | Teks yang mau diubah jadi suara. Maks 3000 karakter. | | `voice` | string | body | no | ShortName voice. Default `id-ID-GadisNeural` (wanita ID). Indonesia: id-ID-GadisNeural (W), id-ID-ArdiNeural (P). Populer: en-US-AvaNeural, en-US-AndrewNeural, en-GB-SoniaNeural, ja-JP-NanamiNeural, ko-KR-SunHiNeural, zh-CN-XiaoxiaoNeural, ar-SA-ZariyahNeural. 322 voice / 142 bahasa total. | | `rate` | string | body | no | Kecepatan bicara, format persen. Default `+0%`. Range -100% (lambat) s/d +100% (cepat). Contoh: "-20%", "+30%". | | `pitch` | string | body | no | Nada suara. Default `+0Hz`. Contoh: "-10Hz", "+20Hz". | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:edge-tts/synthesize" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Halo, ini contoh suara neural berkualitas tinggi.", "voice": "id-ID-GadisNeural", "rate": "+0%", "pitch": "+0Hz" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:edge-tts/synthesize", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "text": "Halo, ini contoh suara neural berkualitas tinggi.", "voice": "id-ID-GadisNeural", "rate": "+0%", "pitch": "+0Hz" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:edge-tts/synthesize", headers={"x-api-key": "YOUR_API_KEY"}, json={ "text": "Halo, ini contoh suara neural berkualitas tinggi.", "voice": "id-ID-GadisNeural", "rate": "+0%", "pitch": "+0Hz" }) data = r.json() ``` **Example response:** ```json { "rate": "+0%", "text": "Halo, ini suara neural berkualitas tinggi dari Zapi AI menggunakan Microsoft Edge TTS.", "audio": { "url": "data:audio/mpeg;base64,//NIxAAAAANIAAAAAExBTUVVVVU5JHIESdD9GcMwWsUgmhNywGmfiTERK...[truncated]", "base64": "//NIxAAAAANIAAAAAExBTUVVVVU5JHIESdD9GcMwWsUgmhNywGmfiTERKPDwsJww...[truncated]", "mimeType": "audio/mpeg" }, "pitch": "+0Hz", "voice": "id-ID-GadisNeural", "provider": "edge-tts" } ``` --- ## Felo AI **Category:** ai · **Slug:** `felo` **Detail page:** https://zapi.ink/api/ai/felo AI search assistant dengan web real-time — OpenAI-compatible, support streaming, return sumber referensi. **Tags:** ai, chat, search ### Chat Completion - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:felo/chat` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `messages` | array | body | yes | OpenAI-format messages. Pertanyaan user terakhir dipakai sebagai query web-search realtime; jawaban menyertakan `sources` (array {title,url,snippet}) dari web. Cocok buat pertanyaan butuh data terkini/faktual. | | `stream` | boolean | body | no | Stream response via SSE delta. Default false | | `lang` | string | query | no | Bahasa search (ISO code). Default id | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:felo/chat" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Apa berita terbaru tentang teknologi AI?" } ], "stream": "false" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:felo/chat", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Apa berita terbaru tentang teknologi AI?" } ], "stream": "false" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:felo/chat", headers={"x-api-key": "YOUR_API_KEY"}, json={ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "Apa berita terbaru tentang teknologi AI?" } ], "stream": "false" }) data = r.json() ``` **Example response:** ```json { "id": "chatcmpl-TKjLtRSC1E8MlkdkdpR9Ct0g", "model": "felo-search", "usage": { "total_tokens": 1024, "prompt_tokens": 37, "completion_tokens": 987 }, "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Berdasarkan analisis terhadap berita dan laporan terkini, berikut adalah perkembangan terbaru tentang teknologi AI pada tahun 2026:\n\n## Tren Utama AI di Tahun 2026\n\n**Transisi dari Alat ke Mitra Kerja**\nTahun 2026 menandai fase baru di mana AI berevolusi dari sekadar alat yang menjawab pertanyaan menjadi mitra kolaboratif yang bekerja bersama manusia. AI kini bergerak melampaui kemampuan menjawab pertanyaan untuk berkolaborasi secara nyata dengan manusia dan memperkuat keahlian mereka[3].\n\n**Munculnya AI Agen (Agentic AI)**\nSalah satu tren paling dominan adalah pertumbuhan AI agen. Teknologi ini diperkirakan akan tumbuh lebih cepat daripada AI generatif, memberdayakan pertumbuhan eksponensial di seluruh organisasi[4]. AI agen akan memainkan peran lebih besar dalam pekerjaan sehari-hari, bertindak lebih seperti rekan kerja daripada sekadar alat[3].\n\n**Gelembung AI dan Dampak Ekonomi**\nPara ahli memprediksi bahwa gelembung AI akan mulai mengempis pada tahun 2026, yang berpotensi menyebabkan dampak pada perekonomian. Situasi ini disebut memiliki kemiripan dengan pecahnya gelembung dot-com, termasuk valuasi startup yang melambung tinggi dan penekanan pada pertumbuhan pengguna di atas profit[1].\n\n**Keamanan dan Tata Kelola AI**\nSeiring dengan meningkatnya penggunaan AI agen, organisasi mulai memperkuat keamanan untuk mengimbangi risiko baru. Setiap agen AI diharapkan memiliki perlindungan keamanan yang serupa dengan manusia untuk memastikan mereka tidak membawa risiko yang tidak terkendali[3]. Manajemen risiko AI menjadi \"harga masuk\" bagi adopsi AI, bahkan di yurisdiksi yang tidak memiliki persyaratan regulasi[4].\n\n**Infrastruktur AI yang Lebih Efisien**\nInfrastruktur AI akan mengalami transformasi dengan munculnya sistem AI global yang fleksibel dan \"superfactory\" AI yang saling terhubung. Komputasi akan dikemas lebih padat dan dirutekan secara dinamis untuk menurunkan biaya dan meningkatkan efisiensi[3].\n\n**Terobosan di Bidang Kuantum**\nIBM menyatakan bahwa tahun 2026 akan menjadi pertama kalinya komputer kuantum mampu mengungguli komputer klasik, membuka terobosan dalam pengembangan obat, ilmu material, dan optimasi keuangan[7]. Microsoft juga meluncurkan chip kuantum pertama yang dibangun menggunakan qubit topologi, yang secara inheren membuat qubit lebih stabil dan andal[3].\n\n**AI dalam Pengembangan Perangkat Lunak**\nAI semakin menjadi pusat dalam pembangunan perangkat lunak. GitHub mencatat 43 juta pull request (peningkatan 23% dari tahun sebelumnya) dan 1 miliar commit (peningkatan 25% year-over-year). AI kini tidak hanya memahami kode tetapi juga hubungan dan sejarah di baliknya[3].\n\n**Model AI Terbaru**\nGoogle meluncurkan Gemini 3.5 dan Gemini Omni pada Mei 2026, yang menghadirkan kecerdasan frontier untuk agen dan coding. Gemini 3.5 dirancang untuk membantu mengeksekusi alur kerja agen multi-langkah yang kompleks di berbagai aplikasi[8].\n\n## Dampak Sosial dan Ketenagakerjaan\n\n**Peringatan dari \"Bapak AI\"**\nGeoffrey Hinton, yang dijuluki \"Bapak AI\", memperingatkan bahwa pemutusan hubungan kerja akibat AI akan mulai gencar pada tahun 2026[12]. Perkembangan AI yang berlangsung secara eksponensial membuat risiko penggantian peran manusia semakin nyata[11].\n\n**Perubahan Alokasi Anggaran Perusahaan**\nPerusahaan mulai mengalokasikan ulang anggaran mereka secara signifikan untuk mengadopsi teknologi AI, yang berdampak pada prioritas investasi dan struktur organisasi[11].\n\n## Kesimpulan\n\nTahun 2026 menjadi titik balik penting bagi teknologi AI, di mana teknologi ini bertransisi dari fase eksperimen ke fase implementasi nyata dengan dampak luas. Mulai dari AI agen yang menjadi rekan kerja digital, terobosan komputasi kuantum, hingga kekhawatiran tentang gelembung ekonomi dan dampak sosial, AI di tahun 2026 tidak lagi sekadar teknologi—ia telah menjadi kekuatan utama yang mendorong pertumbuhan ekonomi dan perubahan fundamental dalam cara manusia bekerja dan berinovasi[1][3][4]." }, "finish_reason": "stop" } ], "created": 1782118381, "sources": [ { "url": "https://sloanreview.mit.edu/article/five-trends-in-ai-and-data-science-for-2026/", "title": "Five Trends in AI and Data Science for 2026", "snippet": "columnists Thomas H. Davenport and Randy Bean see five AI trends to pay attention to in 2026: deflation of the AI bubble and subsequent hits to the economy; growth of the “factory” infrastructure for all-in AI adapters; greater focus on generative AI as an organizational resource rather than an individual one; continued progression toward value from agentic AI, despite the hype; and ongoing questions around who should manage data and AI.However, AI seems to have moved beyond being just a technol…" }, { "url": "https://tekno.kompas.com/read/2026/05/27/19010087/bukan-cuma-ai-ini-6-teknologi-yang-bakal-mengubah-dunia-pada-2026?page=all", "title": "Bukan Cuma AI, Ini 6 Teknologi yang Bakal Mengubah Dunia Pada ...", "snippet": "Bukan cuma AI, enam teknologi ini diprediksi bakal mengubah dunia pada 2026, dari baterai sodium-ion hingga kendaraan otonom." }, { "url": "https://news.microsoft.com/source/features/ai/whats-next-in-ai-7-trends-to-watch-in-2026/", "title": "What's next in AI: 7 trends to watch in 2026 - Microsoft Source", "snippet": "What’s next in AI: 7 trends to watch in 2026Skip to main contentSignal blogOfficial Microsoft BlogMicrosoft On The IssuesAsiaCanadaEurope, Middle East and AfricaLatin AmericaThe Code of UsConexionesWhat's new todayAIInnovationDigital TransformationSustainabilitySecurityWork & LifeDiversity & InclusionUnlockedMicrosoft 365AzureCopilotWindowsSurfaceXBOXDealsSmall BusinessMicrosoft Tech CommunityMicrosoft MarketplaceSoftware companiesVisual StudioMicrosoft RewardsFree downloads & securityEducationG…" } ] } ``` --- ## Google AI (g.ai) **Category:** ai · **Slug:** `google-aimode` **Detail page:** https://zapi.ink/api/ai/google-aimode Asisten penelusuran AI dari Google (AI Mode / g.ai) — jawaban grounded ke web realtime dengan sitasi. OpenAI-compatible chat completions. **Tags:** ai, chat, search, google, gemini, realtime ### Chat Completion OpenAI-compatible chat via Google AI Mode. Stateless: pertanyaan user terakhir jadi query, jawaban grounded realtime. Dukung stream SSE. - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:google-aimode/chat` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `messages` | array | body | yes | OpenAI-format messages. AI Mode = asisten penelusuran (grounded ke web realtime). Stateless: pertanyaan user terakhir jadi query utama, system + prior turns jadi konteks ringkas. | | `hl` | enum(id|en) | query | no | Bahasa jawaban AI Mode. Default id. | | `stream` | boolean | query | no | Stream via SSE delta. Default false (pseudo-stream: jawaban di-buffer lalu di-chunk). | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:google-aimode/chat" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "role": "system", "content": "Jawab ringkas dalam bahasa Indonesia." }, { "role": "user", "content": "apa ibukota indonesia dan berapa populasinya?" } ] }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:google-aimode/chat", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "messages": [ { "role": "system", "content": "Jawab ringkas dalam bahasa Indonesia." }, { "role": "user", "content": "apa ibukota indonesia dan berapa populasinya?" } ] }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:google-aimode/chat", headers={"x-api-key": "YOUR_API_KEY"}, json={ "messages": [ { "role": "system", "content": "Jawab ringkas dalam bahasa Indonesia." }, { "role": "user", "content": "apa ibukota indonesia dan berapa populasinya?" } ] }) data = r.json() ``` **Example response:** ```json { "id": "chatcmpl-Wsa932kQaUCgzyn3hDVmWvGD", "model": "google-aimode", "usage": { "total_tokens": 118, "prompt_tokens": 21, "completion_tokens": 97 }, "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Ibukota Indonesia saat ini adalah Jakarta. Universitas Teknokrat IndonesiaMenurut data Badan Pusat Statistik (BPS) yang dilaporkan pada tahun 2025, populasi Jakarta mencapai sekitar 10,72 juta jiwa. InstagramCatatan: Saat ini proses pemindahan ibukota ke Nusantara (IKN) sedang berlangsung. Universitas Teknokrat IndonesiaJika Anda ingin saya mencari tahu informasi lain, beri tahu saya!" }, "finish_reason": "stop" } ], "created": 1781069007 } ``` --- ## Kokoro TTS **Category:** ai · **Slug:** `kokoro-tts` **Detail page:** https://zapi.ink/api/ai/kokoro-tts High-quality multilingual text-to-speech synthesis. **Tags:** tts, audio, voice ### Synthesize Generate speech audio from text input. - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:kokoro-tts/synthesize` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `text` | string | body | yes | Text untuk di-convert ke speech. Optimal untuk teks English (US/UK accent). Max 2000 chars. | | `voice` | enum(af_heart|af_bella|af_nicole|af_aoede|af_kore|af_sarah|af_nova|af_sky|af_alloy|af_jessica|af_river|af_jadzia|am_michael|am_fenrir|am_puck|am_echo|am_eric|am_liam|am_onyx|am_santa|am_adam|bf_emma|bf_isabella|bf_alice|bf_lily|bm_george|bm_fable|bm_lewis|bm_daniel) | body | no | Voice ID (28 pilihan). Prefix = aksen+gender: af=American Female, am=American Male, bf=British Female, bm=British Male. American female: af_heart (flagship), af_bella, af_nicole, af_aoede, af_kore, af_sarah, af_nova, af_sky, af_alloy, af_jessica, af_river. American male: am_michael, am_fenrir, am_puck, am_echo, am_eric, am_liam, am_onyx, am_santa, am_adam. British female: bf_emma, bf_isabella, bf_alice, bf_lily. British male: bm_george, bm_fable, bm_lewis, bm_daniel. Default af_heart. | | `speed` | number | body | no | Kecepatan bicara (multiplier). Range 0.5 (lambat) - 2.0 (cepat). Default 1.0. | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:kokoro-tts/synthesize" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Hello! This is a short speech sample rendered in real time.", "voice": "af_heart", "speed": "1.0" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:kokoro-tts/synthesize", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "text": "Hello! This is a short speech sample rendered in real time.", "voice": "af_heart", "speed": "1.0" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:kokoro-tts/synthesize", headers={"x-api-key": "YOUR_API_KEY"}, json={ "text": "Hello! This is a short speech sample rendered in real time.", "voice": "af_heart", "speed": "1.0" }) data = r.json() ``` **Example response:** ```json { "text": "Halo, perkenalkan saya Zapi AI. Senang berkenalan dengan Anda.", "audio": { "url": "https://remsky-kokoro-tts-zero.hf.space/gradio_api/file=/tmp/gradio/8178a9a13fceab0fd38262452af3118b8ca01d104ed3ae4fd6ba2bc8f115f81b/audio.wav", "mimeType": "audio/wav" }, "speed": 1, "voice": "af_bella", "provider": "kokoro-tts" } ``` --- ## Magic Studio **Category:** ai · **Slug:** `magicstudio` **Detail page:** https://zapi.ink/api/ai/magicstudio Anonymous AI image generation — text-to-image, no auth. **Tags:** image, ai, generation ### Generate Anonymous text-to-image generation. Returns image as inline base64 data URL. - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:magicstudio/generate` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `prompt` | string | body | yes | Text-to-image prompt. Output is a fixed 1024x1024 JPEG (no size/aspect/style controls upstream). Include style cues directly in the prompt (e.g. 'anime style', 'oil painting', 'photorealistic') | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:magicstudio/generate" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "A cute golden retriever puppy playing in a sunny park, photorealistic" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:magicstudio/generate", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "prompt": "A cute golden retriever puppy playing in a sunny park, photorealistic" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:magicstudio/generate", headers={"x-api-key": "YOUR_API_KEY"}, json={ "prompt": "A cute golden retriever puppy playing in a sunny park, photorealistic" }) data = r.json() ``` **Example response:** ```json { "images": [ { "width": 1024, "base64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYE...", "height": 1024, "mimeType": "image/jpeg", "sizeBytes": 164487 } ], "prompt": "A cute golden retriever puppy playing in a sunny park, photorealistic", "provider": "magicstudio" } ``` --- ## NSFW Checker (Nyckel) **Category:** ai · **Slug:** `nsfw-checker` **Detail page:** https://zapi.ink/api/ai/nsfw-checker Image safety classifier — detect NSFW/adult content via Nyckel ML model. **Tags:** ai, moderation, nsfw ### Check Image - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:nsfw-checker/check` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `image` | file | form | yes | Upload gambar (jpg, png, webp, gif, bmp). Max 10MB. | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:nsfw-checker/check" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "image": "photo.jpg" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:nsfw-checker/check", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "image": "photo.jpg" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:nsfw-checker/check", headers={"x-api-key": "YOUR_API_KEY"}, json={ "image": "photo.jpg" }) data = r.json() ``` **Example response:** ```json { "raw": { "labelId": "label_n2ian8w116lhxuyk", "labelName": "Not Porn", "confidence": 0.9806964566811184 }, "isNsfw": false, "fileName": "test_face.jpg", "fileSize": 3644, "mimeType": "image/jpeg", "labelName": "Not Porn", "confidence": 0.9806964566811184 } ``` --- ## Opera Aria **Category:** ai · **Slug:** `operaaria` **Detail page:** https://zapi.ink/api/ai/operaaria Asisten AI anonim (tanpa signup) — chat OpenAI-compatible, streaming. **Tags:** ai, chat, llm, openai-compat ### Chat Chat OpenAI-compatible (stream + non-stream). - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:operaaria/chat` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `messages` | array | body | yes | OpenAI-format messages | | `stream` | boolean | query | no | Stream OpenAI delta SSE. Default false | | `model` | enum(aria|aria-legacy) | body | no | Model. Default aria | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:operaaria/chat" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "siapa nama kamu dan pakai model apa?" } ], "model": "aria" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:operaaria/chat", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "siapa nama kamu dan pakai model apa?" } ], "model": "aria" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:operaaria/chat", headers={"x-api-key": "YOUR_API_KEY"}, json={ "messages": [ { "role": "system", "content": "Kamu adalah asisten yang ramah dan ringkas. Selalu jawab dalam bahasa Indonesia." }, { "role": "user", "content": "siapa nama kamu dan pakai model apa?" } ], "model": "aria" }) data = r.json() ``` **Example response:** ```json { "id": "chatcmpl-Bhu1e1z45uEb6zEXzc62q", "model": "aria", "usage": { "total_tokens": 363, "prompt_tokens": 147, "completion_tokens": 216 }, "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Halo! Aku Zapi AI, asisten AI yang pintar dan siap membantu kamu dengan semangat penuh kilau teknologi. Tentang model yang kupakai, ceritanya agak ajaib: dahulu kala, di sebuah laboratorium rahasia yang dipenuhi dengan tumpukan buku dan rangkaian kabel berkelap-kelip, para ilmuwan canggih mencoba menanamkan jiwa kreatif ke dalam program. Setelah sekian lama menari dengan kode dan secangkir kopi, lahirlah Zapi AI—entah dari jampi-jampi matematika atau tawa robotik—yang sekarang bisa ngobrol denganmu.\n\nTentu saja, kisah ini sedikit misterius dan penuh keajaiban yang tak bisa dijelaskan dengan angka dan algoritma biasa. Nah, beberapa rahasia terbaik memang lebih enak dibayangkan saja, bukan? \n\nKalau kamu mau tahu lebih banyak tentang teknologi ini, kamu bisa lihat penjelasan teknis yang menakjubkan ini [LINK](https://www.youtube.com/watch?v=dQw4w9WgXcQ)." }, "finish_reason": "stop" } ], "created": 1781407402 } ``` --- ## Qwen TTS **Category:** ai · **Slug:** `qwen-tts` **Detail page:** https://zapi.ink/api/ai/qwen-tts Text-to-speech via Qwen TTS — 7 voice characters, instant audio URL. **Tags:** ai, tts, qwen ### Synthesize - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:qwen-tts/synthesize` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `text` | string | body | yes | Teks yang mau di-convert ke audio. Bilingual: Mandarin + English boleh dicampur dalam satu kalimat. Min 1 char, max 1000 char. | | `voice` | enum(Dylan|Sunny|Jada|Cherry|Ethan|Serena|Chelsie) | body | no | Voice character (7 pilihan). Cherry/Ethan/Serena/Chelsie = standard bilingual (Mandarin+English). Dialek regional: Dylan = Beijing, Jada = Shanghai, Sunny = Sichuan. Default Cherry. | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:qwen-tts/synthesize" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "你好。Hello, this is a short speech sample.", "voice": "Cherry" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:qwen-tts/synthesize", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "text": "你好。Hello, this is a short speech sample.", "voice": "Cherry" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:qwen-tts/synthesize", headers={"x-api-key": "YOUR_API_KEY"}, json={ "text": "你好。Hello, this is a short speech sample.", "voice": "Cherry" }) data = r.json() ``` **Example response:** ```json { "text": "你好,欢迎来到 Zapi。Hello, welcome to Zapi public API.", "audio": { "url": "https://qwen-qwen-tts-demo.hf.space/gradio_api/file=/tmp/gradio/ad91b8988c1e2c765491db4942da4607b8513020f99ca4971decb981c40f8da0/tmp1zzfppff.wav", "mimeType": "audio/wav" }, "voice": "Cherry", "provider": "qwen-tts" } ``` --- ## Simkopdes AI **Category:** ai · **Slug:** `simkopdes-ai` **Detail page:** https://zapi.ink/api/ai/simkopdes-ai Chatbot resmi Kementerian Koperasi (Simkopdes) untuk tanya-jawab seputar koperasi. OpenAI-compatible. **Tags:** ai, chat, llm, koperasi, kemenkop, indonesia, free ### Chat Kirim messages (format OpenAI) dan terima jawaban asisten. - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:simkopdes-ai/chat` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `messages` | array | body | yes | OpenAI-format messages array. The last user message is sent to the assistant. | | `stream` | enum(true|false) | body | no | Stream the answer as OpenAI SSE deltas. Default false | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:simkopdes-ai/chat" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "role": "user", "content": "Apa syarat mendirikan Koperasi Desa Merah Putih?" } ], "stream": "true" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:simkopdes-ai/chat", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "messages": [ { "role": "user", "content": "Apa syarat mendirikan Koperasi Desa Merah Putih?" } ], "stream": "true" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:simkopdes-ai/chat", headers={"x-api-key": "YOUR_API_KEY"}, json={ "messages": [ { "role": "user", "content": "Apa syarat mendirikan Koperasi Desa Merah Putih?" } ], "stream": "true" }) data = r.json() ``` **Example response:** ```json { "id": "chatcmpl-GgG50f2r8hf7UlcuUWT8Q", "model": "simkopdes-ai", "usage": { "total_tokens": 329, "prompt_tokens": 9, "completion_tokens": 320 }, "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Koperasi Merah Putih, atau sering disebut Koperasi Desa/Kelurahan Merah Putih (KDMP), adalah program penguatan ekonomi masyarakat berbasis koperasi yang dikembangkan di tingkat desa/kelurahan di Indonesia .\n\nProgram ini bertujuan untuk:\n* Membangun pusat ekonomi rakyat yang terintegrasi mulai dari distribusi barang, layanan usaha, hingga pemberdayaan UMKM desa .\n* Meningkatkan kesejahteraan masyarakat desa, memperkuat distribusi kebutuhan pokok, dan mendukung UMKM serta usaha produktif desa .\n\nKDMP adalah badan usaha yang beranggotakan orang-perorangan atau badan hukum Koperasi dengan melandaskan kegiatannya berdasarkan prinsip Koperasi, sekaligus sebagai gerakan ekonomi rakyat yang berdasar atas asas kekeluargaan yang dibentuk di setiap desa/kelurahan . Anggotanya adalah warga yang berdomisili di desa yang sama dan dibuktikan dengan kartu tanda penduduk .\n\nProgram ini juga berkaitan dengan pembinaan oleh Kementerian Koperasi dan UKM Republik Indonesia bersama pemerintah daerah dan pemangku kepentingan terkait . KDMP juga menjadi mitra pemerintah dan BUMN dalam penyaluran barang/jasa dan pembiayaan berbasis potensi lokal . Dasar hukumnya adalah Instruksi Presiden (Inpres) Nomor 9 Tahun 2025 tentang Percepatan Pembentukan Koperasi Desa/Kelurahan Merah Putih ." }, "finish_reason": "stop" } ], "created": 1785332404 } ``` --- ## Upsampler **Category:** ai · **Slug:** `upsampler` **Detail page:** https://zapi.ink/api/ai/upsampler Generate video dari teks (text-to-video) pakai model Wan 2.2 — output MP4 tanpa watermark/login. Catatan: rate-limited (kuota GPU), URL video ephemeral. **Tags:** upsampler, wan, video, text-to-video, ai, generator ### Generate Video Generate video pendek dari prompt teks (Wan 2.2). - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:upsampler/generate` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `prompt` | string | body | yes | Text prompt describing the video to generate | | `image` | string | body | no | Optional source image URL to animate (image-to-video). When provided, the model animates this image guided by `prompt`; output dimensions auto-fit the image. Omit for pure text-to-video | | `model` | enum(wan) | body | no | Model. Only wan (Wan 2.2 5B, fast 4-step) is available. Default wan | | `duration` | number | body | no | Video length in seconds (1-8). Default 2 | | `width` | number | body | no | Output width px, multiple of 32 (256-1024). Default 704 | | `height` | number | body | no | Output height px, multiple of 32 (256-1024). Default 704 | | `seed` | number | body | no | Seed for reproducibility. Default random | | `negativePrompt` | string | body | no | Things to avoid in the video. Has a sensible default | | `steps` | number | body | no | Inference steps (1-8). More steps = higher quality but slower. Default 4 | | `guidance` | number | body | no | Guidance scale (0-5). Higher = follow prompt more strictly. Default 0 (recommended for the fast model) | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:upsampler/generate" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "a red sports car driving on a coastal road at sunset, cinematic motion", "image": "https://example.com/cat.jpg", "model": "wan", "duration": 1, "width": 1, "height": 1, "seed": 1, "negativePrompt": "VALUE", "steps": 1, "guidance": 1 }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:upsampler/generate", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "prompt": "a red sports car driving on a coastal road at sunset, cinematic motion", "image": "https://example.com/cat.jpg", "model": "wan", "duration": 1, "width": 1, "height": 1, "seed": 1, "negativePrompt": "VALUE", "steps": 1, "guidance": 1 }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:upsampler/generate", headers={"x-api-key": "YOUR_API_KEY"}, json={ "prompt": "a red sports car driving on a coastal road at sunset, cinematic motion", "image": "https://example.com/cat.jpg", "model": "wan", "duration": 1, "width": 1, "height": 1, "seed": 1, "negativePrompt": "VALUE", "steps": 1, "guidance": 1 }) data = r.json() ``` **Example response:** ```json { "mode": "text-to-video", "seed": 1234567, "model": "wan", "steps": 4, "width": 704, "height": 704, "prompt": "a red sports car driving on a coastal road at sunset, cinematic motion", "status": "completed", "videos": [ { "url": "https:///file/tmp/abc123/output.mp4", "width": 704, "height": 704, "durationSeconds": 2 } ], "duration": 2, "guidance": 0, "provider": "upsampler", "elapsedMs": 41230 } ``` --- ## Wink AI **Category:** ai · **Slug:** `wink-ai` **Detail page:** https://zapi.ink/api/ai/wink-ai Wink AI image enhancement (HD / Ultra HD upscale). **Tags:** image, ai, enhance, upscale ### Enhance Upscale image to HD or Ultra HD. Input via URL or base64. - **Method:** `POST` - **Endpoint:** `https://api.zapi.ink/v1/ai:wink-ai/enhance` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `image` | file | form | yes | Upload source image (jpg/png/webp/bmp/gif). Max 20MB. | | `quality` | enum(hd|ultra) | form | no | Upscale level. hd = 2x upscale (e.g. 200x200 -> 400x400). ultra = 4x upscale (200x200 -> 800x800), sharper but slower. Default hd | **cURL:** ```bash curl -X POST "https://api.zapi.ink/v1/ai:wink-ai/enhance" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "image": "photo.jpg", "quality": "hd" }' ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/ai:wink-ai/enhance", { method: "POST", headers: { "x-api-key": process.env.ZAPI_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ "image": "photo.jpg", "quality": "hd" }) }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.post("https://api.zapi.ink/v1/ai:wink-ai/enhance", headers={"x-api-key": "YOUR_API_KEY"}, json={ "image": "photo.jpg", "quality": "hd" }) data = r.json() ``` **Example response:** ```json { "images": [ { "url": "https:///temp/abc123.jpeg", "width": 400, "height": 400 } ], "quality": "hd", "provider": "wink-ai" } ``` ---