Documentation
Build, refine, save, and share small web tools with AI.
Tool AI turns prompts into multi-file HTML, CSS, and JavaScript
projects. The create page keeps conversation context, streams the
model response into a preview, and lets you continue editing with
follow-up prompts.
-
Describe the tool.
Start on the homepage with a direct prompt like “Build a mortgage
calculator for first-time buyers with taxes, insurance, and a
downloadable summary.”
-
Wait for the create page.
Tool AI signs you in anonymously if needed, sends the prompt, and
streams a generated project into the preview.
-
Refine with follow-ups.
Ask for scoped changes such as “Keep the layout, add validation
and a mobile-friendly summary.”
-
Save or download.
Anonymous users get local autosave. Signed-in users can save to
cloud projects and optionally publish to the gallery.
1. Context is assembled
The server receives your current prompt, existing project files,
and prior chat messages. Follow-ups can refer to “the previous
version,” “that form,” or “keep the same layout.”
2. Web tools may run
If the prompt asks for current facts, docs, sources, or
research, the server can search the web and read public
documentation pages before final generation.
3. A provider generates files
The selected model returns a JSON project with a title,
explanation, thumbnail keyword, and a files object containing
complete project files.
4. Output is normalized
File paths are checked, HTML is sanitized, file sizes are
bounded, and the preview is written to a temporary project URL.
Research
Web Search and Documentation Reading
Tool AI supports two web endpoints. The AI can request these on the
server before generation, and generated tools can also call them at
runtime when a tool needs search or documentation lookup.
GET /api/search-web
Searches the public web and returns source titles, URLs,
snippets, and provider metadata.
/api/search-web?query=MDN Fetch API documentation&count=3
GET /api/read-web
Reads a public HTTP or HTTPS page, extracts readable text, and
returns a source URL, title, content type, and text excerpt.
/api/read-web?url=https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API&maxChars=8000
Documentation workflow:
For docs-heavy requests, ask Tool AI to search for the relevant docs
page, read it, and cite the source link in the generated UI.
Better Results
Prompting Guide
Strong prompts describe the user, output, required controls, data
states, and constraints. Follow-ups should say what must stay
unchanged.
Build a [tool type] for [target user].
Must include: [feature 1], [feature 2], [feature 3].
Data states: empty, editing, validation error, success.
Style: [layout], [tone], [visual constraints].
Behavior: [exact interactions and edge cases].
Keep unchanged: [things the AI must preserve].
“Build a habit tracker with empty state, weekly grid, streak
counter, local persistence, and mobile-friendly editing.”
“Improve spacing and button states only. Do not change the color
palette, form fields, or calculation logic.”
“Use current MDN Fetch API documentation. Include examples for
GET, POST, async error handling, and one visible source link.”
Auto
Uses the free API route first and falls back to Gemini when the
primary route is unavailable.
Gemini API
Server-side Gemini generation. Also used for web-tool planning
before a docs-aware generation request.
Ollama route
Sends prompts through the server-side Ollama Cloud route and can
use the backup route before falling back.
Puter.js
Uses Puter authentication and the selected Puter model for users
who choose a Puter-backed provider.
NVIDIA
Uses the NVIDIA OpenAI-compatible API when configured on the
server. The route includes a local request-rate guard.
Projects
Saving, Downloads, and Publishing
| Action |
Requirement |
What happens |
| Local autosave |
Any user |
The browser stores the current project, files, metadata, and
message history locally.
|
| Cloud save |
Signed-in, non-anonymous account |
Project files, preview HTML, metadata, and messages are
saved to Firestore.
|
| Download ZIP |
A generated project |
The server normalizes project files and returns a ZIP with
safe relative paths.
|
| Publish to gallery |
Cloud project owner |
The project becomes public with a generated thumbnail image
and gallery metadata.
|
Quotas
Rate Limits and Size Limits
Daily sparks
45,000
Per authenticated user, tracked by UTC day.
Weekly sparks
250,000
Per authenticated user, tracked from Sunday UTC.
Session sparks
25,000
Per authenticated user in rolling 5-hour UTC buckets.
Minimum request cost
250 sparks
Cost rises with prompt size and selected model multiplier.
How spark cost is estimated
The server estimates input tokens as roughly one token per four
characters. Model multipliers currently range from
0.7x for nano/lite/haiku-style models to
2.2x for pro/reasoner/GPT-4.5/GPT-5-style models.
Unknown models default near the middle.
Other limits
- Prompt text area: 4,000 characters.
- Saved message history: up to 100 messages.
- Generated project: up to 80 files.
- Single generated file: up to 300,000 bytes.
- Total generated project payload: up to 750,000 bytes.
- Temporary streamed preview lifetime: about 10 minutes.
- Web page reader: up to 12,000 returned characters.
- Web fetch body cap: 1 MB.
- Web reader timeout: 10 seconds.
- AI-requested web tool calls: up to 4 per generation.
-
NVIDIA server-side guard: up to 40 requests per minute by default.
Guardrails
Security and Privacy Boundaries
- Generated HTML is sanitized before preview and save.
-
Inline event handlers such as
onclick are removed.
- Project file paths must be safe relative paths.
-
Tool AI cannot be embedded by other sites because frame ancestors
are restricted to itself.
-
The web reader blocks localhost, private IP ranges, and private
redirect targets.
-
Cloud project saving requires a verified, non-anonymous Firebase
user.
-
Public gallery publishing requires ownership of the saved project.
API keys requested for generated tools are injected into the preview
for that session. Avoid using production keys in experimental tools.
| Issue |
What it means |
What to do |
| Prompt is too long |
The message is above the 4,000-character input limit. |
Split the work into smaller follow-up prompts. |
| Usage limit reached |
The request would exceed daily, weekly, or session sparks.
|
Wait for the relevant reset or use a shorter
prompt/lower-cost model.
|
| Invalid JSON returned by model |
The model response could not be parsed into project files.
|
Retry with a more direct prompt asking for a complete
working tool.
|
| No tool to save |
There is no generated project in the preview yet. |
Generate a tool first, then save or download. |
| Project not found |
The project was deleted or belongs to another account.
|
Return to Projects and open a project owned by the current
account.
|
Can I edit an existing project?
Yes. Open a saved project from Projects and continue with follow-up
prompts. The current files and prior conversation are included as
context.
Can Tool AI read documentation?
Yes. It can search for public pages and read public documentation
text before generation. It cannot read private sites, localhost, or
private-network URLs.
Why did the AI redesign something I wanted to keep?
Follow-ups should explicitly say what must remain unchanged. For
example: “Keep the current layout and calculations. Only add error
messages.”