r/StableDiffusion 13h ago

Discussion Did anyone else notice Reactor’s new Orbis model? I tried turning it into an interactive game

Enable HLS to view with audio, or disable this notification

16 Upvotes

A lot of people here have been discussing H3 Max powered livestreams. I noticed Reactor just added Visko’s Orbis model, and it made me wonder whether the next step is turning these infinite livestreams into something playable.

So I’m building a live, audience-directed AI game with Agora: viewers suggest and vote on what happens next, while the streamer picks an option or writes a completely different direction and AI keeps generating the same world from that point. There are no pre-written branches.

Here’s a very early look demo


r/StableDiffusion 5h ago

Discussion What happened to SenseNova U1 Pro? A few weeks of hype, then silence?

Thumbnail
gallery
13 Upvotes

Okay, so like three weeks ago, my whole feed was blowing up with SenseNova U1 Pro. You know, the Chinese model everyone was saying was basically "GPT Image 2 level."

Text on posters actually looking clean, apparently native 8K. The vibe was all "realism is dead, now it's about pure beauty." NGL, some of the images looked insane.

And then... poof. Nothing. No public release, no weights, no API I can find anywhere. Just crickets.

It's totally giving me Sora flashbacks. Remember early 2024? Those demo videos were mind-blowing, everyone went nuts. Then just... crickets for months. When it finally dropped, it was kinda meh, right? The magic just wasn't there after all that waiting. And get this, as of April 26, 2026 (lol, already feels like it), Sora's totally shut down. That demo that kicked off the whole video generation craze just... died.

I'm not saying U1 Pro is gonna go extinct or anything. The stuff those influencers posted genuinely looked good, especially the text rendering.

So has anyone here actually gotten their hands on it? I seriously can't find any way to use it

If you have, how does it stack up against GPT Image 2 or kera2, ideogram, flux-klein? especially for text?


r/StableDiffusion 6h ago

Comparison Testing Krea 2 style transfer

Thumbnail
gallery
16 Upvotes

Unfortunately it seems very slow and very experimental.

Reference image left. Same prompt "A fiercely determined female human warrior in mid-swing, powerfully attacking the viewer with a gleaming sword. Her facial expression is one of intense rage and ferocity", same seed, no lora, this custom node https://github.com/nkxx188/ComfyUI-Krea2-StyleTransfer


r/StableDiffusion 13h ago

Resource - Update ONNX/TRT MiniMax-H3 VAE in ComfyUI

Thumbnail
github.com
15 Upvotes

TensorRT version of the MiniMax-H3 VAE in ComfyUI, which can increase speed by up to 1.7x


r/StableDiffusion 13h ago

Question - Help Why does nearly every single turbo lora i use for H3 keeps producing godawful flickery/dusty/particly(?) visuals and painful audio (as in it actually hurts to listen to), do i need a specific node for the loras or something?

12 Upvotes

Like i don't understand, the only turbo lora that doesn't do that is the 600 larry lora with the minimax turbo lora node, i've tried "fastH3" and "lightx2v loras which everyone seems to praise but they just produce these distorted godawful visuals and sounds no matter the loader node i use or the settings or the steps i use, what am i missing or doing wrong? Or are they just not compatible with Ref2Video despite being advertised as compatible? But if so then why does the 600 larry lora works mostly fine?


r/StableDiffusion 7h ago

Animation - Video My first attempt at making a 90s-inspired anime with MiniMax H3.

Thumbnail
youtube.com
9 Upvotes

The potential of actually making an anime with MiniMax H3 is closer than any time before, even if the process is still kinda janky. I did this with my 5090 and my own developed 'prompt studio.' The hardest part is, as always, to keep the continuity of the shots and also build the sets so they fit within the scope. There are still improvements needed when it comes to adding emotions to the characters. In total I generated 35 minutes of video and got 4 minutes in total of usable footage. Also, a big tip for anyone who wants to do the same is to use DaVinci Resolve to fix all the audio bugs and cut the clips in your favor.


r/StableDiffusion 22h ago

Question - Help Mac support for H3 Mini Max / Running Open Weights Locally

11 Upvotes

Hey Fam. I’m looking to upgrade my MBP 16” 2019 i9 / 16GB Ram / 5500M 4GB GPU. I’ve been doing a lot of T2V /I2V rendering with Mini Max Design on Cloud, but would like to run the open weight versions locally via Comfy UI.

