mtg-chair-ai/README.md

1.9 KiB

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

  1. Clone the repository.
  2. Run npm install to install dependencies.
  3. Obtain card data as JSON from scryfall. Data should be an array of card objects as defined by the scryfall API docs
  4. 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>
  1. Run node generate-card-captions.js -i <path_to_scryfall_data.json> to generate card captions.

    1. Add -o <output_file.json> to specify an output file.
    2. Add -a <api_version> to specify the Azure Cognitive Services API version.
    3. Add -m <model_version> to specify the Azure Cognitive Services model version.
  2. If you want to search generated captions, currently you must modify search-cards.js to include the keywords you want to search for. Then run node 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.