Providers & settings
Detection and erasing always run offline. OCR and translation light up as soon as you point amytl at a provider.
Where settings live
Open Settings in the inspector's right-hand tab strip. Settings are kept on the service you run — ordinary values in one file, the API key in another, separate from any project. The key is never sent to the browser; the settings view only reports whether one is present.
Providers
| Provider | Works with | Notes |
|---|---|---|
| Antigravity | Models served through the Antigravity CLI | The default. No API key here — the API host runs the local agy CLI and uses its signed-in account. Pick a model for reading and one for translation. |
| Custom | Any OpenAI- or Anthropic-compatible API | Bring your own base URL: Ollama, LM Studio, vLLM, OpenRouter, … An Anthropic style switch flips the request shape. |
| OpenAI | api.openai.com | Uses /chat/completions with your key. |
| OpenRouter | openrouter.ai | Sends the amytl referer/title headers. |
| Groq | api.groq.com | OpenAI-compatible endpoint. |
| Gemini | Google AI Studio | generateContent with inline image parts for vision OCR. A free tier is usually enough to start. |
About the Antigravity route
amytl does not talk to a model gateway for this; it runs the local Antigravity CLI
(agy -p … --output-format json) on the API host, so the host needs Antigravity
installed and signed in and nothing else.
Reading is the slow part: the crops of one batch are laid out as a single numbered montage and the
CLI reads them with its own vision — roughly 25–30 s per batch, so eight regions per call. Translation
is text-only and takes about 6 s. The CLI is never given
--dangerously-skip-permissions, so it can read the workspace files but cannot run
commands or install anything.
Getting a key (Gemini example)
- Open aistudio.google.com/app/apikey and sign in.
- Create an API key and copy it — it is only shown once.
- In amytl, set Provider to Gemini, paste the key, and pick a model such as
gemini-2.0-flash.
Target language and style
The target language is a plain string ("English", "Bahasa Indonesia", "Français"…). The style box is a free-form instruction sent with every request — use it to pin terminology, tone, honorific handling or formatting. A sensible default is filled in for you.
Privacy
Only the text you choose to translate is sent to your provider. For vision OCR, only the cropped text regions — never the whole page — leave the server. Keys are never written into project files.