Midjourney V8.2 personalization profiles: the Sume substitute
Midjourney V8.2 builds personalization profiles from your image ratings. The Sume image API has none; a brand brief plus reference images does the same job.

Midjourney V8.2 ships better personalization: profiles built from the images you have rated, with a larger pool of images to learn from. The Sume image API has no per-user taste profile and does not learn from your ratings. What you can do is write your taste down: a short brand brief in the prompt and a fixed set of reference images in input_references. That gives consistent output you can version and share.
What Midjourney says
From the Version 8.2 post and the 9/23 changelog.
| Item | What the page says |
|---|---|
| Released | V8.2 on July 24, 2026. |
| Personalization | Better comprehension of individual preferences, especially with extensive rating histories. |
| Profiles | A much larger and improved pool of images for creating personalization profiles. |
| 9/23/26 | New Style Profiles and Featured tabs with detail pages. |
What replaces a profile on Sume
A profile is hidden state. On Sume you make that state explicit and put it in the request. Two parts carry most of the effect.
- A brief of three to five sentences: subject matter, lighting, palette, mood, and what to avoid, written positively.
- Reference images chosen from your own best work, sent as
input_references. Models differ in how many they take, so read theinput_referencesrange for the model you pinned. - A pinned model id and quality, so a change of model never silently changes the look.
A reusable profile file
Store the profile as data so it is reviewed like code. The request builder reads it and sends the brief as the start of every prompt.
import json, os, requests
profile = {
"model": "openai/gpt-image-2.5",
"brief": "Warm natural light, muted earth palette, calm minimal sets, no neon.",
"refs": ["https://example.com/ref1.jpg", "https://example.com/ref2.jpg"],
}
def render(subject):
r = requests.post(
"https://api.sume.com/v1/images",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
timeout=60,
json={
"model": profile["model"],
"prompt": f"{subject}. {profile['brief']}",
"aspect_ratio": "auto",
"input_references": [
{"type": "image_url", "image_url": {"url": u}} for u in profile["refs"]
],
},
)
return r.status_code, r.json()What you give up
A rating-based profile improves as you rate more images. A file does not, unless you update it. Review it monthly: add new best-of references, drop stale ones. Also note that references steer a model but do not train it; Sume's image API lists no fine-tuning or custom-model endpoint in the docs.
See the related post on style references for how the reference approach compares with Midjourney's sref codes.
Checks before you rely on it
Run the profile through a few unrelated subjects and look for the same palette and mood. If a reference dominates too much, swap it for a plainer one. If the brief is ignored, shorten it.
Sources
Related posts
More in Use cases
- Translate text inside an image: one Nano Banana 2 edit per language
Google says Nano Banana 2 can translate and localize text within an image. Loop one edit per language through Sume POST /v1/images and keep the layout fixed.
- New York FAIR News Act: AI video labels and what is pending
New York's FAIR News Act would require a label on news video substantially made by generative AI. It awaits the governor; here is what the sources say.
- New York synthetic performer ad law: dubbing and audio-only exceptions
New York S8420A exempts AI used only to translate a human performer's language, audio-only ads and expressive works. What that means for a dubbed ad.
- Nextdoor ad images: 1080x1080 or 2:1, 30 MB, 120-char headline
Nextdoor image ads use 1:1 at 1080 x 1080 or 2:1 at 1080 x 540, JPG or PNG up to 30 MB. Make the 1:1 with Sume and crop a 2:1 locally.
Written by Sume