You mention that your users would upload data using a web form. This form will probably save this data somewhere, along with the logo file (eg. Google Drive).
Then, you’ll download the file and use it to generate the prompt. Depending on the model you choose, you get the option to pass an image file in the user message.
I haven’t tested this with OpenAI app yet, but I believe the model accepts this image because of its vision capabilities, meaning it will probably try to “read” the image. But it’s worth it giving it a try.
I do use this scenario a lot with Anthropic Claude, but only to extract info from the images.