Skip to content
View as Markdown

Frequently asked questions

How does billing work?

You pay from prepaid credits. Responses include a usage field with the prompt and completion token counts. Kiln deducts credits for those tokens at the model's price per 1M tokens. Check your balance and ledger on the credits page in the console.

Is there a free trial?

New accounts receive trial credit to try the API. It is granted once, after you verify your email, and expires 30 days after it is granted. After you sign in, the credits page in the console shows the amount.

Which models are available?

The Models page lists every model Kiln serves right now, with its context length, price and capabilities; GET /v1/models returns the IDs you can call. The examples in these docs use qwen3-32b. More models are planned.

Is Kiln compatible with the OpenAI API?

Kiln serves OpenAI-compatible endpoints, so you can use the official OpenAI SDKs (Python, JavaScript) or another OpenAI-compatible client. Change base_url and your API key. Request and response shapes, streaming and the usage field follow the OpenAI API. Some features are limited. Tool calling works on gpt-oss-120b with automatic tool choice only (no forced or parallel calls); other models differ, so see the Models page. A few parameters are not supported yet (response_format, stop). See Migrating from OpenAI for the known limitations.

How much of my OpenAI code do I need to change?

If you use the OpenAI SDK, change base_url and the API key to start. Request and response shapes stay the same. If your code uses a parameter listed under Known limitations on the Migrating from OpenAI page, change that part too.

How do I stream responses?

Set stream: true. Tokens arrive as server-sent events (SSE); the OpenAI SDKs parse this for you. To also get token usage at the end, set stream_options.include_usage to true.

Can I get structured JSON output?

response_format (json_object / json_schema) is not supported yet. Requests that set it currently return empty content. Instead, tell the model in the prompt to reply with JSON only, then parse and validate the result in your client.

Can I control how much the model reasons?

Yes. reasoning_effort is passed to the model, and gpt-oss-120b accepts low, medium, or high; whether another model honours it is not published. Low answers fastest; high spends more reasoning tokens for harder problems. Reasoning tokens are billed as output tokens.

How is my data used?

Prompts and completions are processed to serve your request and to meter usage for billing. By default, your data is not used for training. Contact us if you need a data-processing agreement.

What happens when I run out of credits?

Requests are blocked with 402 Payment Required until you top up. Add credits on the credits page in the console.

How do I handle rate limits and errors?

Retry 429 and 5xx responses with exponential backoff. A requests/min or tokens/min 429 carries x-ratelimit-reset, so wait that many seconds. A concurrency 429 carries no rate-limit headers, so back off exponentially. See the Rate limits and Errors pages for details.

Still stuck?