Qwen 3.8-max로 GPT 스타일 커버 생성 Skill 만들기

기술 블로그에서 제일 골치 아픈 게 커버 이미지입니다. 저도 오래 시달렸어요. 기사 톤에 맞아야 하는데, 상사 눈에는 ‘고급스럽게’ 보여야 하죠. 어떻게 풀까 고민하다가 OpenAI Customer Stories 페이지를 만났습니다. 커버가 정말 좋습니다. 앞에 나서지도 않는데 예쁩니다. 이미지마다 단색 재질 하나, 빛줄기 하나이고 그 위에 제목 한 줄. 절제된 고급스러움이라 기술 블로그에 제격입니다.

👆 OpenAI 블로그 페이지 미리보기입니다.
기술 글 커버는 늘 애매한 자리에 있었습니다. 스크린샷은 투박하고, 일러스트는 내용과 안 맞습니다. Unsplash에서 20분을 뒤지면 결국 기사와 한 겹 낀 이미지가 나오죠. OpenAI의 ‘순수 재질 + 제목’ 방식은 이 문제를 그냥 비껴갑니다. 이미지와 내용이 ‘관련’될 필요가 없어요. 톤만 맞으면 됩니다.
커버 찾는 일이 반복적이고 AI가 대신할 수 있는 일이라면, 스킬로 만들 이유가 없죠. 바로 시작했습니다.
결과부터 보여 드리고, 어떻게 구현했고 어떻게 설치해 쓰는지 말씀드릴게요:
스킬 만들기: Qwen Code + Model Studio CLI
방안은 두 가지만 씁니다.
Qwen Code는 흐름을 조립하는 역할입니다. 웹사이트 내용을 캡처해서 Qwen Code에 그대로 주고, 이런 종류의 커버를 만드는 스킬을 만들고 싶다고 말했습니다. qwen3.8-max 자체에 멀티모달 능력은 없지만, Qwen Code가 이미 설정해 둔 비전 모델을 알아서 호출합니다 — qwen3.6-plus 같은 모델이 내용을 인식해 설명문으로 만들어 qwen 3.8-max에게 넘기고, 3.8은 그다음 분석과 구현에 들어갑니다. 아주 간편합니다. Qwen Code는 스크린샷 내용을 분석하고 종류까지 판단하고, 물론 저도 손을 좀 보탰고, 마지막에 3.8-max가 prompt를 조립했습니다.

Model Studio CLI가 qwen-image 모델로 알맞은 스타일의 이미지를 생성합니다. 마지막에는 바탕 그림과 제목을 합쳐 조작 가능한 HTML 페이지로 만듭니다. 페이지를 열어서 제목, 글꼴, 로고, 해상도를 미세 조정하고 원클릭으로 내보내면 끝입니다.
그리고 두 과정을 꾸준히 뽑아 낼 수 있는 skills로 조립했습니다.
참고: 여기서 말하는 qwen3.8-max는 전부 qwen 3.8-max-preview 버전을 가리킵니다.
커버 생성: 네 가지 스타일
제가 가장 공들인 부분이 스타일입니다. OpenAI 커버는 보기엔 단순한데 자세히 보면 길이 여럿 있습니다. 네 갈래로 나눴습니다:
실물. 재질 접사 촬영. 나뭇결, 가죽, 잎맥, 헤어라인 금속, 모래언덕, 겹눈. 여백 없이 가득 채웁니다. 제품, 손끝 기술, 촉감을 얘기할 때 맞습니다.
번짐. 단색 수채 그라데이션. 옅게에서 진하게, 같은 색조 안에서 이행합니다. 비단 느낌, 무광 느낌, 물결 무늬. 창의적·예술적·감정적인 내용에 맞습니다.
빛줄기와 호 그림자. 빛줄기 하나, 혹은 곡면 반사 하나. 배경은 같은 색계의 진하거나 옅은 쪽. 절제되고 정밀합니다. 기술 내용이 가장 잘 붙습니다.
물결. 부드러운 수채 물결. 팟캐스트와 대화형 내용을 위해 만들었습니다. 진폭은 화면 한가운데로 수렴하면서, 제목을 올 조용한 자리를 남깁니다.
네 가지 스타일에 일곱 가지 색 계열(파랑, 초록, 빨강, 보라, 주황, 검정, 금색), 여기에 네 가지 캔버스 비율을 더합니다. 조합하면 선택지가 크게 늘어납니다. 다만 모든 조합이 같은 선을 지키려 애썼습니다. 색은 과하게 쓰지 않고, 시각적으로 깔끔해서 눈을 치지 않습니다. OpenAI 설계가 좋은 건 그 절제 때문인데, 저는 그걸 깨고 싶지 않았습니다.

