Help center
Frequently asked questions
Short answers, each linking to the page that covers it properly.
Getting started#
Do I need a different key for each model?
No. One key reaches every model your account is entitled to. Separate keys are still worth creating per service, because usage and spending limits are tracked per key — see Authentication.
Can I use my existing OpenAI or Anthropic code?
Yes — change the base URL, the key, and the model ID. Nothing else. See Migrate to xKiro.
Why does my model ID return 404?
Almost always a missing vendor prefix: openai/gpt-5.6-sol, not gpt-5.6-sol. The full list your account can call is at GET /v1/models.
Requests#
Why did my request time out at 95 seconds?
That is the blocking limit. Set stream: true — streamed requests are not subject to it, and reasoning models on large prompts routinely run longer. See Streaming.
The response says a model I did not request. Why?
It should not. The modelfield always reports what you asked for, even when routing served it another way, and you are billed at that model's price. If you are seeing a different name, check that your client is not rewriting the request.
I asked for JSON and got prose.
response_format guarantees valid JSON syntax, not your schema. Describe the shape in the prompt and validate what comes back — see Structured output.
My answer stops mid-sentence.
Check the finish reason. length means the token budget ran out — raise max_tokens or ask for something shorter. xKiro never raises your limit for you, because it is your cost ceiling.
Reasoning#
I turned thinking off but it still seems to reason.
Make sure you turned it off rather than leaving it out. Omitting the field lets each model apply its own default, which on some models is on. Send "reasoning_effort": "none" or thinking: { "type": "disabled" }. See Reasoning.
Why did my bill jump after enabling thinking?
Reasoning tokens are billed as output tokens, and output usually costs several times input. High effort can multiply the cost of the same prompt.
Billing#
Am I charged if a request fails?
No for server errors and validation failures. Yes for tokens already generated when you cancel mid-stream — that work really happened upstream. Full rules on Pricing & billing.
My client retried. Was I billed twice?
No. An identical blocking request within a short window replays the first result instead of running again. See Idempotency.
Why can I not call a particular model?
Access tiers. Free plans reach free models; paid models need a plan or balance; premium models need an account that has actually paid. See Access tiers.
Capabilities#
Can xKiro generate video?
No. Text, speech and images only.
Can it transcribe audio?
Not today. Text to speech is supported; speech to text is not.
What happens if I send an image to a model without vision?
The image is removed and the model is told it could not see one, so it says so rather than inventing a description. The rest of your request goes through.
Not answered here? Troubleshooting covers diagnosing a failing request, and Support explains how to reach a human.
