Playing AI Dungeon
Common Questions
Story Cards Import and Export
Purpose
There are now a million ways to generate small bits of text, and most of them are outside of AI Dungeon. For example, you could give pretty much any mainstream LLM nowadays an example of a good Story Card, then get it to generate a thousand more for you.
So, to better facilitate that innovation, you can now use any method to create Story Cards, and can then import those cards right into an AI Dungeon Scenario or Adventure!
User Interface
You can find the Story Card Import and Export buttons at the bottom of the Details tab of the Scenario Editor or the Adventure Editor.

Technical Details
Exporting
Story cards will be exported to a JSON file. No other formats are currently supported.
The structure of the JSON file is a single array containing a list of Story Card objects, like so:
Keys represent the triggers of a card.
Value is the Story Card’s entry.
Description is the Story Card’s notes.
Type and Title are the same as they appear in the user-facing UI.
useForCharacterCreator is a true/false check for whether or not the card can be selected when in Character Creator scenario. Don’t worry about this if it isn’t relevant to you.
Importing
Story Cards can be imported from a JSON file. No other formats are currently supported. If multiple files are selected, only the first file will be imported.
The structure of the JSON file must be a single array containing a list of Story Card objects.
Only keys and value are required fields, the rest of the fields are optional.
If an import file is not a valid JSON format, an error will be shown.
Values in an import array that do not match the correct format will be ignored.
If you’re not sure why an import is failing, try a JSON validator, like this one.
Any duplicate Story Cards will be automatically removed, but only if they have the exact same exact Triggers (keys) and Entry (value).
FAQ
Why isn’t Story Card import/export supported on the App?
Working with and interacting with the native file system through the App is much more tricky than it is over Web, and currently would require more overhaul than it’s currently worth.
To put it simply, we don’t have the implementation to support it yet—but it’s possible that this might change in the future.
Why does import replace all of the Story Cards instead of just adding to them?
Replacing the Story Cards on import gives you the maximum amount of power with the minimum amount of complexity. For example, if you want to remove all of the Story Cards from a Scenario or Adventure, you could import an empty array, and all of the Story Cards would be removed. Supporting the same range of behavior without doing a full replacement would require a much more complex interface.
You can also easily add importable Story Cards to your existing Story Cards, by exporting the existing ones and combining both jSON files into one. (Most LLMs can do this for you, if you’re unsure how to—just upload both files and tell it to combine them!)
Why aren’t duplicate Story Cards allowed?
It's very easy to accidentally create massive amounts of duplicate Story Cards, and if they go unnoticed, they can cause extreme bloat in context. So, exact duplicates get purged when importing.
However, note that this only applies if all of the keys are exactly the same, so you could have human,king and human,queen as separate keys, and that's fine since the combination is different. You could even technically have human,king and king,human if you want. The one case you can’t have is two separate Story Cards for human,king and human,king where all of the keys are exactly the same and are in exactly the same order.