Recraft Flash draft then Refine: the closest rerun on Sume

Recraft's Refine regenerates a Flash draft at higher quality while keeping composition. Sume has no refine call or seed, so here is the nearest honest workflow.

5 min readSume
All posts

Recraft's V4.1 Flash is built for drafts, and its Refine function regenerates a picked image at higher quality while preserving the original composition and lighting decisions. Sume has no Refine endpoint and does not serve a seed, so the closest workflow there is to draft at a low quality or resolution, pick a winner, then re-run on an edit-capable model with the draft as an input_references image and a prompt that says to keep the composition.

Flash and Refine facts are from Recraft's Flash announcement, read 2026-10-03. Sume's parameters are from the Image API docs.

What Recraft announced

The post, dated September 23, 2026, reports a median of about 1.3 seconds for Flash, with an API median of 1.4 seconds and a 95th percentile of 1.8 seconds, and says it is live in Recraft Studio, the API and the mobile apps. It does not state a price in the article and does not mention vector output for Flash.

Draft-then-final in Recraft vs Sume (read 2026-10-03)
StepIn RecraftOn Sume
DraftV4.1 Flash, about 1.3s medianA cheap model or a low quality / resolution
Keep the compositionRefine on the picked imagePass the draft in input_references on an edit-capable model
Reproduce a resultNot stated on the pageseed is in the schema but no model advertises it, so it returns 400

A rerun on Sume

The docs say seed and output_compression are schema-only today, so sending one returns 400 unsupported_parameter. A final from a draft therefore needs the draft itself as the reference.

import os
import requests

key = os.environ["SUME_API_KEY"]
payload = {
    "model": "openai/gpt-image-2.5",
    "prompt": "Keep this composition and lighting exactly; re-render at final quality with cleaner detail",
    "input_references": [
        {
            "type": "image_url",
            "image_url": {
                "url": "https://example.com/draft.png"
            }
        }
    ],
    "quality": "high"
}
resp = requests.post(
    "https://api.sume.com/v1/images",
    headers={"Authorization": f"Bearer {key}"},
    json=payload,
    timeout=60,
)
if resp.status_code == 200:
    print([item["url"] for item in resp.json()["data"]])
elif resp.status_code == 202:
    print("still running:", resp.json()["data"]["status_url"])
else:
    print(resp.status_code, resp.text)

Limits

This is a different model re-interpreting the draft, not Recraft's Refine, so faces, text and small objects can shift; compare against the draft before you ship. The Recraft model Sume lists may not take references at all, which is why the example uses an edit-capable model; check input_references in the catalog for the model you pick.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume