How to use viewport frames (or alternative)

Hello everyone. I have a crafting/backpack system. In each management script, I have a dictionary for the object’s name, and its corresponding image ID (which I uploaded one-by-one).
For example:

local imageID = {
	["WoodWall"] = "rbxassetid://10136829488",
	["WoodDoor"] = "rbxassetid://10137519575",
	["Bonfire"] = "rbxassetid://10137534480",
}

However, these icons are all quite bad:


Additionally, I also would rather have the items have a transparent background.

I heard I could use viewport frames, but i’m wondering whether there’s a way to automate it with my current framework? (Automate the adding of the items into the dictionary. I already have all the instances in the table, so it could be possible). Otherwise, i can just reupload all 20 images.