Qai speaks the same API as OpenAI. Change the base URL in the client you already have and the same code can call a chat model, generate an image or render a short video. You pay per call, and the sandbox model is free.
curl https://llm.quickcasa.ai/v1/chat/completions \ -H "Authorization: Bearer sk-..." \ -d '{"model": "qai-hello-world", "stream": true, "messages": [{"role": "user", "content": "Write a haiku about Mondays"}]}' data: {"choices":[{"delta":{"content":"Monday"}}]} data: {"choices":[{"delta":{"content":" morning"}}]} data: {"choices":[{"delta":{"content":" light,"}}]} data: {"choices":[{"delta":{"content":"\n"}}]} data: {"choices":[{"delta":{"content":"coffee"}}]} data: {"choices":[{"delta":{"content":" cools"}}]} data: {"choices":[{"delta":{"content":" beside"}}]} data: {"choices":[{"delta":{"content":" the"}}]} data: {"choices":[{"delta":{"content":" keys,"}}]} data: {"choices":[{"delta":{"content":"\n"}}]} data: {"choices":[{"delta":{"content":"the"}}]} data: {"choices":[{"delta":{"content":" inbox"}}]} data: {"choices":[{"delta":{"content":" can"}}]} data: {"choices":[{"delta":{"content":" wait."}}]} data: [DONE]
hostMedia and a generated image or video comes back at a permanent URL on our CDN, ready to drop into an image tag or an email.qai-hello-world costs nothing and allows 100 calls per key each UTC day. Use it to wire up your client and test prompts.Pick a model by the job. Context is the window in tokens. Prices come from live billing, so this table is what Stripe charges. Full limits are on the models page.
| Model | Kind | Context | Use it for | Price |
|---|---|---|---|---|
| qai-hello-world | text | 131,072 | Wiring up a client and testing prompts. | Free 100 calls per key per day |
| qai-flash | text | 1,000,000 | Chat, summaries, classification and anything you call at volume. | $0.20 per 1M input tokens $0.50 per 1M output tokens |
| qai-pro | text | 1,048,576 | The default for most work: reasoning, code and structured output. | $0.80 per 1M input tokens $2.00 per 1M output tokens |
| qai-max | text | 1,048,576 | Long context and multi-step work where quality matters more than speed. | $1.50 per 1M input tokens $5.00 per 1M output tokens |
| qai-think | text | 204,800 | Problems that benefit from the model reasoning before it answers. | $1.80 per 1M input tokens $8.00 per 1M output tokens |
| qai-imagine-turbo | image | Fast generation for previews and batches. | $0.04 per image | |
| qai-imagine-quality | image | Sharper detail and better text rendering. | $0.08 per image | |
| qai-motion | video | Short clips from a text prompt. | $0.18 per video-second |
More detail on the models page and the pricing page.
Point an OpenAI client at https://llm.quickcasa.ai/v1 with your key. Start on qai-hello-world, then change the model name when you go to production.
import OpenAI from 'openai'; const client = new OpenAI({ baseURL: 'https://llm.quickcasa.ai/v1', apiKey: process.env.QAI_API_KEY, }); const response = await client.chat.completions.create({ model: 'qai-hello-world', messages: [{ role: 'user', content: 'Hello' }], }); console.log(response.choices[0].message.content);
from openai import OpenAI client = OpenAI( base_url="https://llm.quickcasa.ai/v1", api_key="sk-...", ) response = client.chat.completions.create( model="qai-hello-world", messages=[{"role": "user", "content": "Hello"}], ) print(response.choices[0].message.content)
By default an image or video comes back on a temporary URL. Set hostMedia to true and it is stored on our CDN at a permanent address you can use straight away.
{
"model": "qai-imagine-turbo",
"prompt": "a lighthouse at dusk, film grain",
"hostMedia": true
}
// response
{ "data": [{ "url": "https://llm.quickcasa.ai/media/..." }] }
Anything else, email hi@quickcasa.ai. A person replies within a business day.
The request shape is the same. Qai adds image and video on the same key, hosted media, a sandbox model that stays free, and usage broken down per key. If you only need one text model, calling OpenAI directly is fine.
Yes. Any tool that takes a custom OpenAI base URL works: Cursor, Continue, Open WebUI, n8n, Make and Zapier among them. Set the base URL and the key.
Use qai-hello-world to confirm the integration, then qai-pro. Move to qai-flash for volume, and to qai-max or qai-think when the answer matters more than the speed.
Per token for text, per image for images and per second for video. Stripe charges the card on your account at the end of each period and emails an invoice.
The sandbox model allows 100 calls per key each UTC day. Paid models default to 100 requests a minute. Email us before a launch and we will raise it.
Disable it in the dashboard and create a new one. If you spot usage you do not recognize, email us and we will lock the key from our side.
Three things being built now. None of them are available yet.
/v1/embeddings endpoint.Sign up, create a key, and make your first call to qai-hello-world.