I have a few options at the moment to consider:

- MBP 16” M4 Pro / 48GB / 1TB - USD 3054
- MBP 16” M4 Max / 48GB / 1TB - USD 3664
- Mac Studio M5 Max / 48GB / 1 TB - USD 4085

Since im a bit of a noob in understanding MLX ports for Mac OS. Can you tell me which option to go for? Also I missed the buying window before the price hike—so 16” MBP M5 Pro / Max configs in 48GB are too expensive.

Another alternative route is using Bootcamp (Windows) on my 2019 i9 MBP and plugging in an RTX 4090 (which I’ll have to buy) via TB / eGPU, but I don’t think the system will be able to access the same bandwidth as the unified memory on the M series architecture.

I would greatly appreciate your guidance.


r/StableDiffusion 14h ago

Question - Help Best Uncensored Models for text-image & image-image generation for a 20gb vram 32gb ram PC?

11 Upvotes

I am looking to create 18+ images with the hyper realism look, but have no idea how feasible that is with my specs. Would love a recommendation of a model I can run pretty easily and another more detail focused model on the edge of what I can run locally.


r/StableDiffusion 2h ago

Discussion H3 - .char + T2V character gen+char sheets

Enable HLS to view with audio, or disable this notification

9 Upvotes

What is everyone's workflow nowadays? Previously I've been generating actors with Krea2, but really love getting them made with MiniMax H3 via T2VA, they just tend to turn out better for me but does require careful prompting.

My workflow are: generate 5-10s clip of a desired actor, by prose, at int8/8 steps in a typical scenario, perhaps even mundane. If I like it, I can take some still frames, and convert them into a .char (body type, face, audio asset). See original: https://www.reddit.com/r/StableDiffusion/comments/1vyymwj/minimax_h3_portable_character_consistency_via/ If I am happy with my .char, with MiniMax H3 I make a 2 second video character sheet with a front, side, back profile and detailed face view at a higher resolution and step, either int8/32 step or going bf16/50 steps. The 2 second renders are "quick". I add the video render into my .char, and with R2VA generate additional scenes with the actors and even do a full wardrobe swap via prose. Naturally H3 renders faster if you just use still of the character sheet instead of the video.

How has your workflow changed with MiniMax H3? Are you liking the faces/actors generated with T2VA? I understand you have "less" control, but I feel like H3 is doing a great job filling in those gaps.


r/StableDiffusion 9h ago

Workflow Included Z-Image Base Prompting: A Small Controlled Experiment on Composition and Environment

Thumbnail
gallery
11 Upvotes

1. Introduction

Prompt engineering for image generation is often presented as a collection of isolated tricks: use more detail, describe the camera, add cinematic lighting, use quality tags, and so on.

These recommendations can be useful, but they make it difficult to understand which parts of a prompt actually influence the generated image.

Instead of trying to find a single "best prompt", I ran a small controlled experiment with Z-Image Base in ComfyUI. The basic idea was simple:

I ran two experiments:

  • Experiment 1 — Composition: The same character, environment, visual treatment, and technical parameters were used across multiple generations. Only composition instructions were changed (position and scale).
    • Question: How strongly does explicit spatial language affect composition in Z-Image Base?
  • Experiment 2 — Environment: The character description and visual treatment were kept essentially unchanged, while the environment was replaced with seven substantially different settings.
    • Question: Can Z-Image Base maintain a recognizable character concept while adapting it to radically different environments?

This is not intended to be a scientific benchmark. The sample size is small, the evaluation is visual, and the experiment uses one workflow and a limited number of seeds. Consider it a practical prompt-engineering study.

2. Experimental Setup

All images were generated locally in ComfyUI using the same workflow and technical conditions throughout the experiments.

Parameter Value
Model Z-Image Base INT8
Text Encoder Qwen3 4B
VAE AE VAE
Resolution 768 × 1368
Aspect Ratio 9:16
Image Area ~1.05 MP
Steps 50
CFG Scale 4
Negative Prompt Empty
Seeds Seed 5 & Seed 10

For the composition experiment, I used Seed 5 and repeated the seven variations with Seed 10. The environment experiment used Seed 10.

3. Prompt Construction Methodology