어떻게 쓰나요?
Qwen Code에서 이렇게 한마디합니다. “@글 파일 보고 커버 만들어 줘”
글을 읽고 스타일 1~3개를 추천해 줍니다. 고르시면 됩니다 — 여러 개 골라도 돼요. 스타일마다 바탕 그림이 하나씩 나오고, 페이지에서 갈아 타며 비교할 수 있습니다. 색 계열은 프리셋에서 고릅니다. 알아서 튀는 일이 없어요. 물론 처음부터 직접 지정해도 됩니다.
Model Studio CLI가 후보 두 장을 뽑아 옵니다. 마음에 안 들면 prompt를 조절해 다시 돌립니다. 이미지가 정해졌으면 명령 한 줄로 HTML을 조립합니다. 열면 그대로 편집기입니다:
- 캔버스 위 제목을 클릭해 글자를 바로 고칩니다
- 글꼴 5종 클릭 선택: PingFang, Songti, Heiti, Noto Serif, ZCOOL
- 마스크와 글자 크기는 슬라이더로 조절합니다
- 텍스트 색: 흰색, 검은색, 크림색
- 로고 업로드(선택, 고해상도가 필요할 때)
- 내보내기는 1x, @2x, @3x 또는 ⌘Enter
보이는 대로 됩니다. Canvas로 렌더링해서 PNG로 바로 다운로드합니다.
제가 내린 몇 가지 중요한 설계 판단이 있습니다:
바탕 그림에는 글자를 넣지 않습니다. AI 이미지 생성은 중국어로 글자를 쓰면 전부 깨져 나옵니다. 그래서 그림은 그림만, 글자는 HTML로 얹습니다. 이 방안 전체의 기초입니다.
이미지 크기는 캔버스 비율에 못 박습니다. 위챗 공식 계정 첫 이미지가 900×383, 비율 2.35:1이라 생성 이미지도 1344×572를 씁니다. 비율이 틀어지면 내보내기에서 잘리고 구도가 무너집니다.
물결은 여러 색 허용, 단 부드러워야 합니다. 나머지 셋은 엄격히 단색입니다. 물결만 인접 색조 2~3개를 저채도로 허용해요. 수채가 번지듯 해야지, 고채도로 부딪히면 안 됩니다.
prompt는 전부 영어로 씁니다. 중국어 prompt는 이미지 품질이 흔들립니다. 템플릿도 전부 영어로 작성했습니다.
공식 계정에 한정되지 않습니다. 기본 캔버스는 위챗 공식 계정 첫 이미지입니다. 다만 정사각 1080×1080, 가로 16:9, 세로 3:4를 미리 넣어 뒀고, 직접 지정도 됩니다. 글 하나면 공식 계정 커버, 샤오홍슈 커버, 영상 썸네일을 한 번에 뽑을 수 있어요.
스킬은 어떻게 설치하나요? 본인 AI Agent에게 이렇게 말하면 됩니다:
https://github.com/joeytoday/open1v-skills에서 저장소를 클론하고, open1v-openai-cover 디렉터리를 ~/.agents/skills/에 복사해 주세요. SKILL.md가 있는지 확인한 뒤 클론한 저장소는 삭제하면 됩니다.커버 고르느라 20분 뒤지던 것이, 한마디 하고 2분 기다리는 것으로 바뀌었습니다. 그것도 여러 스타일을 골라 가면서요. 기술 블로그 쓰시는 분들, 한 번 써 보세요.