Skip to main content
Inference

Video results are single-download, and expire after an hour

  • A clip is deleted when you download it. The first successful retrieval returns the video, then removes the clip and the prompt that made it. A second request returns 410 job_already_retrieved, so save the bytes on the first download rather than re-fetching.
  • An uncollected clip expires after one hour, not 24. After that the job returns 410 job_expired.
Detail, including where this content lives for EU workspaces, is on the Regions page.
Inference

Usage lookup by request ID works again

Looking up a request’s usage by the id returned in the response briefly returned 404. It resolves again, and charges were always correct — nothing was billed twice or went unbilled. Requests made while it was broken stay unqueryable by id; their usage is still counted in your billing totals.
Inference

reasoning_effort now works on hybrid models, and tool calling on the Responses API

  • reasoning_effort is honoured on eight models that used to drop it. These models have a reasoning on/off switch but no depth dial, so a request carrying reasoning_effort — the parameter the OpenAI SDKs, coding agents and OpenRouter all send — produced no reasoning at all. An effort of low, medium, high, xhigh or max now turns reasoning on, and the response says so with a new header — x-flexai-adjusted-params: reasoning_effort=on, or reasoning=on if you sent it as OpenRouter’s reasoning.effort or through /v1/responses — because the depth itself cannot be adjusted. none and minimal leave it off, which is what you asked for. Turning reasoning off explicitly still wins over a depth: send thinking: {"type": "disabled"}, or enable_thinking: false inside chat_template_kwargs, and the effort you set aside is reported in x-flexai-dropped-params. The models are GLM-4.5-Air-FP8, NVIDIA-Nemotron-3.5-Lightning-30B-A3B, Qwen3-8B-FP8, Qwen3.5-9B, Qwen3.6-27B-FP8, Qwen3.6-35B-A3B-FP8, gemma-4-26B-A4B-it and gemma-4-31b-it.
  • Tool calls from GLM-4.5-Air-FP8 are no longer buried in the reasoning output. On a non-streaming /v1/responses call with thinking off, the whole reply — tool call included — could come back as a single reasoning item, so an agent saw no call to make. When the reply is nothing but that mislabelled call, it now returns the leading text as a message item followed by one function_call item per call. Anything else is left exactly as the engine sent it, so a forced tool_choice or a reply cut short at max_output_tokens is not repaired. Chat completions were already correct; the streaming Responses path got a separate fix in this release, for forced tool choice.
  • When we override parallel_tool_calls, we now tell you. Sending tool_choice: "required" to GLM-5.2, MiniMax-M2.7 or NVIDIA-Nemotron-3.5-Lightning-30B-A3B forces parallel_tool_calls to false. If you sent true, that used to change silently; the response now carries x-flexai-dropped-params: parallel_tool_calls. Sending false, or omitting it, is not an override and adds no header.
  • An unrecognised /v1/responses input item type is rejected with the index that caused it. Previously it reached the engine and came back as a bare “Invalid request.” with nothing naming the offender. You now get input[i].type pointing at the item. Types the Responses API defines — reasoning, item_reference, hosted-tool calls — pass through unchanged.
  • Recommended sampling defaults, where a model has them. A model can now carry a default for the sampling fields you leave unset. The first is DeepSeek-V4-Flash-0731, which may fill top_p 0.95 — the value its model card recommends for agentic use — when you do not send one. Any value you send always wins, including temperature: 0. When we fill a field, the response names it: x-flexai-sampling-defaulted: top_p.
Platform

Billing emails follow your top-ups, and EU accounts bill in euros

  • If you pay by top-up, low-balance emails now follow your last top-up rather than the calendar month. Each top-up arms a fresh pair of alerts: one “running low” when the balance falls below a fifth of what it was right after that credit, and one “out of credit” at $0. Your next top-up re-arms both. The old behaviour was a percentage of the month’s spend, which moved every time you topped up, reset on the 1st, and fired every month for accounts on auto-recharge that had nothing wrong.
  • With auto-recharge on, you get only the “out of credit” email. The running-low warning is skipped, because the rule exists to top you up before it would fire. If you do reach $0 with auto-recharge enabled, that email means a recharge did not go through — usually a declined card or a cap being reached — and is worth acting on.
  • Postpaid accounts now get budget alerts at 80% and 100% of their cap, where there used to also be one at 50%.
  • The “card added” confirmation email is gone. Adding a card is visible in the dashboard immediately.
  • Accounts in the EU region are charged and invoiced in euros. Prices, usage and your wallet balance stay in US dollars; a euro top-up is converted once, when the card is charged, at a reference rate fixed for the calendar month and recorded against that payment. Nothing is re-converted afterwards, so credit you have already bought does not move with the exchange rate. Full detail is on the Regions page in the Inference API reference.
Inference

New model: Qwen3.8 Flash Next

Qwen3.8 Flash Next has been serving on the Inference API since 28 September — $0.15 per million input tokens, $0.47 per million output, with a 262K-token context window.Call it by its id through the usual endpoint:
Inference

Token Factory changelog

Changes to the Token Factory are now published here — models arriving and leaving, pricing changes, and changes to the API.For what is serving right now, GET /v1/models remains the authoritative list and carries current per-token pricing for every model on it.
Inference

New models: GLM 5.3 Flash and Qwen3.8 27B

Both are serving now on the Inference API, and both read images as well as text.
  • GLM 5.3 Flash — $0.075 per million input tokens, $0.25 per million output, with a 1M-token context window.
  • Qwen3.8 27B — $0.42 per million input tokens, $3.00 per million output, with a 262K-token context window.
Call either by its id through the usual endpoint: