The AI Text Request Block: What It Won't Tell You

🕵️ The AI Text Request Block: What It Won't Tell You


The AI text request block sends a question to a language model and outputs its answer into the scenario. It has one trait that nothing in the interface points out: it never tells you when something went wrong. This guide describes that behavior as it actually is, not as it's assumed to be.



🧩 What the Block Exposes


  • prompt: the message sent to the model. Empty if nothing is plugged in.
  • system prompt: the role instruction. Empty if nothing is plugged in.
  • model: only two choices, from a closed list — mistralai/ministral-3b-2512 (the default) and google/gemini-2.5-flash. No free entry.
  • temperature: a number. 1 by default.
  • result: the answer, as text. Empty string by default.


There is no setting for answer length. The only way to bound it is to write it into the instruction itself ("120 words maximum").


No API key lives in your project. The call leaves the app for Celestory's own servers, which carry the billing with the model provider. Good news for security — and a reason to read the quota section below.


🔇 Trap #1 — No "On Error" Output


Unlike the Baserow block, which has a dedicated failure path, the AI text request block has none. If the call fails — network down, server unreachable — the error goes to the browser console, invisible to anyone without developer tools open, and the scenario carries on normally, with an empty result.


🔺 There is no way to wire a fallback behavior on failure, because no output signals it. If your scenario writes result to a database or displays it as-is, a network outage silently becomes a blank field.


What to do: never let result flow straight into a database write or a screen. Always interpose a condition that checks whether the text is empty, and decide what to show in that case.


🎭 Trap #2 — A Server Error Can Become "The Answer"


This is the more serious of the two. The block never checks that the request actually succeeded: it reads the response body as text regardless of whether the server answered correctly or not. A monthly quota reached, a temporarily unavailable model, or a rejected input all produce a technical message on the server side — not a sentence — and that message lands in result exactly as a real model answer would.


🔺 Nothing in the interface or in the data distinguishes a real answer from an error message copied verbatim. If result flows into a Baserow column or a screen, that message can be shown to a user, or written to a database, as if it were the model's answer.


What to do: validate the shape of result before using it. A real answer doesn't look like a technical message. Better still: ask the model for a recognizable format in the instruction, and reject anything that doesn't match it.


🌡️ Trap #3 — The Default Temperature Is 1


The block's default setting is 1, the highest value commonly used. At temperature 1, the answer to the same question changes from one call to the next. For professional use — summarizing, classifying, answering from data — that's rarely what's wanted: hard to justify why two identical requests got two different answers.


Use case

Recommended temperature

Summarizing, classifying, extracting, answering from data

0.1 to 0.3

Rephrasing, softening a message

0.4 to 0.6

Writing a variant, brainstorming ideas

0.8 to 1


🔺 Never set temperature to exactly 0. The server treats a 0 as "nothing was set" and silently replaces it with 0.5 — the opposite of the intended effect. For genuinely deterministic output, use a value close to zero but not zero itself, for example 0.1.


🔒 A Fourth, Inherited Trap: Silence on the Subscription


The AI text request block is one of the features reserved for the Business plan, like the HTML5 block, HTTP Request, or the MCP connector. On an account whose subscription has expired, it doesn't run at all — no message, no error, nothing in result. If an AI text request block "does nothing," check the subscription end date before suspecting the instruction.


⭐ The Star Doesn't Mean What You'd Think


In the add-block menu, the AI text request block carries a star ⭐ labeled ORGANIZATION. It does not indicate AI credit consumption: it's the same badge carried by any block reserved for the Organization plan — HTML5, HTTP Request, MCP, Input Camera. The star flags a subscription tier, not a cost.


Using the block is counted against a monthly AI generations quota tied to your account — the same quota as the graph's AI assistant. It is not the credit system used by the AI Generation studio (images, videos, audio): those are two separate counters, and the AI text request block doesn't appear in the second one at all.


✅ What Real-World Use Has Shown


These practices come from projects reviewed after the fact, not from a hunch:


  • Explicitly forbid the model from filling in gaps. The phrase that works: "if the information isn't in the data provided, say you can't find it." Without it, a model invents a plausible-sounding answer.
  • Have it cite the identifiers it relies on. An answer that cites its sources can be checked at a glance, and the exercise discourages invention.
  • Set temperature low for any factual use — see Trap #3 above.
  • Show what's sent to the model. A collapsible "what I'm sending to the model" block, shown before the call, answers in advance the question any outside reviewer will ask.
  • Never let a model produce an amount or a calculation that a rule could produce instead. That's the most serious mistake an application like this can make: the model drafts, summarizes, explains — it doesn't decide.


🧠 Choosing the Model


The two available models don't serve the same purpose. mistralai/ministral-3b-2512 — the default — is small and fast: good for a one-sentence summary, rephrasing, or labeling. google/gemini-2.5-flash is the recommended choice whenever a strict instruction must be followed, reasoning is needed over a supplied context, or the model should refuse to answer rather than invent one. Set the model point explicitly — don't let the default decide for you.


→ Next step: in an existing scenario, find every AI text request block and check that a condition tests result before it flows to a screen or a database write.

Updated on: 23/09/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!