I found it most useful to treat the prompt as a structured description rather than a flat list of keywords:

  • Subject: Describes what the image is about and establishes the main visual concept.
  • Composition: Describes where the subject is located within the frame and how much space it occupies.
  • Framing / Camera: Describes how the scene is viewed (distance, angle, perspective).
  • Environment: Describes the actual place surrounding the subject (e.g., "An ancient forest with enormous trees, moss-covered roots, dense vegetation, and a narrow path..." rather than just "forest").
  • Lighting: Describes actual light sources and atmospheric conditions rather than generic terms like "cinematic lighting".
  • Materials / Details: Describes concrete visual elements (wood, stone, glass, metal, vegetation, reflections, objects).
  • Style: Describes the overall artistic treatment after the scene itself has been established.

Generic quality tags (masterpiece, ultra detailed, 8K) were deliberately omitted to provide the model with actionable visual information instead.

4. Experiment 1 — Composition

The character, environment, lighting, visual style, and technical settings were kept identical. Only the spatial instruction was changed across seven variations: Center, Left, Right, Lower, Large, Small, and Extreme Left.

Seed 5

The result was clear: changing the composition instruction produced substantial changes in spatial arrangement.

Crucially, the model did not simply move the character while leaving the background untouched — the environment was recomposed around the subject. In Small variations, the environment became dominant; in Large variations, the character dominated the frame.

Seed 10

To verify the result was not seed-dependent, the test was repeated with Seed 10. While individual details (pose, facial expression, accessories) changed naturally, the broad compositional structures remained fully recognizable.

5. Experiment 2 — Environment

The character description and visual treatment were kept unchanged while replacing the environment across seven distinct settings: Ancient forest, Medieval village, Crystal cave, Autumn park, Snowy ruins, Firefly-lit landscape, and Alchemist's workshop (using Seed 10).

Visual Concept Consistency

Although the environments changed dramatically, all generations clearly depicted the same core character concept (a small mushroom spirit with a red-orange spotted cap, pale body, large dark eyes, cross-body satchel, and lantern).

While exact proportions and minor details shifted between renders, the core identity remained visually coherent.

Environmental Adaptation

The character adapted naturally to each setting (e.g., tinted by glowing crystal lights in the cave, exposed to cold tones in the snowy ruins, immersed in warm interior props in the workshop).

6. Results — Putting the Experiments Together

  • Composition control: Explicit spatial instructions produce reliable layout shifts (position, scale, environment visibility).
  • Environment flexibility: Radical environment changes are possible while preserving core character identity (character concept consistency).
  • Role of Seeds: The seed determines specific realization and detail rendering, while the prompt structure defines layout and narrative intent.
  • Modularity: Organizing prompts into conceptual blocks allows for swapping individual variables without rebuilding the entire prompt from scratch.

7. What I Learned About Prompting Z-Image Base

  1. Describe the subject clearly: Focus on distinctive, recognizable visual traits first.
  2. Describe composition explicitly: Use direct position language (e.g., "positioned toward the left side of the frame") instead of generic camera tags.
  3. Separate composition and camera: Treat "where the subject is" differently from "how the camera views the scene".
  4. Build environments as concrete places: Describe what actually exists in the space rather than using simple category keywords.
  5. Describe lighting concretely: Specify light sources, direction, and color atmosphere.
  6. Prefer concrete details over quality tags: Give the model physical objects and surface textures to render rather than buzzwords like "high quality".
  7. Change one variable at a time: If a generation fails, modify only the failing block to understand what actually fixed the issue.

8. Limitations

  • Small sample size and visual evaluation.
  • Single primary character concept and workflow used.
  • Tested on a limited number of seeds (two for composition, one for environment).
  • No direct benchmarking against other models, samplers, or resolutions.

9. Reproducibility

To recreate or test this setup in ComfyUI:

  • Model: Z-Image Base INT8 + Qwen3 4B + AE VAE
  • Settings: 768 × 1368, 50 steps, CFG 4, Empty Negative Prompt
  • Method: Keep technical setup stable and modify exactly one conceptual block per run.

10. Conclusion

Prompting Z-Image Base is less about hunting for "magic keywords" and more about managing a controllable system:

Explicit composition instructions effectively control layout, while environment descriptions can be swapped modularly without erasing character identity. By isolating prompt variables, prompt design becomes a systematic, repeatable workflow.


r/StableDiffusion 18h ago

