Midjourney Run as HD: rerun at higher quality when Sume has no seed

Midjourney's Run as HD reruns a standard job at higher quality. Sume has no seed, so a rerun is a new image. Here is how to keep the composition anyway.

5 min readSume
All posts

Midjourney V8.1 added a "Run as HD" button that reruns a standard-resolution job at higher quality without restarting. If you expect the same from the Sume image API, know the catch first: Sume does not serve seed, and a request that sets it returns 400 unsupported_parameter. A second call with quality: high is therefore a new image, not a sharper copy of the first. To keep the composition you chose, send the draft back as a reference.

What the vendor says

From Midjourney's V8.1 Alpha post.

Midjourney V8.1 quality facts, read 2026-10-02
ItemWhat the page says
HD mode3x faster and 3x cheaper, and now defaults in V8.1.
Standard resolution50% faster and 25% cheaper than previous versions.
Run as HDA button to rerun standard resolution jobs at higher quality without restarting.

What Sume documents

In the Image API docs, seed is part of the schema but no model advertises it, so it returns 400 unsupported_parameter. quality accepts auto, low, medium, high, xhigh or max where the catalog lists it; for ChatGPT Image 2.5 an omitted quality defaults to high.

That means the pattern is: draft at low, choose, then render the keeper at a higher quality. The change from Midjourney is in the middle step, because the keeper must be steered back to the draft.

Keep the composition: draft as the reference

Send the chosen draft as an input_references entry on ChatGPT Image 2.5 and tell the model to keep the layout. Use aspect_ratio: "auto" so the output matches the draft's shape. Expect fine details to change; what you gain is the arrangement.

import os, requests

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
draft_url = "https://media.sume.com/img/EXAMPLE/0.png"  # your low-quality pick

r = requests.post("https://api.sume.com/v1/images", headers=H, timeout=60, json={
    "model": "openai/gpt-image-2.5",
    "prompt": "Re-render this image at final quality. Keep the exact layout, "
              "subject placement, colours and framing; sharpen detail and text.",
    "quality": "high",
    "aspect_ratio": "auto",
    "input_references": [{"type": "image_url", "image_url": {"url": draft_url}}],
})
print(r.status_code)
print(r.json())

Cost and limits

Each call is billed on completion, and the response usage.cost shows the USD amount. Compare a draft plus a final against one direct final to see whether the draft step saves money for your prompts; it helps most when you reject many drafts.

The reference must be a public HTTPS URL. If it expires or is private, Sume cannot fetch it and the request fails before generation.

  • Draft at low and judge direction, not detail.
  • Final at high or above with the draft as reference.
  • Do not expect pixel-identical output; there is no seed.

When to skip the draft

If a prompt is cheap to get right, such as a plain product-on-white shot, render once at the final quality. Drafts pay off when composition is uncertain and attempts are many.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume