AnkiWeb
- Rating
- 8 (π 8 Β· π 0)
- Updated
- 2026-09-19
- Anki versions
- 2.1.5~
- Description language
- en
AnkiWeb addon 50275070
Fills blank Anki note fields with AI-generated text, audio, and images using configurable per-field instructions, batch processing, and multiple providers.
Open on AnkiWeb GitHub Ask about alternatives
active
| Min Anki | Max Anki | Updated |
|---|---|---|
| 2.1.5 | + | 2026-09-19 |
Loadingβ¦
Generates complete Anki flashcards via Gemini AI and bulk-fills missing meanings or parts of speech from dictionaries or AI, with field mapping.
Bundles optional plugins for auto-flip, typed grading, interval display, overdue protection, audio speed, AI note-filling, and word lookup.
Adds AI-generated text, speech, and images to individual cards or entire decks, supporting bulk generation, prompts, many languages, paid plans, and free trial.
Automatically fills language-learning flashcard fields via AI providers, audio, and images, supporting any language pair with preview, cache, and field mapping.
Enriches Anki notes with AI text, images, speech, and dictionary/video links using multi-profile providers, safe field updates, auto queues, scheduled runs, and link tools.
Automates Spanish flashcard creation by auto-filling translations, gender, plurals, sentence fields, and Google TTS audio using an offline dictionary with translation fallback.
An Anki addon that uses AI (LLM-based) to intelligently auto-fill blank note fields. It considers already-filled fields, configurable per-field instructions, and optional user prompts to generate appropriate content β including text, audio (TTS), and images.
Clone or copy the ai_field_filler folder into your Anki addons directory:
%APPDATA%\Anki2\addons21\~/Library/Application Support/Anki2/addons21/~/.local/share/Anki2/addons21/Restart Anki
Configure your AI provider credentials via Tools β AI Field Filler β Settings...
Configure credentials and models for each supported provider:
| Provider | Text | TTS | Image | Notes |
|---|---|---|---|---|
| OpenAI | Yes | Yes | Yes | Also works with Azure OpenAI and other compatible APIs |
| Anthropic | Yes | No | No | Claude models |
| Yes | Yes | Yes | Gemini text, Nano Banana image gen, Gemini TTS | |
| OpenRouter | Yes | Yes | Yes | One key for every vendor; normalises per-model parameter differences. Speech via streamed gpt-audio models |
Using OpenAI-compatible APIs: Change the API URL to point to your endpoint (e.g., Azure OpenAI, local LLM server, or any OpenAI-compatible API).
For each note type, describe what each field should contain. This gives the AI rich context for generating appropriate content.
For each field you can configure:
Auto (let AI decide), Text, Audio, or ImageCtrl+Shift+G for all, Ctrl+Shift+F for current field)Fill all empty fields in the current note at once:
Ctrl+Shift+G (configurable)When the confirmation dialog is enabled, you'll see:
Fill just the field you're working on:
Ctrl+Shift+F (configurable)When the confirmation dialog is enabled, you'll see a lightweight popup with just the field name and an optional prompt β no field selection needed since you already chose the field.
Right-click on any field in the editor β "AI: Configure instructions for '{field name}'..." to quickly set or edit the AI instruction for that field without opening the full settings dialog.
For text fields, the AI can optionally include a generated illustration when it believes it would significantly help the learner. The image is appended below the text in the same field. To encourage this, add something like "Include a helpful illustration when the concept is visual or concrete" to the field's instruction.
Fill blank fields across many notes at once from the card browser:
Transfer your settings between computers or back them up:
.aiff-settings extensionExported files include provider configs, active provider selections, all note type instructions, deck-specific overrides, and general settings. API keys are encrypted using PBKDF2-based key derivation when a password is provided.
<br>) and inserted. If the AI included an image_prompt, the image is generated and appended below the text.[sound:filename] tag is inserted<img> tag is insertedThe addon package lives in src/ai_field_filler/; its contents become the installed
.ankiaddon. Code is grouped by role, with tests and tooling kept above the package (they
never ship).
src/ai_field_filler/ # the addon package (contents = installed addon root)
βββ __init__.py # Addon entry point
βββ config.json # Default configuration
βββ config.md # Configuration documentation (shown in Anki's config screen)
βββ core/
β βββ field_filler.py # Core orchestrator (single + batch)
β βββ media_handler.py # Audio/image media management
βββ config/
β βββ config_manager.py # Typed config wrapper (singleton) + FIELD_TYPES
β βββ settings_io.py # Settings export/import + encryption
βββ providers/
β βββ __init__.py # Provider factory + model fetching
β βββ base.py # Abstract base classes + ProviderError
β βββ http.py # Shared HTTP request helpers (the only HTTP layer)
β βββ openai_provider.py # OpenAI (text + TTS + image)
β βββ anthropic_provider.py # Anthropic (text)
β βββ google_provider.py # Google Gemini (text + TTS + image)
β βββ openrouter_provider.py # OpenRouter (text + TTS + image, all vendors)
βββ ui/ # Qt dialogs, tabs, and shared widget helpers
βββ hooks/
βββ editor_hooks.py # Editor toolbar + context menu
βββ browser_hooks.py # Browser batch fill integration
tests/ # pytest suite (aqt mocked; never ships)
scripts/build_ankiaddon.py # packages src/ai_field_filler/ into the .ankiaddon
pyproject.toml Makefile CLAUDE.md .claude/ # tooling, agent context (never ship)
gemini-2.5-flash-image)GPL-3.0 License. See LICENSE file for details.
Contributions are welcome! Please open an issue or pull request on GitHub.