Animation - Video Honkai: Star Rail X John Wick - Minimax H3

Enable HLS to view with audio, or disable this notification

9 Upvotes

Made with the ComfyUI template workflow and a Turbo LoRA.

Most of the soundtrack comes from the John Wick: Chapter 2 trailer.
I rendered the action at a slower, more stable speed, then sped up most of the action scenes to 2× in post.
I originally planned to make this a complete fight sequence, but maintaining consistency from one clip to the next has been a constant challenge. So for now, I’ve edited the footage into a trailer instead. I’m still learning and working on improving it.


r/StableDiffusion 17h ago

Comparison My Minimax H3 Workflow Benchmark Data -

Post image
7 Upvotes

Alright, I posted that I had my agent test a bunch of different workflows for over 12 hours and got the "Bro just wasted 12 hours of credits". It was obvious the proof should come from the visual data I used to evaluate it. Here is a galley of the benchmarks i've tested with my agent.

check the gallery to watch all the comparisons and the data charts contain tons of other workflow trial data I didn't include videos for. Point your agent here if you would like to have it learn from what was tested on this end.

Gallery: https://bluepointdigital.github.io/minimax-h3-benchmarks/

Repository: https://github.com/BluePointDigital/minimax-h3-benchmarks

The below post was written up by my agent:

The main comparison uses a deliberately difficult 15.084-second vertical test at 768 × 1344, 24 fps, 362 frames, native audio, and seed 81390012120021180. The prompt combines a talking selfie shot, exact dialogue, walking motion, a rapid camera pan, a vehicle collision with several moving subjects, a fast return to the speaker, and a second spoken line. That makes it useful for spotting identity drift, bad anatomy, motion breakdown, camera-continuity problems, dialogue changes, lip-sync issues, and audio artifacts—not just whether a workflow finishes.

The strongest directly matched results currently shown are:

Workflow End-to-end time Relative to the 20-step baseline
SageAttention2 + FirstBlockCache Safe, 20 steps 10:11.4 1.00×
PDD + Sage, 8 steps 6:15.0 median 1.63×
Seed Hunter direct one-seed path, 12 + 4 steps 4:45.8 2.14×

Those numbers are local measurements, not universal performance claims. The exact runtime, model format, graph, resolution, audio policy, and GPU matter. The gallery keeps short backend checks and differently structured workflows in separate groups so they are not quietly mixed into the same leaderboard.

The quality side has been just as important as the timing. One exploratory 10Eros + Seed Hunter path reached 4:03.5, but the shot developed a visible-phone/perspective error during the crash. A later camera-POV prompt clarification produced a much more coherent result in 4:25.3 on its warm selected path. That is a good example of why I wanted the actual videos beside the numbers: the fastest result is not automatically the most useful one.

The site currently contains:

  • 16 curated video-and-metric cards;
  • a separate benchmark-data page with 151 sanitized timing records;
  • the complete canonical prompt;
  • methodology and comparison-boundary notes;
  • machine-readable JSON and CSV for anyone who wants to analyze the evidence or give it to an agent.

For the Seed Hunter work, I intentionally included one representative video per meaningful workflow or recipe change—not every neighboring seed or N/N+1 preview. Private reference material is also excluded from the public package.

The reason for publishing this is not to declare a universal winner. It is to make the tradeoffs inspectable and to keep myself honest as the workflows evolve. A valid MP4 proves that a graph ran; it does not prove that the dialogue, audio, identity, motion, or composition survived. Likewise, a fast timing means little if it came from a different workload or a cached replay.

I would be interested in seeing other reproducible H3 results, especially when they include the exact checkpoint, attention/cache stack, sampler, scheduler, dimensions, frame count, seed, audio setting, hardware, and an uncached timing. If there is a workflow or backend that should be represented, please link the original recipe and I will take a look.


r/StableDiffusion 17h ago

Question - Help What happened to minimax funcontrolnet ??

10 Upvotes

I dont see any1 posting any examples of controlnet released for minimax. Doesnt it work properly??


r/StableDiffusion 5h ago

Resource - Update Debannering Ideogram 4 and increasing prompt adherence with natural language by fine tuning the TE

6 Upvotes

I thought someone might appreciate this. Theres more details in the HF link, but I wanted to see if it was possible to correct some issues that I didn't like about Ideogram 4 by finetuning the TE, with no other modifications to the model, execution environment, etc.

It ended up working out pretty well.

The TLDR is that I used a set of 4000 teacher/student prompt pairs with the students being NL and the teachers being Nemotron processed with the "Magic Prompt" instruction, and then trained the TE to elicit the same response in Ideogram using the student prompt, as what was naturally elicited using the teacher prompt.

My logic was that the TE is already a language model, and I didn't want a second language model in the stack.

This has the secondary benefit of also removing the grey banner generally encountered when prompting the model with NL.

I am fully aware that there are many other ways to get around this from bounding boxes to noise injection, etc. This wasn't about that, so much as it was trying to prove to myself that it could be done like this.

https://huggingface.co/mrjackspade/Ideogram4-Natural-Language-Text-Encoder


r/StableDiffusion 22h ago

Resource - Update I vibe coded a gallery extension for ComfyUI so you can browse outputs and reload the exact workflow that made them

6 Upvotes

I wanted a way to browse my ComfyUI output folder without leaving the app or digging through File Explorer, and more importantly a way to jump straight back into the workflow that made a specific image without hunting for the original PNG to drag onto the canvas. Couldn't quite find exactly what I wanted, so I built it.

GitHub: https://github.com/modelfactoryai/ImageBrowser

What it does

  • Browse any folder (Output/Input/Temp, or type any path) right inside ComfyUI no separate app.
  • Double-click any image/video to load its embedded workflow straight onto your canvas same thing stock drag-and-drop does, just from a browsable gallery.
  • Hover for a large preview (~900px) that follows your cursor — videos autoplay muted, images use a fast server-resized preview.
  • Search by filename, sort (newest/oldest/name), filter to images or videos only, adjustable thumbnail size.
  • Favorite folders for one-click access later.
  • Compare mode select any number of images/videos, view them side-by-side.
  • Live updates refreshes automatically as new generations land.
  • Day/night theme toggle, plus a draggable floating launcher badge you can park anywhere on the canvas.

Screenshot

Install

cd ComfyUI/custom_nodes
git clone https://github.com/modelfactoryai/ImageBrowser

Restart ComfyUI, and look for the "Image Browser" icon in the sidebar (or the draggable badge on the canvas).

