A practical tutorial in comic-book FX upscaling and extraction using AI, using local Windows tools…
Category Archives: Comics
Source DPI, SD controlnet, and the ‘jaggies’
More on my devising of a Poser to SD workflow. I was happy with the look I had got. But I took time to look into the ‘jaggies’ in my Poser to Stable Diffusion success. The relatively small 786px input .PNG, used for both Img2Img and the Controlnet was thought to be the problem. The output is too jaggy on many lines, despite Poser’s real-time Comic Book Preview render being anti-aliased. How to fix it?
First I ran the source through Vector Magic at medium detail level, which includes smoothing along with the vectorisation.
Much better linework from SD with this as the source, and the dotted suit-lapels vanish. Though it’s lost definition on the suit buttons, and there’s a weird long fingernail. Also the sleeve is a little rough. There are other glitches elsewhere.
Though the edges – such as that sleeve – are not a problem — just add a centered ‘holding-line’ outline stroke in Photoshop and the bobbliness is covered up. But things changing shape and glitching is not good for replacing the colour, via a full Poser Preview render used as a blending-layer in Photoshop. So vectorisation of 768px is perhaps not the way to go. Though it did at least seem to confirm that it’s not some inherent limitation in the Img2Img or Controlnet process that causes the problem.
Nor was the free anti-aliasing filter for Photoshop, Japan’s OLM Smoother, found to do anything. It’s quite subtle and there’s very little difference in the end result.
What about the G’MIC Repair / Smooth options? Nope. Though there is a way to use a G’MIC custom filter on the SD output, to get an anti-aliased ‘inked’ layer that might overlay the SD output lines, in Photoshop. Nice, but it’s not consistent across images and moves things further way from replicability across different images on a comic-book page.
A custom variant of FXEngrave.
In the end, after further tests, I appear to have discovered that… source DPI affects style in Stable Diffusion 1.5. Who knew? 72dpi source and Img2Img = roughly drawn comic book (seen at the start of this post). Exactly the same settings with a 300dpi source give a far more refined and also smoother-lined style. I guess the added DPI gives SD even more ‘wiggle room’ to add the style, in an Img2Img process that moves the source from 768px to 1024px?
Next step, then, is to experiment with 120dpi and 150dpi to find a balance point. But even before that, a Python script to automate the testing and save time/gruntwork.
Final Lovecraft
I think I’ve hit the final balance in my Poser to Stable Diffusion workflow. The H.P. Lovecraft head, formerly too shaded and photoreal looking, now better matches the rough drawn style of the suit and body. Without getting too sketchy or losing the likeness. The lovely expressive eyes are kept. The result is 1024px and replicable.
Lovecraft hails a New York taxi-cab, or something…
As before, I should state that this was a deliberately bad pose and hands, to test the styling capabilities of SD 1.5 in Img2Img. Thumbs are obviously a problem at this level of denoising, and would ideally be artfully hidden.
The result can have colour consistency from panel to panel. It can be greyscaled, overlaid in Photoshop with a colour Poser render, and then colour-blended. The suit will thus darken down, so the crease-lines and dotted-line lapels won’t be so obvious.
More progress…
Details, details…
More progress with my experiments with style changing from a basic Poser real-time render. Up the CFG to 9, up the Embedding strength to 1.2, up the Img2Img Denoising to 7. Keep Canny at 87%. Specify dotted_line in negative, and change Steps to 42, with together remove some of the granulation of the lines that would otherwise occur.
Apart from the thumbs and a stray line below the buttons, the layer registration with the original is exact. Meaning easy re-colouring in Photoshop, via a normal Poser render and the ‘Color’ layer blending-mode.
The face is now too chiselled, and a H.P. Lovecraft character LoRA may be called for. But worth the extra work, since the eyes now especially benefit. There is a slight painterly smudge on the white, which you may be able to see here on a good monitor. But the original outline should be able to be selected in Photoshop. If not, one could use a mask from Poser. Or just do the scene with a backdrop straight from Poser.
The subtle 3D shading being auto-added could interfere with any light-direction shading you wanted to add later (perhaps by dropping a Smooth Shaded Poser render into the layer stack, in Photoshop).
More success with a Poser to Moebius look
I’ve finally been able to get back to my Poser to Stable Diffusion 1.5 experiments. More immediate success, this time by starting with a Brian Habelin style ‘darklight’ lit Preview render (very low single light, Comic Book lineart in b&w, textures showing through just a bit) and then a Firefly lineart-only all-lines render. Combine these two in Photoshop, and you deal with the dark suit and the lack of definition of the suit detailing, at the same time. Nice. Img2Img as before, with the Poser render also dropped in the Canny Controlnet.
Deliberately awkward M4 pose and hands on the Meshbox Lovecraft figure, and rendered at just 768px, to see how SD handles such awkwardness.
The 1024px result stays nice and light, and doesn’t immediately start veering into the grungy ‘black on black’ territory which bedevils 3D work. And there’s no need to lift the gamma or adjust textures in Poser. The contrast is easily adjusted later in Photoshop. There’s also more of a Eurocomics ‘ligne claire’ (clear line) look than my previous highly detailed Moebius attempt. I like this simpler look. Interestingly, SD is colourising without being asked to do so.
Quite a high CFG for this, so SD 1.5 had more room to wiggle. Which means both the thumbs have gone wonky, and the eyes have been adjusted to look away rather than up. However, everything else is locked and we still have the Photoshop-accurate layer registration otherwise. So one could colourise the result by layering a Poser render on top in Photoshop, and simply setting the layer blending mode to ‘Color’. This would give you a base of consistent colours from panel-to-panel in a comic-book page.
Comics & AI – one-day conference in London
Comics & AI: Critical Prompts, an academic conference in London, 4th September 2025. Could just be hand-wringing about ethics, copyright, political theory etc + angsty anti-AI students hijacking the Q&As. But I guess it may have some practical ‘make comics’ side to it. The programme has yet to be announced. The venue is in Clerkenwell, north London, so should be fairly easily reachable by train and tube.
Successful test – the Moebius variant
More testing of Poser to Stable Diffusion 1.5. This time the aim was 1024px output with a Moebius style that wasn’t his later super-slick poster/art-print style and was more like his old Heavy Metal comics linework and dash-shading. Combining the WASMoebius embedding with a LORA, and juggling the various settings for a few hours got me a repeatable workflow — not perfect and a bit chunky (i.e. the main lines are too thick, the dash-and-dot shading is too thin), but it’s as close as I can get while keeping it as Poser-render compatible as possible (for later masking and re-colouring).
Auto-brightness and reduce from 1024px to 768px…
Still not ideal, rather too ‘busy’, but it’s moving towards a Moebius look.
Successful test – adding LORAs
Adding a LORA to the recent Poser to SD 1.5 workflow.
Vintagecomic at 0.63 strength.
Crab Grass at 0.35 strength.
Moebiuscolor at 0.55 strength
All managed to keep the registration with the original render, in terms of re-coloring via Photoshop’s layer blending.
There are many more LORAs to experiment with. But these three suggest the workflow is robust enough not to be thrown too far out by adding a LORA.
Successful test – restore the Poser colour
Another Poser to SD experiment.
1. Take the final from the Poser to SD 1.5 workflow shown earlier…
2. Give it a simple “desaturate” in Photoshop (better b&w conversions are available).
3. Have Photoshop enlarge the crude original source for the Img2Img input, to 1024px. Then paste it over the top of the 1024px final.
4. Set the Poser render’s Photoshop layer blending mode to ‘Colour’…
The colours of the original Poser render are thus restored, which across a comic-book page and pages will give you the Holy Grail of consistent colouring across different SD images. You’re welcome.
5. Flatten layers, tweak Curves and Brightness in Photoshop, to add more graphic ‘pop’ and/or suit the intended lighting for your story.
Obviously the Poser source we used here is a bit crude…
… and you might get better making another finer render to be used only for Colour blending in Photoshop. If sticking with the real-time Preview render, note you’ll get better colouring by rendering Preview using more than the default 512px material textures.
Don’t forget you might also lay on a 30% blending layer with a Smooth Shaded render from Poser, made under a suitable light, which will add back some shadow and volume (for those hankering desperately for ‘the 3D look’). Then there’s Poser’s Sketch renders too, to play with.
Successful test – the final
A follow-on to my earlier tutorials, using two Poser renders and an SD 1.5 model (in InvokeAI) as if it were a Photoshop filter — keeping everything in the Poser renders stable, but having SD change the style to something that regular comics readers wouldn’t laugh and jeer at.
Here the background stays stable because the 786x Firefly lineart-only render, being used in the Controlnet at 87%, now includes the background as well. This stops the background from getting ‘SD gloopy’. The figure outline can be masked in Photoshop, because it stays the same as a figure-only Poser render.
Quite a nice strong graphic style, I think, that would be suited to a four or five-panel comic-book page. Obviously you’d work it over a bit with the dodge and burn tools in Photoshop, and re-ink some bits. And you’d power up the lens choice, camera angles, figure expressions and suchlike. Maybe also experiment with lighting in Poser, since you can’t prompt for it in SD when used like this.
The SD 1.5 model Photon is meant for photography, but it’s an excellent early model that isn’t polluted by manga/anime and does what you tell it to. Unlike ADAM it doesn’t get in the way too much, when you push it towards a graphic illustration. The WASMoebius embedding is not really needed, strangely, but I left it in anyway as some may want to experiment with pushing it further. The problem with doing that, though, is that you’d lose panel-to-panel consistency in the comic, which is the whole point of this workflow.
Enjoy.
Sale at Graphixly – Poser 12 and Clip Studio Ex for $49
CLIP STUDIO PAINT EX Ver. 1 & POSER 12 Bundle for $49.
EX is the multi-page version, but this is a very early v1 version (now at 4.x, I think?) that I wouldn’t wish on anybody. Know that the official Poser to Clip Studio export script stopped working in Poser 12, due to the Python upgrade. Also note that Graphixly have Poser 12 for $29 separately, and then you can spend the rest on the vastly easier comics production software called Comic Life.
Successful test – the background
Definitely getting there, in the quest to use Stable Diffusion 1.5 like a Photoshop filter. This is another follow-on from my two previous tutorials for Poser with SD.
The final result
To obtain this final result, for the Img2Img source I started again with exactly the same Poser scene, camera and light as before, but this time I dropped AS’s Hanyma Platform for Poser (now no longer sold) to the scene as a background prop. Poser’s Comic Book inking applied to both.
Raw scene in the Poser UI.
Then I made a quick Preview render of this scene at 768 (remembering to boost the texture sizes from 512), and then in Photoshop used the Glitterato plugin to add a quick starry sky.
In InvokeAI this replaced the previous figure-only Img2Img image, but the Firefly lineart Controlnet image stayed the same, thus giving a fixed figure outline that matches that of the Poser render — possibly important for later consistent colouring.
In this experiment I also added a Moebius LORA, which knows what our hero Lovecraft looks like. No additional prompting is needed to account for the backdrop, since the CFG is so low.
The final result at 1024px
It’s all going a bit ‘black on black’ (arrgh!) for this quick demo, but a non-background SD generation of the figure alone can then be used in Photoshop to mask (Crtl + click on layer, invert) and then fade or lighten the background a touch (as I believe Brian Haberlin does) so as to make the character stand out a little more. And ideally your comic script would try to avoid ‘black cat in a coal cellar’ settings, for this reason.
Simply using the new Img2Img as the Controlnet, replacing the Firefly outlines render? Nope, that doesn’t keep the detailing on the character or keep him consistent across a quad of generations. The Canny Controlnet needs to be focused just on the character, in the same way the comic reader’s eye is. Going from 768px to 1024x in the Img2Img seems to give SD some creative wiggle-room, despite the low CFG. Since it’s a low CFG for the Img2Img, there’s not much shifting in the details of the background. This seems to be the sweet spot: good model, Img2Img with a low CFG but slight upscale, and use the Controlnet with pure Poser Firefly lineart to keep the figure stable and in lockstep with your Poser renders. Presumably all this would also work for two characters interacting.
By having both character and backdrop generated by SD, there’s some SD gloop and later a loss of flexibility when putting the frame together in Photoshop. But one also avoids the need to mask, extract, defringe, colour-balance etc. It may be possible to prompt for lighting and get it, but I haven’t tried that yet.
Obviously for a comic you’d also start breaking free of the stock camera lens and use foreshortening etc for a more dynamic look. Poser has a special camera dial that makes that very easy.
Successful test – the ‘proof of workflow’
Here’s a follow on from last night’s Successful test – Poser to Stable Diffusion enhancement, a proof-of-concept (or perhaps more accurately proof-of-workflow for the compositing. It’s crude, and he’s meant to be on an airship which isn’t shown, but it shows it can all work.
1. Rerender the Poser Firefly line-art at 4 x the original 768px (i.e. 3027px square) as a .PNG file.
2. In Photoshop I then run this render through GMIC and a custom filter for line-art (very similar to Dynamic AutoPainter’s Comic filter, but free). This turns the thin lines into chunkier ‘inked’ lines. Takes about 40 seconds, but does the job.
3. Size the GMIC result back to 1024px and place it over our final 1024px outcome from the successful test. Set the new layer to Multiply blending mode, and adjust opacity to suit. Flatten, and then select and cut out the figure from the white background. Defringe. Then have Photoshop add a thick ‘holding-line’ around the figure’s outline (Stroke 5px, black). This latter item helps subtly isolate the figure from the background it’s going to be pasted onto.
4. Reselect the resulting cutout figure and drop over a suitable backdrop. Here for speed I’ve merely selected a SD landscape experiment and given it a very crude tooning effect via a Photoshop filter — a final frame would have a much better lineart background. But it serves for now. Make a white layer behind, and fade the background a little by simply opacity-blending it with the white. This is why, ideally, you want figures and backgrounds as separate elements.
5. Colour balance the figure with the background. Flatten layers, tweak the Curves in Photoshop to add contrast and ‘pop’ (without things getting all ‘black on black’). Slot into the page-layout’s frame and add a text box. You’re done.
The demo is very basic and crude, especially the pose and background. But it proves that one can go from a Poser render to a finished comics panel and have it look somewhat acceptable for storytelling purposes. Especially considering the start point was this…
The workflow may sound fiddly, but once nailed down a Poser Python script could handle the renders in one click. Then a set of custom Photoshop Actions would handle much of the rest. Regrettably Stable Diffusion software, despite being built on Python, omitted to add Python scripting for UI and rendering automation.
Successful test – Poser to Stable Diffusion enhancement
Another experiment in using Stable Diffusion on a Poser render, as if it were a Photoshop filter.
1. Load and pose the figure and any figure-props in Poser. Here the standard Meshbox H.P. Lovecraft figure is being used, with a brass telescope from Steampunk Balloon. The M4 pose applied is meant to be gripping some rigging rope (not visible here) on a steampunk airship.
2. In Poser, use the Materials python script that ships with every copy of Poser, to lift the scene’s Gamma to 1. For comics you might also apply, as I did here, a good bright even light that tends to flatten things out (a ‘flat light’ as I call them). These measures means the dark suit can now be seen properly — one of the most fatal problems in making comics from 3D is the unfathomable tendency for makers to accept lots of ‘black on black’. Add a Comic Book outline via the Comic Book Preview panel, and render in Preview. This will help the Canny edge detection later on. Output to .PNG format at 768px square.
3. In Poser’s good old Firefly renderer, use my lineart-only render preset to just get the lines. This type of render gives you all the lines, not just the ones Comic Book Preview chooses to show. Render to 768px square, .PNG file. We do lose the hair, which is just an image texture. But the next step will bring it back.
4. Combine the two .PNGs in Photoshop. Do this by dropping the Firefly lineart on top of the Gamma-lifted Preview render, set the layer to Multiply, and adjust to taste. Here I also set a white backdrop layer, since the PNGs otherwise have embedded transparency. To lighten things up a bit more, I also blended a little into the white background.
5. Now start the free InvokeAI. Import your final Step 4 .PNG and use it for both Img2Img and also in the Canny Controlnet. Use the settings seen in the screenshot-combo above, making sure to get them all. You may of course need to juggle the prompt and negative prompt, if using your own test render. The Stable Diffusion model being used is the free Another Damn Art Model (ADAM) 4.5, available at CivitAI.
That’s it. Upscale the best 1024px result 2x so you can mask, cutout and defringe cleanly in Photoshop, if planning to composite the character onto a background. The intended destination is as part of one frame in a comic-book page, thus the roughness and a few imperfections (visible when the image is scrutinised at a large size) don’t really matter. The lack of contrast and colour vibrancy is also a good thing, as it can be tweaked up later on — it would be trickier to try to subdue garish colours / high contrast.
Should also work nicely (not yet tested) if you start with a figure + lighting-matched backdrop render. But obviously having the figure and backdrop separate could make adjustments on the comics page easier in Photoshop (slightly blur or lighten the background, to make the characters stand out etc). You may also want two very different characters interacting, and thus would likely want to deal with them separately and then bring them together in Photoshop.
The Stable Diffusion result is of course not perfect, but you can pick the best from 4 or even 8 image-generations. Here he’s acquired a ring on his finger, and the jawline is too ‘1930s heroic’ and not really ‘Lovecraft deformed’ enough. But the silhouette of the figure and prop match perfectly with the Poser renders, which means you can get consistent colour throughout a comic-book page (here’s how: greyscale, get a full colour render from Poser, size it to fit and lay on top, then set Photoshop’s blending mode to Colour).
One thing I tried along the way was prompting for Cary Grant (the 1930s movie actor). It does pretty well, and SD must have been trained well on his images. Consider using an M4 with a ‘somewhat-Cary morph’ and just prompting for the old movie star, for a more or less consistent head. Or try some other big movie star of the 1920s and 30s. I think the difficulty I had with getting an exact (Lovecraft) was that the ADAM model doesn’t really ‘know’ him well. But it’s the best I’ve yet found for this sort of ‘SD as Photoshop filter’ workflow, being very strong and thus working well at low Img2Img settings.
Part two: Successful test – the ‘proof of workflow’.