Sure, here is the proofread and improved version of your text:
---
ZombieSleeve wrote:Sounds like a cool idea! What's the comparison set? Would newly added cards be available as soon as they're on Scryfall for instance?
This is a good question and one I hadn't even considered while tinkering with this project. There isn't a "comparison set" per se, but the GPT-4o API has a knowledge cutoff date of October 2023. This might seem problematic for adding newer sets to your collection, but this is where large language models, especially multi-modal ones like GPT-4o, really shine.
As an experiment, I downloaded this picture and fed it into the script:
The results were quite interesting given the October 2023 cutoff. This is what was returned (apologies for the JSON format; the script's prompt requests the response to be formatted this way):
{
"card_name": "Leonardo da Vinci",
"set_code": "ACR",
"set_name": "Alchemy Horizons: Adventures in the Forgotten Realms",
"card_number": 20,
"foil": "no"
}
Not perfect, but pretty good all things considered! More information can be returned, but this is all the current prompt in the script asks for. Even though the set isn't released , this would be good enough to accurately populate the CSV. I haven't done this yet, but I plan to modify the script so that it compares the set code from the card with the official deckbox sets and editions list (https://deckbox.org/editions). This would ensure the generated CSV isn't considered invalid due to minor discrepancies between official set names/codes and what's used on Deckbox. Another benefit of doing it this way is that the script would only need to return the card name, card number, and set code to generate an accurate CSV, meaning as soon as the set is added to Deckbox, it would function properly.
There is another OpenAI endpoint, the "Assistants" endpoint, that I'd eventually like to move this project over to. The Assistants endpoint would be better for this project for several reasons, but one of the more interesting ones is that the responses aren't limited by the knowledge cutoff of the language model. The Assistants endpoint allows several different "tools" to be called, one of which is the ability to search the internet. Sending the same prompt as above to the Assistants endpoint and giving it permission to search returns the following response:
{
"card_name": "Leonardo da Vinci",
"set_code": "ACR",
"set_name": "Universes Beyond: Assassin's Creed",
"card_number": "20",
"foil": "no"
}
Completely accurate information for a set that isn't even out yet. And that's not all—you can prompt it to return a wealth of information. Your imagination is the limit:
{
"card_details": {
"card_name": "Leonardo da Vinci",
"set_code": "ACR",
"set_name": "Universes Beyond: Assassin's Creed",
"card_number": 20,
"foil": "yes",
"card_type": "Legendary Creature",
"subtype": "Human Artificer",
"mana_cost": "{2}{U}",
"converted_mana_cost": 3,
"rarity": "Mythic Rare",
"text": [
"{3}{U}{U}: Until end of turn, Thopters you control have base power and toughness X/X, where X is the number of cards in your hand.",
"{2}{U}, {T}: Draw a card, then discard a card. If the discarded card was an artifact card, exile it from your graveyard. If you do, create a token that’s a copy of it, except it’s a 0/2 Thopter artifact creature with flying in addition to its other types."
],
"power": "3",
"toughness": "3",
"artist": "Wangjie Li",
"legalities": {
"Standard": "Not Legal",
"Modern": "Legal",
"Legacy": "Legal",
"Vintage": "Legal",
"Commander": "Legal",
"Brawl": "Not Legal",
"Pioneer": "Not Legal",
"Historic": "Not Legal",
"Pauper": "Not Legal",
"Penny": "Not Legal",
"Oathbreaker": "Legal"
},
"release_date": "2024-07-05",
"printings": [
{
"type": "Nonfoil",
"price": "11.50 USD"
},
{
"type": "Foil",
"price": "19.99 USD"
},
{
"type": "Borderless",
"price": "20.79 USD"
},
{
"type": "Borderless Foil",
"price": "23.00 USD"
}
]
},
"gameplay_strategies_and_combos": {
"gameplay_strategies": [
"Thopter Token Generation: Leonardo da Vinci can turn your Thopter tokens into powerful threats based on the number of cards in your hand. This makes it ideal for decks that can draw a lot of cards quickly.",
"Artifact Synergy: The card draw and discard ability can be used to create additional Thopter tokens, which synergizes well with other artifact-related cards."
],
"possible_combos": [
"With The Reality Chip: Equip The Reality Chip to Leonardo da Vinci to continuously manipulate the top of your deck, maximizing your hand size and thus the power and toughness of your Thopters.",
"With Sai, Master Thopterist: Generate additional Thopter tokens whenever you cast artifact spells, further enhancing Leonardo da Vinci’s abilities.",
"With Master Transmuter: Use Master Transmuter to cheat expensive artifacts into play, then discard them to create Thopter tokens using Leonardo da Vinci's ability."
],
"deck_builds": [
"Artifact Focused Deck: Build a deck around artifact synergies, including cards like Thopter Assembly, Wurmcoil Engine, and Etherium Spinner.",
"Card Draw Mechanics: Include cards that draw you cards consistently, such as Curiosity Crafter and Skyscanner, to maintain a high hand size and boost your Thopters."
],
"tips_and_tricks": [
"Maximize Card Draw: Use cards that allow you to draw multiple cards to keep your hand size large, making your Thopters stronger.",
"Protect Leonardo: Include protection spells and abilities, like Spellskite, to keep Leonardo da Vinci on the battlefield and functioning."
],
"interesting_info": [
"Leonardo da Vinci’s abilities are designed to make use of both card draw and artifact synergies, fitting well into decks that already focus on these strategies.",
"The card's flavor ties in with Leonardo's historical association with invention and creation, making it a flavorful addition to any deck that enjoys thematic builds."
]
}
}
Long story short, this project could be easily modified to fulfill nearly any purpose, and the information would be available at the same time (or possibly before) it's available on Scryfall. Anyhow, I'd like to move this project to the Assistants API in the future, but this is my first time working with Python and APIs, and the Assistants API is a bit more complicated to use than the basic GPT-4o one. Hopefully, I can do this sometime soon!
Ultimately, there are apps and websites out there that can scan cards faster and with less effort. I'm just having fun with this project because I wanted to explore using AI and Python, and this is what I landed on. Thanks for checking it out!
---