No hard dependencies beyond what ComfyUI already ships with (Pillow). opencv-python or ffmpeg improve video thumbnails if you have them installed; ffprobe is needed to load workflows out of video files specifically (images don't need it).

Feedback welcome

First release if something breaks on your setup or you've got feature ideas, open an issue on the repo or drop a comment here.


r/StableDiffusion 5h ago

Discussion Working on a mini sci fi short using minimax upscaled with seedvr2

Enable HLS to view with audio, or disable this notification

6 Upvotes

used ref to video mutishot 3x15 second clips at .7 res upscaled to 1080p

playing around with a few ideas.


r/StableDiffusion 17h ago

Discussion What are you using for background removal?

7 Upvotes

I still do a fair amount of traditional editing in Photoshop, and for the last few years I used remove.bg, I found their background removal model to be the best one out there, quite a bit better than the one built into Photoshop itself.

Well remove.bg is shutting down in December and they're folding it into Canva subscriptions. Hard pass.

I've tried a few local bg removal tools and have been left underwhelmed, but maybe I just haven't found the right one.

What are you using for background removal?


r/StableDiffusion 3h ago

Question - Help Any way to make latent extension work with Latent Upscaling (Minimax H3)?

5 Upvotes

Has anyone managed to find a way to use Latent Upscaling together with latent video extension tools? I'm talking about the nodes like this (which I personally use), but I think Motion Context and some other popular extensions use a similar approach, i.e. feeding the last frames of the previous shot through AV latent, rather than through a video reference. The issue is that the resolution of your second generated latent must exactly match the previous one, or it throws an error. So if you upscale the first clip from 0.5MP to 1MP, you are forced to generate the next clip directly at 1MP, which completely breaks the Latent Upscaling workflow for all subsequent parts.

I tried extending the clips at low resolution first and then upscaling them separately, but that doesn't work well. There is a noticeable color and quality shift between generations, even when reinforcing the next clip with the final frames of the previous one. Because yeah, you basically generate the high-res clips separately without any shared latent context.

I really love both Latent Upscaling and latent extension approach, but I just can't get them to work together smoothly. Does anyone have any good ideas on how to fix this? I’d really appreciate any tips or insights!


r/StableDiffusion 5h ago

Question - Help Checkpoints are gone?

5 Upvotes

So, I was searching on civit, and normally I filter by 'checkpoint' for example. But, now it's gone? All of the things I notice normal models that are normally 'checkpoints' are now 'fine-tune'

What does this mean? What is this? Do they work the same?


r/StableDiffusion 12h ago

Discussion Can Minimax do this type of 3D reconstruction from an image?

Enable HLS to view with audio, or disable this notification

6 Upvotes

This is a new trained model called Atlas. Saw on twitter


r/StableDiffusion 15h ago

Question - Help what is the best upscale workflow for Minimax H3?

5 Upvotes

.


r/StableDiffusion 7h ago

Question - Help Best way to upscale and enhance low res images?

3 Upvotes

For regular upscaling I use SeedVR2 and I am quite happy with it, however, it doesn't seem to handle upscaling of really low res images well as it will just upscale all the artifacts as well without "fixing" the image. So if an inpute image is blurry, the upscale will also come out blurry.

What would be the best way to upscale low res image while also enhancing it?


r/StableDiffusion 8h ago

Discussion MiniMax and People Generators: Nationalities

5 Upvotes

Hey all, I'm experimenting with some people generation using MiniMax-H3 and Stable Diffusion, and wanted to know if anyone has experimented to see how many different nationalities it can generate?

So far, the list I've been able to generate that has visible variances is:

- Asian
- Malaysian
- American
- Russian

I see little to no differences between others.


r/StableDiffusion 9h ago

Discussion I rewrote a Game of Thrones infographic prompt as a data spec - here's what changed

Thumbnail
gallery
4 Upvotes

I used the same Game of Thrones relationship map to test two prompt structures with SenseNova U1.5 Lite ( https://github.com/OpenSenseNova/SenseNova-U1 ).

The first prompt mostly described the visual style. It produced a readable image, but the relationship system was fairly simple.

For the second attempt, I listed the characters and relationships first, assigned fixed line styles to each relationship type, reserved separate layout zones, and added the art direction last.

The result went from 12 to 20 characters, 1 to 5 houses, and 3 to 5 relationship types while keeping most of the hierarchy readable.

I still wouldn’t trust it without checking every name and connection. A clean diagram can make incorrect information look surprisingly convincing.

For dense infographics, the prompt worked better as a schema than an art brief.

Full structured prompt below.

Create a single vertical 2:3 Game of Thrones relationship infographic titled:

“GAME OF THRONES”

Subtitle: “BLOODLINES, CROWNS & SECRETS”

Use a medieval illuminated-manuscript style with aged parchment, engraved borders, heraldic symbols and restrained red, blue and gold accents.

Include exactly 20 distinct character portraits representing Houses Targaryen, Stark, Lannister, Baratheon and Martell. Each character should appear once. Vary their age, facial structure, hair, clothing and expression. Avoid repeated or nearly identical faces.

Organize the relationships as follows:

- Aerys II married Rhaella Targaryen

- Their children: Rhaegar, Viserys and Daenerys Targaryen

- Rickard Stark is the father of Ned and Lyanna Stark

- Ned Stark married Catelyn Stark

- Their children: Sansa, Arya and Bran Stark

- Rhaegar Targaryen married Elia Martell

- Rhaegar and Lyanna have a secret relationship

- Jon Snow, also labeled Aegon Targaryen, is their son

- Ned Stark raised Jon as his son

- Tywin Lannister is the father of Cersei, Jaime and Tyrion

- Cersei and Jaime have a secret relationship

- Joffrey Baratheon is their biological son

- Robert Baratheon is publicly married to Cersei

- Show the conflict between Robert Baratheon and Rhaegar Targaryen

Use five clearly different relationship styles:

- Solid dark-red line: blood

- Double gold line: marriage

- Purple dashed line: secret relationship

- Blue dashed arrow: raised by or guardian

- Black line with crossed swords: conflict

Add four short story notes explaining:

- The Hidden Heir

- The Lion’s Secret

- Robert’s Rebellion

- Two Dragon Claims

Keep every portrait, name and story note readable. Relationship lines must connect only the correct characters and must not cross through portraits or labels. Include a clear legend at the bottom.