# \[Userscript\] WaniKani Mnemonic Images

**URL:** <https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958>\
**Category:** API And Third-Party Apps\
**Created:** [August 20, 2024, 12:50pm UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958 "2024-08-20T12:50:00Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![duffey](https://sea1.discourse-cdn.com/wanikanicommunity/user_avatar/community.wanikani.com/duffey/32/707729_2.png) [@duffey](https://community.wanikani.com/u/duffey)\
**Post date:** [August 20, 2024, 12:50pm UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/1 "2024-08-20T12:50:00Z")

</div>

Generate and display mnemonic images on [WaniKani](https://www.wanikani.com/).

 ![screenshot_1](https://global.discourse-cdn.com/wanikanicommunity/original/4X/6/6/2/662cc7c2505f37da80aa4b615b7e512caf1d9a34.jpeg)  
 ![screenshot_2](https://global.discourse-cdn.com/wanikanicommunity/original/4X/5/4/e/54eeab7b784b3af6b3ae8c15357e0820bb06af7e.jpeg)  
 ![screenshot_3](https://global.discourse-cdn.com/wanikanicommunity/original/4X/5/6/8/5684f14f4349384558dd15de44b98f8024a2592c.jpeg)

## Install

1. Install TamperMonkey:

2. Install the [Userscript](https://github.com/duffey/wanikani-mnemonic-images/raw/main/wanikani-mnemonic-images.user.js).

## Usage

Any images previously generated by a user will be displayed on their respective subject pages and during reviews.

If an image has yet to be generated, a button will be shown allowing you to generate one.

## Source Code

The API server code and the UserScript are hosted on GitHub [here](https://github.com/duffey/wanikani-mnemonic-images).

---

<div class="post-metadata">

**Author:** ![duffey](https://sea1.discourse-cdn.com/wanikanicommunity/user_avatar/community.wanikani.com/duffey/32/707729_2.png) [@duffey](https://community.wanikani.com/u/duffey)\
**Post date:** [August 21, 2024, 10:26am UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/2 "2024-08-21T10:26:37Z")

</div>

Here are some good ones I generated.

## 温厚/Mild-Mannered (Vocabulary) - Reading

> This is a jukugo word that uses the on’yomi readings of the kanji. You already know the on’yomi for 温, but not for 厚, so here’s a mnemonic to help you remember it:
> 
> The most mild-mannered Tofugu staff has to be onion こういち. It’s an onion that jumps in for こういち whenever he’s not at the office. He’s the most gentle soul you could imagine, never yelling at anyone. The ideal boss, really.

 ![09065_reading](https://global.discourse-cdn.com/wanikanicommunity/original/4X/8/4/f/84fb50e2a38a3e17780846bb7def55239e92b687.jpeg)

## 臓/Storehouse (Kanji) - Meaning

> Mnemonic
> 
> Your moon storehouse is another storehouse you own. Remember how your regular storehouse holds zombies (from the kanji 蔵?). Your moon storehouse is on the moon, and it is filled with internal organs.

 ![01546_meaning](https://global.discourse-cdn.com/wanikanicommunity/original/4X/8/d/d/8dd2e069c5fd91c289f07b2bee3b4a86282197b6.jpeg)

## 騒/Boisterous (Kanji) - Meaning

> Mnemonic
> 
> A horse gets trapped in a small room with a stool and an insect, and together they create a very boisterous situation. The horse and the insect are both scrambling frantically to get out of the small room, knocking the stool around all over the place.

 ![01439_meaning](https://global.discourse-cdn.com/wanikanicommunity/original/4X/a/5/b/a5b0df6548eb1becf48cbaef6ee196caf2bf2d7d.jpeg)

---

<div class="post-metadata">

**Author:** ![Inserio](https://sea1.discourse-cdn.com/wanikanicommunity/user_avatar/community.wanikani.com/inserio/32/92_2.png) [@Inserio](https://community.wanikani.com/u/Inserio)\
**Post date:** [August 21, 2024, 4:00pm UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/3 "2024-08-21T16:00:13Z")

</div>

Interesting. Reminds me of the [similarly named project](https://community.wanikani.com/t/new-volunteer-project-were-using-ai-to-create-mnemonic-images-for-every-radical-kanji-vocabulary-come-join-us/58234), though I don’t know if that has seen any development in a long while.

On a different topic.  
I know this would probably be a lot harder, but if there was a way to hook into [chatgpt.com](http://chatgpt.com) rather than the API, that would allow it to work for people using Plus.

---

<div class="post-metadata">

**Author:** ![duffey](https://sea1.discourse-cdn.com/wanikanicommunity/user_avatar/community.wanikani.com/duffey/32/707729_2.png) [@duffey](https://community.wanikani.com/u/duffey)\
**Post date:** [August 22, 2024, 3:05am UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/5 "2024-08-22T03:05:51Z")

</div>

I learned that sharing OpenAI API keys is against the TOS, so I modified the backend to use my own API key. I set a limit of $50/month, which will allow for 1250 images/month. If this script blows up I will figure something else out, but for now it’s on me!

---

<div class="post-metadata">

**Author:** ![duffey](https://sea1.discourse-cdn.com/wanikanicommunity/user_avatar/community.wanikani.com/duffey/32/707729_2.png) [@duffey](https://community.wanikani.com/u/duffey)\
**Post date:** [August 22, 2024, 3:17am UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/6 "2024-08-22T03:17:30Z")

</div>

Also, I don’t think there is a way to call the image generation API with a Plus subscription. I think the best you could do is a userscript that runs on the ChatGPT page simultaneously and posts the images, but then my server would have to verify that the images are legit and not malicious.

---

<div class="post-metadata">

**Author:** ![Inserio](https://sea1.discourse-cdn.com/wanikanicommunity/user_avatar/community.wanikani.com/inserio/32/92_2.png) [@Inserio](https://community.wanikani.com/u/Inserio)\
**Post date:** [August 22, 2024, 6:19pm UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/7 "2024-08-22T18:19:13Z")

</div>

I can’t see how the way it was implemented could be considered sharing of keys, unless you were storing a person’s key globally, which is unlikely based on the way it functioned.  
Each person only used a single key to do a particular task. The end result of that gets collected into something for a shared project, but there’s no direct connection between the use of the API and the shared project.

But if you wanna feel safe that’s fine, and the route you’ve chosen is admirable.

---

<div class="post-metadata">

**Author:** ![cometsands](https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/wanikanicommunity/original/3X/f/d/fd4c154120954695f788402f3bcf4e616499bc2d.png) [@cometsands](https://community.wanikani.com/u/cometsands)\
**Post date:** [July 10, 2025, 11:09pm UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/8 "2025-07-10T23:09:49Z")

</div>

Dear Creator, not sure if something broke or is it just for me. Previously created images seem to show up just fine, but the button to generate new images doesn’t seem to work (at least for me) right now.

I reinstalled the script, cleaned cookies and stuff:

 ![chrome](https://global.discourse-cdn.com/wanikanicommunity/original/4X/0/e/2/0e2584640c3fc8c95cb443fffb9acc879ae5be3e.jpeg)

I even installed Firefox just to be sure haha

 ![firefox](https://global.discourse-cdn.com/wanikanicommunity/original/4X/e/4/2/e42a497198a781626cb411a50f58a3799009f2ba.png)

---

<div class="post-metadata">

**Author:** ![catwithcookiesandtea](https://sea1.discourse-cdn.com/wanikanicommunity/user_avatar/community.wanikani.com/catwithcookiesandtea/32/703231_2.png) [@catwithcookiesandtea](https://community.wanikani.com/u/catwithcookiesandtea)\
**Post date:** [July 10, 2025, 11:42pm UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/9 "2025-07-10T23:42:01Z")

</div>

Not gonna lie. These images are kinda disturbing 😳

---

<div class="post-metadata">

**Author:** ![duffey](https://sea1.discourse-cdn.com/wanikanicommunity/user_avatar/community.wanikani.com/duffey/32/707729_2.png) [@duffey](https://community.wanikani.com/u/duffey)\
**Post date:** [July 13, 2025, 8:05am UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/10 "2025-07-13T08:05:34Z")

</div>

Sorry, my account balance was just empty. I stopped using the extension and WaniKani again 😭. I added some more money so it works now.

Also, it seems like image generation has gotten a bit better, so I may upgrade the API used to generate images.

---

<div class="post-metadata">

**Author:** ![duffey](https://sea1.discourse-cdn.com/wanikanicommunity/user_avatar/community.wanikani.com/duffey/32/707729_2.png) [@duffey](https://community.wanikani.com/u/duffey)\
**Post date:** [July 13, 2025, 8:06am UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/11 "2025-07-13T08:06:25Z")

</div>

Blame the mnemonics! LOL

---

<div class="post-metadata">

**Author:** ![duffey](https://sea1.discourse-cdn.com/wanikanicommunity/user_avatar/community.wanikani.com/duffey/32/707729_2.png) [@duffey](https://community.wanikani.com/u/duffey)\
**Post date:** [July 13, 2025, 9:24am UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/12 "2025-07-13T09:24:34Z")

</div>

I updated the API to use the new gpt-image-1 instead of dalle-3.

---

<div class="post-metadata">

**Author:** ![cometsands](https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/wanikanicommunity/original/3X/f/d/fd4c154120954695f788402f3bcf4e616499bc2d.png) [@cometsands](https://community.wanikani.com/u/cometsands)\
**Post date:** [July 19, 2025, 2:27am UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/13 "2025-07-19T02:27:12Z")

</div>

Oh didn’t know you had to use money for this, sorry… It works perfectly now, tysm!

---

<div class="post-metadata">

**Author:** ![RonySong](https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/wanikanicommunity/original/3X/f/d/fd4c154120954695f788402f3bcf4e616499bc2d.png) [@RonySong](https://community.wanikani.com/u/RonySong)\
**Post date:** [July 21, 2025, 3:29am UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/14 "2025-07-21T03:29:15Z")

</div>

Is it possible to remove an already generated image?

---

<div class="post-metadata">

**Author:** ![duffey](https://sea1.discourse-cdn.com/wanikanicommunity/user_avatar/community.wanikani.com/duffey/32/707729_2.png) [@duffey](https://community.wanikani.com/u/duffey)\
**Post date:** [August 9, 2025, 12:04pm UTC](https://community.wanikani.com/t/userscript-wanikani-mnemonic-images/66958/15 "2025-08-09T12:04:56Z")

</div>

No, not at the moment. I haven’t thought about it. I know sometimes the images are bad, but also I wouldn’t want malicious people to remove the images for no reason.
