
anki-llm
CLIUses LLMs to generate and rewrite Anki cards in bulk and add TTS audio, with a terminal UI to pick cards before import and JSON query commands so agents can read and write decks. Needs Anki Desktop with AnkiConnect and an OpenAI, DeepSeek or other API key, or local Ollama.
Bulk-process, generate, and improve Anki flashcards with LLMs and text-to-speech. anki-llm combines reviewable file workflows, direct deck updates, and an interactive generation TUI in one scriptable CLI.
Docs: anki-llm.raine.dev
Also from the author of anki-llm: aven, one queue for every project, with a keyboard-driven TUI for you and a CLI for your agents.
What people say
- "What's next get AI to answer your flashcards for you?" - grei_earl on Reddit
- "I love this. The README is extremely detailed and clear, and using AnkiConnect to edit decks in-place avoids the usual apkg headaches." - rahimnathwani on Hacker News
- "This is cool!" - Hsaeedx on Reddit
Why anki-llm?
-
Process files or decks. Export notes to reviewable CSV or YAML, process them with automatic resume, and import the result, or update a deck directly with previews, snapshots, and rollback support.
-
Generate cards interactively. Create several cards for a term, compare them in a terminal UI, edit or regenerate candidates, catch duplicates, and import only the cards you choose.
-
Keep workflows in plain files. Store prompts, note types, and per-project settings in a workspace that can be reviewed, versioned, and shared.
-
Add text-to-speech. Fill audio fields in bulk or synthesize audio while generating cards, with voice browsing, caching, and multiple TTS providers.
-
Edit note types with normal tools. Pull card template HTML and CSS into a workspace, edit them in your preferred editor or coding agent, and safely push them back to Anki.
-
Bring your preferred model. Use OpenAI, Gemini, DeepSeek, xAI, OpenRouter, Ollama, or any OpenAI-compatible chat completions endpoint.
-
Give agents structured Anki access.
anki-llm queryexposes AnkiConnect through a JSON-oriented CLI for collection inspection and agent-driven workflows.
Quick start
Install with the release script:
curl -fsSL https://raw.githubusercontent.com/raine/anki-llm/main/scripts/install.sh | bash
Or install with Homebrew:
brew install raine/anki-llm/anki-llm
Or install from crates.io:
cargo install anki-llm
Install the
AnkiConnect add-on and keep Anki
Desktop running for commands that read or change your collection. File-only LLM
processing with process-file can run while Anki is closed.
Set an API key for your provider. For example, with OpenAI:
export OPENAI_API_KEY="your-api-key"
Check the resolved model, workspace, credentials, and Anki connection without changing your collection:
anki-llm doctor
Continue with the getting started guide to create a workspace and run your first processing or generation workflow.
Documentation
- What is anki-llm?
- Getting started
- Core concepts
- Process a file
- Process a deck
- Write prompts
- Use workspaces
- Generate cards
- Configure processing steps
- Text-to-speech
- Manage note types
- Work with agents
- Command reference
- Prompt reference
- Models and providers
- TTS providers
- Configuration
- AnkiConnect reference
- Troubleshooting
- FAQ
- Changelog
- LLM-readable docs
Recipes:
Development
Install the local quality tools and run the full read-only check suite:
just install-quality-tools
just check
just check writes full command output to target/check-logs. Use
just format or just clippy-fix when source files should be modified.
License
anki-llm is available under the MIT License.
Похожие ресурсы

notebooklm-py
CLIUnofficial Python library and CLI for driving Google NotebookLM (now Gemini Notebook): bulk-import sources, ask cited questions, and generate and download podcasts, videos, slides, quizzes and flashcards. Ships an agent skill. Relies on undocumented APIs and needs a Google sign-in.
teng-lin/notebooklm-py19.8k
VideoCaptioner
CLICLI version of the VideoCaptioner subtitle assistant: transcribes courses, lectures and interviews, uses an LLM to segment, proofread and translate, then burns subtitles into the video. Free ASR and Bing translation work out of the box; LLM refinement needs an API key. Python 3.10 to 3.12.
WEIFENG2333/VideoCaptioner16.3k
F5-TTS
CLIOpen-source zero-shot TTS via f5-tts_infer-cli: from a few seconds of reference audio it reads Chinese or English text in the same voice, handy for lessons and videos. Needs Python, PyTorch and FFmpeg, ideally a GPU. Pretrained models are non-commercial; get consent before cloning a voice.
SWivid/F5-TTS15.4k
Podcastfy
CLIOpen-source alternative to NotebookLM's podcast feature: turns web pages, PDFs, images, YouTube videos or text into two-host conversational audio, useful for lecture notes or articles. Uses Gemini and OpenAI API keys by default, or local models plus free Edge TTS.
souzatharsis/podcastfy6.6k
Gemini Notebook (NotebookLM) CLI & MCP Server
CLIUnofficial nlm CLI and MCP server for NotebookLM (now Gemini Notebook): bulk-create notebooks, import web pages and docs, and generate audio overviews, quizzes, flashcards, mind maps and slides for teaching and study. Relies on undocumented APIs and a Google sign-in, so it may break.
jacob-bd/gemini-notebook-mcp-cli6.3k
Piper
CLILocal neural text-to-speech engine that converts text to speech offline, with voices in dozens of languages, handy for listening materials or narrating articles and course slides. Needs Python; download a voice model before first use. The project is currently looking for maintainers.
OHF-Voice/piper1-gpl5.9k