Good question, but there is no obvious answer.
It will depend on what you want to achieve.
Lets see what others are doing. Scryfall for example, they don’t give a shit about performance, they just have 1 endpoint for a cards info data which also has the price of it and links to everything from the cards images (small, normal, large) to every store where you can buy the card. It’s just a big response.
If you have saved all the cards data, you need to call this api endpoint to fetch the price and therefor receive unnecessary info, but if your app goal is not to save anything and fetch data every time as users use it, it may make sense to have all this data fetched from 1 api call.
But again, if a user is accessing the same card over and over, you will have unnecessary info fetched without any need. If you multiply this for hundred of thousands of users you are wasting a lot of traffic data, response times and server costs. I do not have the data for how many users/requests are being made and neither the server costs, but I wouldn’t do it this way.
That said, the answer to you question depends if you want to make the api for user to save the data on their apps or to have it being fetched every time a users search’s the card on their app.
Then, it also depends on the way you want to document suff.
So, I have four answers for you:
1 - Easy way:
2- The low characters way:
3 - The, I want to save as many characters as possible way:
I would create for every card in my system a _30w version (thumbnail), the normal _200w and the original version (the big image) with no width at all, all this images would have the ID of the card with the correspondent _000w, I would write this on the documentation of the API and devs would just have to use the ID (which always comes in the API endpoint) with the Pointer URL to fetch the image that they which.
4 - The, I want save server costs as much as possible:
Use the 3 option and:
Create the media api endpoint - give access just to the devs that have scanners - for the HD image and have devs save it for their intended purpose (I personally don’t need HD images for my Scanning Engine to work ) of creating the descriptors. I wouldn’t like that devs would use the HD images on their app evey time a users access a cards info. If I did this in my apps would generate terabytes of downloaded images each month.
PS: Just a thought. For better server/data management, this may be better: