Jimaku integration
Jimaku is a community archive of Japanese subtitles for anime and live action. SubMiner searches it from the overlay, downloads the file you pick, and loads it into mpv.
Setup
- Create a free account at jimaku.cc and copy your API key.
- Add the key to
config.jsonc, either directly or through a command that prints it:
{
"jimaku": {
"apiKey": "YOUR_API_KEY",
// or, to keep it out of the config file:
// "apiKeyCommand": "pass jimaku/api-key",
},
}If both are set, apiKey wins. apiKeyCommand must print the key within 10 seconds. Without a key, the modal shows "Jimaku API key not set."
Usage
- Press
Ctrl+Shift+Jduring playback. - SubMiner fills in the title, season, and episode from the file name. If it finds both a title and an episode, it searches right away. Otherwise, fix the fields and press
Enter. - Pick the Anime or Live action tab. Switching tabs repeats the search.
- Select an entry, then select a file. Files are filtered to the current episode. Click Broaden search (all files) to see every file in the entry.
The file is saved next to the video (or to a temp directory for streams) and loaded into mpv as a new subtitle track.
| Key | Action |
|---|---|
Enter | Search, or select the highlighted item |
Up / Down | Move through entries or files |
Left / Right | Switch tabs |
Escape | Close |
You can also open the modal with subminer app --open-jimaku, or change the shortcut with shortcuts.openJimaku.
Open automatically when a video has no Japanese subtitles
Set jimaku.autoOpenWhenPrimarySubtitleMissing to true to skip the shortcut. When a local video loads without a subtitle track in youtube.primarySubLanguages (Japanese by default), SubMiner pauses playback about a second after the video loads and opens the Jimaku modal, so you can pick a subtitle before watching. Playback stays paused while the modal is open and resumes when it closes, whether or not you picked a subtitle. On a cold start it resumes once subtitle processing is ready, as usual, and a pause you made yourself before the modal opened is kept.
A single unlabeled sidecar file (such as episode.srt next to the video) counts as a Japanese track, matching how SubMiner auto-selects local subtitles. An embedded track with no language tag does not, so the modal still opens for it. Audio files, streams, YouTube, and Jellyfin playback are not checked.
{
"jimaku": {
"autoOpenWhenPrimarySubtitleMissing": true,
},
}The file name parser understands S01E03, 1x03, E03, EP03, and Title - 03 - patterns, and reads the season from a parent folder such as Season 2. It ignores bracket tags like [SubGroup] and year tags like (2024).
Options
| Key | What it does |
|---|---|
jimaku.apiKey | API key in plain text. |
jimaku.apiKeyCommand | Shell command that prints the API key. |
jimaku.languagePreference | Sorts files tagged with this language first: ja, en, or none. |
jimaku.maxEntryResults | Maximum entries per search. |
jimaku.apiBaseUrl | API address. Change only for a mirror. |
jimaku.autoOpenWhenPrimarySubtitleMissing | Pauses and opens the modal when a local video has no Japanese track. |
See Configuration for defaults.
Troubleshooting
"Jimaku API key not set." Set jimaku.apiKey or jimaku.apiKeyCommand. Run the command in your shell to confirm it prints only the key.
HTTP 429. You hit Jimaku's rate limit. Wait for the time shown in the message and retry.
No entries found. Search with just the show's name, without season or episode words. Jimaku matches against its own titles.
The subtitle downloads but does not load. SubMiner loads it over the mpv socket. Make sure mpv is still running and connected.
