Henry Hobbs
569d1abd1c
Added json files to gitignore Updated documentation |
||
---|---|---|
.gitignore | ||
README.md | ||
card-search.js | ||
generate-card-captions.js |
README.md
MTG Visual Search Scripts
This repository contains scripts to search for Magic: The Gathering cards by image contents.
generate-card-captions.js
This script takes a JSON file from scryfall.com containing card data. It generates a JSON file containing card names, IDs, and captions for each card. The captions are generated using Azure Cognitive Services Computer Vision API.
search-cards.js
This script takes the output of generate-card-captions.js and searches the card captions for keywords provided and outputs another JSON file containing the results.
Requirements
- Node.js
- Azure Cognitive Services Computer Vision API key and endpoint
Usage
- Clone the repository.
- Run
npm install
to install dependencies. - Obtain card data as JSON from scryfall. Data should be an array of card objects as defined by the scryfall API docs
- Create a
.env
file in the root directory with the following contents:
AZURE_VISION_RESOURCE_URL=https://<your-resource-url>.cognitiveservices.azure.com/
AZURE_VISION_SUBSCRIPTION_KEY=<your-subscription-key>
-
Run
node generate-card-captions.js -i <path_to_scryfall_data.json>
to generate card captions.- Add
-o <output_file.json>
to specify an output file. - Add
-a <api_version>
to specify the Azure Cognitive Services API version. - Add
-m <model_version>
to specify the Azure Cognitive Services model version.
- Add
-
If you want to search generated captions, currently you must modify
search-cards.js
to include the keywords you want to search for. Then runnode search-cards.js
to search the captions. Maybe I'll add command line arguments for this in the future, idk. Alternatively, check out the MTG Visual Search Web App for a clean interface to search for cards.