Shopify's AI photo editor or an image API for a whole catalog

Shopify's file editor has built-in AI photo editing. When you have hundreds of SKUs for the holidays, here is when an image API like Sume's fits instead.

5 min readSume
All posts

Use Shopify's built-in AI photo editing for one-off fixes on a few products, and use an image API such as Sume's when the same edit has to run across a whole catalog or feed several channels. The two are not rivals: one lives inside the admin, the other is called from your own script.

Shopify's Winter '26 Edition page describes "pro-level AI editing tools, built into your file editor for studio-quality results" (read 2026-10-04). It is the current vendor page we could read; it describes editing inside the file editor and does not describe an API for batch jobs.

When is the built-in editor enough?

When a person opens an image, fixes it and moves on. A handful of products, a one-time cleanup, a merchant who never leaves the admin. There is nothing to wire up, and the result lands where the file already is.

When does an API pay off?

When the edit is repeatable, large or has to leave Shopify. Holiday season is the usual trigger: many SKUs, the same treatment, several channels.

Shopify's editor versus Sume's Image API, from each vendor's docs, read 2026-10-04
QuestionShopify file editor (per its page)Sume Image API (per docs)
Where it runsInside the file editor, including on mobileAny script or agent calling POST /v1/images
Reference photosNot stated on the pageUp to 16 references on openai/gpt-image-2.5
Transparent backgroundNot stated on the pagebackground: transparent on openai/gpt-image-2.5
Custom sizesNot stated on the pageCustom pixels, edges multiples of 16, max edge 3840 on GPT models
Audit trailNot stated on the pageEach call is a job; GET /v1/usage by job_id

What does a batch loop look like?

Send each product photo as a reference, with a stable Idempotency-Key per SKU, so a retry does not charge twice. Check the status code: 200 carries the image, 202 means poll the job.

import os, requests

H = {"Authorization": "Bearer " + os.environ["SUME_API_KEY"]}
skus = {"SKU-1": "https://example.com/1.jpg", "SKU-2": "https://example.com/2.jpg"}

for sku, url in skus.items():
    r = requests.post(
        "https://api.sume.com/v1/images",
        headers={**H, "Idempotency-Key": "shop-bg-" + sku},
        json={
            "model": "openai/gpt-image-2.5",
            "prompt": "Keep the product unchanged on a clean light backdrop",
            "input_references": [{"type": "image_url", "image_url": {"url": url}}],
            "metadata": {"sku": sku},
        },
        timeout=120,
    )
    print(sku, r.status_code)

How do you get the results back into Shopify?

Sume returns hosted URLs. Upload them to the product through Shopify's own admin or API according to Shopify's current docs; this post does not cover that step. Review a sample before you push a batch, because a model can alter label text or small details, and the customer sees the picture, not your prompt.

Sources

Related posts

More in Comparisons

All Comparisons posts

Written by Sume