Midjourney collaboration is 'upcoming'; hand off with Sume metadata
Midjourney's Oct 2 changelog lists collaborative generation and edit history as upcoming. On Sume, put a handoff note in the job metadata field.

Midjourney's Alpha Changelog dated Oct 2, 2026 announces "collaborative sharing and generation tools" and persistent edit history as upcoming, not shipped. Until they ship, a team passing image work between people needs its own handoff record. On Sume, the metadata field of POST /v1/images stores a caller-defined object on the job, and Sume does not send it to the provider.
What is and is not shipped
From the Midjourney post (read 2026-10-05) and the Sume Image API docs:
| Capability | Midjourney alpha | Sume Image API |
|---|---|---|
| Shared generation | Announced as upcoming | Not a product feature; share the job id and result |
| Persistent edit history | Announced as upcoming | Edit lineage is yours to record, in metadata |
| Caller notes on a job | Not stated | metadata object, stored on the job, not sent to the provider |
| Job lookup | Not stated | GET /v1/jobs/{id}/status and /result |
A handoff note in metadata
Treat metadata as a small, structured note that survives with the job. Put in what the next person needs: which brief, which step of the chain, and what to do next. Keep it short; the docs do not state a size limit, so do not store whole prompts or images in it.
import asyncio, os, httpx
async def main():
body = {
"model": "openai/gpt-image-2.5",
"prompt": "a flat-lay of a notebook and pencil, soft daylight",
"metadata": {"brief": "autumn-campaign", "step": 2, "next": "retouch the shadow"},
}
headers = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
async with httpx.AsyncClient(timeout=60) as c:
r = await c.post("https://api.sume.com/v1/images", headers=headers, json=body)
print(r.status_code, r.json().get("usage"))
asyncio.run(main())A workable team routine
No tool replaces agreeing on names. These conventions cost nothing.
- One brief key per campaign, the same in every request.
- One step number per edit, so the order is clear.
- Record the job id in your tracker; read status and result through the standard job endpoints.
- Do not put personal data in metadata.
Limits
This is a record, not live co-editing. Two people cannot work on one canvas, and the docs do not describe an API to query jobs by a metadata value, so keep your own index. When Midjourney ships its collaboration tools we will not know how they behave until its own pages describe them. See our post on team job visibility with Sume API keys for the access side.
Next step
Pick the two or three fields your team always asks about and put exactly those in metadata. A short note beats a long one that nobody fills in. If a field is not used after two weeks, remove it. And keep the Midjourney dates in mind: the Oct 2 changelog calls the collaboration tools upcoming, so revisit this when the vendor's own pages say they have shipped.
Sources
Related posts
More in Use cases
- Mixed-language recording: detach ranges, STT with a hint per range
Split a bilingual video into audio ranges with Sume audio detach, then transcribe each range with its own language_code. Detach output caps at 900 s.
- MSN's AI content policy: AIAC vs unreviewed AIGC for video makers
MSN separates AI-assisted content from unreviewed AI-generated content, and asks for disclosure now. What a Sume video publisher on MSN should do.
- A holiday music video from one Lyria track: 18 clips, about $23.50
Lyria track $0.125, eighteen 10-second Omni Flash clips at 720p $22.50, Timeline $0.30, captions $0.60. Total about $23.53 for 3 minutes.
- Music visualizer clip: MiniMax H3 Max, image plus audio reference
Make a 10-second visualizer from cover art plus a track excerpt with minimax-h3-max on Sume: $1.00 at 768p; audio alone is not a valid reference.
Written by Sume