Issue Uploading Image via GraphQL API on Trial Store

Dear Shopify Team,

I have encountered an issue while attempting to upload an image using the GraphQL API ( productCreateMedia - GraphQL Admin ) to a store that is currently in its trial period.

The error message returned is:
“The file is not supported on trial accounts. Select a plan to upload this file.”

I attempted to upload the following image:
https://image.syncee.com/v1/images/kankuamo-small-mochila-10-39259611365590.png?url=https%3A%2F%2Fcdn.shopify.com%2Fs%2Ffiles%2F1%2F2062%2F2623%2Fproducts%2Fclaudiag-lks10-10-claudiag-lush-kankuamo-small-mochila-10-39259611365590.png%3Fv%3D1678034746&extension=png

I have verified the metadata and content type of the image, and everything appears to be in order.

Additionally, I cannot upload the same image directly via the Shopify Admin product page (getting the same error)

According to your documentation, .png images should be supported even on trial accounts. Could you please clarify this behavior or advise on how I can resolve the issue?

Thank you for your assistance.

1 Like

Hey @Levente_Kovacs

Can you share an example of the mutation and the request id from the response headers?

Since you are seeing this in the admin as well as through the API it does seem like a plan limitation, but as you mentioned, PNG’s should still be supported.

When you test in the admin, did you upload via URL or did you upload the image directly? I would be curious to see if you get a different outcome from either of those?

Hi @KyleG-Shopify

Could you please try this on the admin using a PNG or JPG hosted on a Shopify CDN?
We ran into an error in that case as well (I tried it in a trial store with an URL) –

I tried many URL. But here is one example: https://gardino.hu/cdn/shop/products/prosperplast-kerti-kiegeszitok-aqua-can-esovizgyujto-360l-37235260096741.png?v=1651157413&width=800

And attached the error message in a screenshot:

Hi @KyleG-Shopify

In the admin, I tried to upload the image via URL.

The request ID is: 85c3e8f8-b964-4606-b562-193e04d46f88-1747208372
Let me attach the full mutation:

“mutation productCreateMedia($media: [CreateMediaInput!]!, $productId: ID!) {
productCreateMedia(media: $media, productId: $productId) {
media {
id,
alt
}
product {
id
}
mediaUserErrors {
field
message
}
}
}”

Variables:
{“media”:[{“alt”:“Appiccicoso Ohrringe-0”,“originalSource”:“https://image.syncee.com/v1/images/6824467fadf99.png?url=https%3A%2F%2Fcdn.shopify.com%2Fs%2Ffiles%2F1%2F0500%2F3460%2F6231%2Ffiles%2F70E7CDBF-4F3C-447F-8C4D-F871BC5B6E11.jpg%3Fv%3D1734284455&extension=png”,“mediaContentType”:“IMAGE”},{“alt”:“Appiccicoso Ohrringe-1”,“originalSource”:“https://image.syncee.com/v1/images/6824467fae027.png?url=https%3A%2F%2Fcdn.shopify.com%2Fs%2Ffiles%2F1%2F0500%2F3460%2F6231%2Ffiles%2F0173BD5E-D59B-4CD4-9BE2-70D652BF6235.jpg%3Fv%3D1739191079&extension=png”,“mediaContentType”:“IMAGE”},{“alt”:“Appiccicoso Ohrringe-2”,“originalSource”:“https://image.syncee.com/v1/images/6824467fae07b.png?url=https%3A%2F%2Fcdn.shopify.com%2Fs%2Ffiles%2F1%2F0500%2F3460%2F6231%2Fproducts%2Fappiccicoso-ohrringe-475716.jpg%3Fv%3D1739191079&extension=png”,“mediaContentType”:“IMAGE”}],“productId”:“gid://shopify/Product/15410321162585”}

Response:
{
“data”: {
“productCreateMedia”: {
“media”: ,
“product”: {
“id”: “gid://shopify/Product/15410321162585”
},
“mediaUserErrors”: [
{
“field”: [
“media”,
“0”,
“originalSource”
],
“message”: “The file is not supported on trial accounts. Select a plan to upload this file.”
},
{
“field”: [
“media”,
“1”,
“originalSource”
],
“message”: “The file is not supported on trial accounts. Select a plan to upload this file.”
},
{
“field”: [
“media”,
“2”,
“originalSource”
],
“message”: “The file is not supported on trial accounts. Select a plan to upload this file.”
}
]
}
},
“extensions”: {
“cost”: {
“requestedQueryCost”: 20,
“actualQueryCost”: 20,
“throttleStatus”: {
“maximumAvailable”: 2000.0,
“currentlyAvailable”: 1980,
“restoreRate”: 100.0
}
}
}
}

Okay, I finally figured out that on your side, the image extension was being extracted incorrectly.
I mean, if I add a .jpg or .png query parameter to the end of the image URL, it works perfectly.
So you didn’t extract the proper extension of the image.
Example:
https://image.syncee.com/v1/images/kankuamo-small-mochila-10-39259611365590.png?url=https%3A%2F%2Fcdn.shopify.com%2Fs%2Ffiles%2F1%2F2062%2F2623%2Fproducts%2Fclaudiag-lks10-10-claudiag-lush-kankuamo-small-mochila-10-39259611365590.png%3Fv%3D1678034746&extension=png&anything=.png

Could you please fix it?

Thanks for doing those tests and sharing what you’ve found.

The issue does look to be related to the complex URL being used. We would recommend using a more simple URL. Based on your test above, the likely reason is because the extension wasn’t at the end of the URL, it was being processed as an unsupported type for a trial plan.

A more simple URL like: https://image.syncee.com/v1/images/kankuamo-small-mochila-10-39259611365590.png should work, or if your image host requires those paramaters, maybe the final .png would have worked too. https://image.syncee.com/v1/images/kankuamo-small-mochila-10-39259611365590.png?url=https%3A%2F%2Fcdn.shopify.com%2Fs%2Ffiles%2F1%2F2062%2F2623%2Fproducts%2Fclaudiag-lks10-10-claudiag-lush-kankuamo-small-mochila-10-39259611365590.png

I’ll share what you’ve found with our product teams and report back. I’m not sure it’s a bug at this point, but I will find out for sure.

2 Likes

I confirmed here, and what’s happening here is that the query strings after the primary URL are not being processed. Looking at the URL it appears to be using a proxy service to retrieve the image from the Shopify CDN. Since https://image.syncee.com/v1/images/kankuamo-small-mochila-10-39259611365590.png isn’t an image file itself, that’s leading to the error on trial stores.

You have found a good workaround. The alternative is to ensure that the primary URL is an image file.