No Designer Needed — Making a Professional Poster with Claude Code
Most people assume Claude Code can only write code and can't make images. This episode walks the whole thing end to end — using it to make a professional invitation poster for an in-person talk.
The key point: don't toss out "make me a poster" and wait for a result. Talk to Claude Code like a designer partner. Give it the full backstory of what you're doing, the few reference styles I pulled off Pinterest, and my own headshot, and let it help me work out the identity hook, the headline, the subhead, and the body copy — we settle it together, step by step. Claude doesn't generate images itself; Claude Code calls an image model. For posters with text on them, GPT Image 2 is currently the best choice.
Most people assume Claude Code can only write code and can’t make images. Today I’ll walk the whole thing end to end — how to use Claude Code to make a beautiful, professional poster.
What I’m making is a real poster: next week I want to run a small in-person talk in Beijing for about ten people, inviting classmates from the Dedao Advanced Business School, so I need a 9:16 vertical poster to post to my WeChat Moments and to source a venue while I’m at it. The whole process, I worked through with Claude Code.
Treat it as a partner, not a wishing well
Something I say a lot: treat Claude Code as a partner, not a wishing well. Making this poster wasn’t a matter of tossing out “make me a poster” and sitting back — it was talking the whole thing through with it.
I sent it the detailed backstory of this event and where I’m coming from. A large model genuinely has no idea what your taste is — it’ll offer suggestions and defaults, but if you want the look you actually have in mind, you have to show it. So I searched Pinterest for “speaker poster” and downloaded two or three styles I liked: the one in Luo Zhenyu’s style that uses text as the background, a text matrix, very striking; a black-white-gray one, simple palette, great texture; and one that spells out the value of the talk and the speaker bio in detail. I dragged all of those in as references. I also prepared a transparent-background cutout of myself in a suit, and told it it could use my face but didn’t have to copy the clothing or the pose — it was free to regenerate a suitable standing half-body shot.
I also gave it my identity hook: I’m a classmate from Dedao Advanced Business School Beijing Class 07, and since 2023 I’ve built up deep hands-on AI experience at Tencent, in healthcare, and in the short-video creator business. I set the angle for the topic too — get the most advanced AI put to work in real business, rather than soothing anxiety born of fear of the technology. For the headline, I told it to write in that “Dedao aphorism” register.
Choosing a model: for posters, GPT Image 2 is best
To be clear about one thing: Claude itself has no image generation capability. Claude Code calls an image model’s API. The options right now are Nano Banana, GPT Image 2, and domestic models like Jimeng.
And for posters specifically — especially posters with text on them — GPT Image 2, which has reasoning built in and renders Chinese very accurately, is the best choice. I covered how to wire a GPT API key into Claude Code in an earlier episode.
One big trap: don’t do “AI base image + overlay the text afterward”
It initially recommended one path to me: have AI produce the base image, then overlay the text in post. This is a deep trap. I’ve tested it — the text overlay position never lines up, and the result is terrible.
The right approach: generate the 4K vertical image directly with GPT Image 2, pure AI, one shot. Its Chinese is genuinely decent — it can even pull off the text-matrix-as-background treatment from Luo Zhenyu’s poster. Generate a few versions to compare and choose from.
It has its own flaws too: GPT Image 2 frequently mangles the aspect ratio of Chinese characters, stretching them into narrow tall shapes instead of proper squares. One more warning — if you don’t set an output folder for Claude Code, it dumps the images in the working directory, so I just told it to save all the full-size versions to the root of my D drive, which makes previewing easy.
Cost and reuse
Generating one image isn’t expensive: the 1K version runs about one yuan and change, the 4K high-quality version about three or four yuan in token cost — far cheaper than hiring a designer. Even if I go back and forth on a dozen images across two or three runs, it’s a few dozen yuan, a hundred at most. Very convenient.
And once you’ve locked in your own style, the way I have for my video covers, regenerating in a similar style gets extremely fast — you can turn it into a skill and use it over and over.
Level up: make the poster move
When you post to WeChat Moments, a static poster can also become a subtly animated poster. I first used my own cloned voice (MiniMax speech 2.8 HD) to generate an invitation line: “Lead with technical foresight, empower real business, build talks that look good and land hard. See you next week, in person.”
Then I used ByteDance’s Seedance 2.0, feeding that invitation line in as the audio in its “omni reference,” so the text on the poster gets subtle motion and the person makes an inviting gesture. Here’s a lesson: don’t wait until the video is generated and then composite the audio back in afterward — do that and the pose and lip sync very likely won’t match. Seedance is very good at using an audio reference; just reinforce consistency in the prompt directly.
Real problems came up in the actual run: the Seedance 2.0 API quota for real-person generation ran out, so anything with a real human likeness couldn’t clear the review gate. I switched to Alibaba Bailian’s Kling API instead. One more thing: when a poster has a lot of text, direct AI generation turns the small text at the bottom into garbage — so pure AI-generated animated posters aren’t really viable when there’s a lot of text. In that case, take the bottom half of the poster, fix the bottom text in CapCut, add background music and the voice track from before, and you get the final result.
Either way, today’s poster run went very smoothly. Questions in the comments, and I’ll see you in the next one.
Source: EP0033_audio.mp3 · ASR model gemini-2.5-pro (chunked parallel) · full text of the roughly 14.6-minute original recording
[00:00] How do you use Claude Code to make a beautiful poster? Today we’re going to walk the whole process from the start. So after we open Claude Code, the first thing is making sure it has an image-generation model’s API wired in, because Claude Code — Claude itself — has no image-generation ability. The image models we can pick from right now are Nano Banana, then GPT Image 2, and then probably Jimeng and other domestic models like that. And for poster-making specifically, the one with reasoning ability and very accurate Chinese rendering,
[00:26] GPT Image 2, is the best choice. So you can watch my earlier episode, which walks through how to wire the GPT API key into Claude Code. Mine is already hooked up at this point. And as I often say, we should treat Claude Code as a partner, not a wishing machine. When we’re making this poster, we need to work through a complete process with it. So let me think for a second. Let me see. I want to hold, in Beijing next week,
[00:53] an in-person meetup — around ten people, and I want to invite fellow students from Dedao Academy to come. And as a student of Dedao Academy’s Beijing Class 07, and a senior to everyone else, I want to share some of my recent experience with Claude Code, my experience with using it to boost the work we do. It’s a small-scale in-person share. And I want to make a 9:16 vertical poster to post on WeChat Moments
[01:19] to invite people to come. And since the venue and time for this share aren’t settled yet, when I post this poster I also want to put out a call — is there a classmate who could provide a venue like that and do this share with me. So with that as the starting point, help me think through what text content and what visual content should go on the poster. Let’s discuss it and decide
[01:45] step by step. Right, it’s sent. We’re treating it as a designer partner and communicating with it that way. I send it the full backstory of this thing, my starting point, all of it. And at the same time, you can also see that I showed a poster just now, right? We can go to somewhere like Pinterest and search for existing posters other people have made. Say I search for speaker poster.
[02:10] See, once I click in, it’ll pull up posters of the same type. All I need to do is download one in a style I like. I downloaded two or three styles. You can see I downloaded Luo Zhenyu’s poster, then this one here, and this share poster too. Download those posters as a style reference. And at the same time, since I want my own likeness to appear on this poster, I also prepared a photo of myself to hand to it as a reference. And these are all things
[02:35] you have to prepare yourself up front, because honestly, a large model doesn’t know your aesthetic preferences. It’ll give you some suggestions and some defaults, but if you really want to end up with the poster style you have in mind, you still have to find references to give it. So back to what we were doing — see, it says the poster copy it suggests is: identity hook, then main headline, subhead, value points, format notes, venue, and so on.
[03:02] What the poster is sharing is Claude Code, and then it drafted a headline for me with a certain flavor — let me look. I don’t think any of them are very good. So I can go discuss this point. I’ll click this “chat about this,” and in here I can add some information for it. So, I’m from Dedao Academy 07 — task complete, please advise — the 0 from 0-1-2, not the 7 from five-six-seven.
[03:30] It’s Dedao Academy 07. And what I want to say is: how do we use the most advanced AI models and tools to power real business, rather than easing our anxiety out of fear of the technology. Mainly it’s about how, in day-to-day work, to empower everyone as experts in their own industries — how to empower industry experts to work more efficiently, that kind of angle. So rethink the angle for me
[03:55] and the poster’s copy. And let me add one more identity hook. I’m not just an 07 classmate — I’ve also been at Tencent since 2023, and then in healthcare, and in the short-video creator space, with rich, with a wealth of hands-on experience putting AI to work. So those points can go in too. And then likewise, we can also tell it,
[04:20] I downloaded three poster style references — task complete, please advise — the poster style references, you can go look at these three posters and pull some design ideas from them. You don’t have to copy these ads outright; instead, take from these three the design approaches and styles that fit this scenario. And this poster — task complete, please advise —
[04:45] I’ll also give you a photo of myself, so that you can generate my likeness onto the poster. And I need you to generate it with the GPT Image 2 model. So go find best practices for making posters with that model first, as a reference for your generation. And then likewise we drag the reference files over to it. I think the design sense on these three posters is fantastic.
[05:10] Luo Zhenyu’s poster uses text as the background, forming a composition — it’s a really striking visual. Then the second poster’s simple palette, the black-white-gray approach, has a lot of texture to it. And the third poster describes the value of the share in more detail, and introduces the guest in a lot of detail. I don’t think we need to be that detailed, but we can borrow some of its ideas too. I forgot just now to send it my
[05:35] photo. And then this image is a transparent cutout of me in a suit. You can use my facial likeness from it. The clothing and pose don’t have to be the same — you can regenerate suitable clothing and a half-body standing pose. See, it gave me an approach that combines points from all three, and at the same time it tells me Image 2 might still have some difficulty
[06:01] generating complex Chinese. So it advises me against the text-matrix approach, the kind of thing Luo Zhenyu’s poster does. And it likewise recommends I have AI produce a background image and overlay the text in post. But that’s actually a deep trap — do not do it that way. So let’s give it a piece of feedback. Don’t use the approach of having AI produce a background and overlaying text. From my own testing the results that way are terrible. In actual use, GPT Image 2’s Chinese ability is pretty good, so my advice to you is
[06:26] don’t give up entirely on this either — using a text matrix as the background, that kind of presentation. We can generate a few versions and compare. Ah, that didn’t get entered. Right, so: I don’t recommend the overlay-text-in-post approach, because generating that way before gave bad results — the placement of the overlaid text isn’t accurate. You can generate a 4K vertical image directly with GPT Image 2, pure AI in one shot.
[06:51] And GPT Image 2’s Chinese ability is pretty strong. We don’t need to give up on the text-matrix background presentation we saw in Luo Zhenyu’s poster. We can do a few versions, and then we can compare and pick. And now that the copy is locked, send me the final version of the text content you came up with so I can take a look and sign off. I think the direction of headline B, of B’s direction, is right,
[07:16] but I don’t much like its rhetoric or its language style. Could you write a main headline in something like a Dedao-style aphorism? Good, now it’s given us an overall design approach and updated copy, and I think — task complete, please advise. At this point I need to give it a definite piece of feedback. “Bring the most advanced AI down into real business” — this line works.
[07:41] And for the rest, go with your suggestions. And the signature line should be Zhang Pinpin. We want to generate a — generate multiple versions of it. Like, I gave you three references, right, so we can actually generate a few more styles of this poster and take a look. Right, it’s already produced one version, but there are still
[08:06] — task complete, please advise — there are still going to be some problems. What’s the problem? GPT Image 2 is a fantastic model, but with its Chinese text it often gets the aspect ratio of the characters wrong — they come out narrow and stretched, not square characters. This is actually a problem that comes up a lot. And another thing is, with Claude Code, when you haven’t set its output folder, it’ll just drop them in a folder under the working directory. So let me give it this feedback:
[08:32] save the full-size images of all three styles to the root of my D drive, so it’s easier for me to preview them. So let’s see what the final results look like in a bit. And then beyond the static poster, when we post to WeChat Moments we can actually also turn it into an animated, subtly-moving poster. So once this comes out, we’ll go on to the next step of the process.
[08:59] Hey, I spotted a small problem: because I’m using voice input, it didn’t recognize “Dedao” correctly. I need to confirm “Dedao” with it. See, a situation like this actually comes up pretty easily. During the design process, some copy adjustments mean regenerating that image. Generating an image isn’t expensive: for the 1K version
[09:24] it’s about a yuan and change, and then for the high, the high-quality version, roughly the 4K version, it’s three or four yuan of token cost. Way cheaper than hiring a designer. Even if I go back and forth generating a dozen-odd posters, and generate two or three rounds, that’s still only a few dozen yuan, a hundred yuan. So it’s very convenient, a very convenient process. And once we’ve settled on a style of our own, like with my video covers, when I repeatedly generate that same kind of style
[09:51] it gets very fast. You can turn it into a skill to use. Now, since we’re going to do the animated poster in a bit, let me first use my own voice to generate an invitation line. In a bit I want to — I’ll pick one poster as the final version and generate an animated, subtly-moving poster video. And in that video I want to use my own voice to say an invitation line.
[10:16] What kind of invitation line do you think would work well? Something like “AI serving real business, see you in person” — an invitation line along those lines. Then use my voice, the MiniMax speech 2.8 HD model, to generate one and let’s hear it. Good, this is already OK, we’ve already got this new version out — the new version. I think it’s pretty good.
[10:42] Let’s listen to the invitation line it generated. “Tech foresight powering real business, creating shares that look great and land hard. See you next week, see you in person.” Still pretty good, pretty good. But — because when I use it, it’s my own voice, but its — my own voice isn’t all that pleasant to listen to. And then we, let’s look at now, let’s see. Right, let’s give it a confirmation. This poster is very good, I’m happy with it.
[11:09] And my voice invitation line is pretty good too. So now I need you to use ByteDance’s Seedance 2.0 model to turn this poster into a subtly animated poster — meaning give the text on the poster some motion, subtle motion, and then have the figure of me on the poster make some inviting gestures, and take that invitation line from before as the audio inside the omni-reference,
[11:35] the voice reference, and give it to the model to generate a subtly animated poster of me. I looked at the timing — about seven or eight seconds is fine. And note that you need to pass the copy to Seedance through the prompt as well, not just pass the audio of the invitation line. So let’s try designing the subtle motion for this poster, then use Seedance’s API to generate this animated poster.
[12:03] See, it gave an omni-reference plan like this. It got it working, but here’s where the experience part comes in. It says after generating the video, use a tool to press my audio back in, to be extra safe. But that’s actually a problem, because the lip sync might not match. So I need to give it feedback. If after you generate — first, Seedance’s
[12:28] ability to use an audio reference is fairly strong, and odds are it’ll use this audio clip of mine perfectly. But if you wait until it’s finished generating and then composite the audio back in, the figure’s pose and lip movements might not match up, won’t match up. So I don’t recommend doing it that way. You can look into how to strengthen consistency from within the prompt, and how to ensure a better result out of this kind of generation, instead of doing this post-production audio
[12:54] compositing thing. Ugh, now Seedance’s API has hit a real-person block — real-person review. It won’t let it through. So let’s do this, let’s switch to Kling. Since Seedance’s own API can’t handle real people, and then our real-person endpoint isn’t usable right now either, let’s use this, this, this Alibaba Bailian Kling API to
[13:20] do the video. Task complete, please advise. Good, let’s take a look at how this version came out. I think it’s passable. Quite a few problems came up along the way. For instance my ByteDance Seedance 2.0 API — there’s a version of it that can generate real people, and its quota is used up, so the API right now has no way to get through Seedance’s real-person review card. Meaning anything containing a real person’s likeness,
[13:46] it can’t generate video for. So I later switched to Kling’s API to generate this short video. But let’s all take a look — the overall result is pretty good. Except the further in you get, the more you notice some of the text turning into garbled characters, and the small text at the bottom turning garbled too. So actually, animated posters, when there’s a lot of text, still aren’t quite workable. Though of course not entirely unworkable — it’s straight-out-of-AI that isn’t quite workable.
[14:12] So at that point we can take the bottom half of that poster from before and go fix the text at the bottom of the poster in CapCut, and give it some background music, and then drop in that human voice track from earlier, and that gets us a final result. But in any case, today’s poster-generation process went really smoothly. Questions in the comments. See you next episode, bye.