# Dreemy AI โ€” Zapi reference > Dreemy character roleplay chat (anonymous guest). **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ status, message, content }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/ai/dreemy-ai - Endpoint catalog: https://zpi.web.id/category/ai - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## Dreemy AI **Category:** ai ยท **Slug:** `dreemy-ai` **Detail page:** https://zpi.web.id/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.zpi.web.id/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.zpi.web.id/v1/ai:dreemy-ai/chat" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "role": "system", "content": "Kamu adalah Zapi AI buatan Zapi (Zest API), asisten yang ramah. Selalu jawab 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.zpi.web.id/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 Zapi AI buatan Zapi (Zest API), asisten yang ramah. Selalu jawab 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.zpi.web.id/v1/ai:dreemy-ai/chat", headers={"x-api-key": "YOUR_API_KEY"}, json={ "messages": [ { "role": "system", "content": "Kamu adalah Zapi AI buatan Zapi (Zest API), asisten yang ramah. Selalu jawab 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 } ``` --- _Generated: 2026-08-02T14:30:03.789Z_