본문으로 건너뛰기

교과서 시를 노래로 만들 수 있을까? Suno Pro로 '시(詩)플리' 유튜브 영상 만드는 법

· 약 11분
Datapopcorn CEO / AI automation educator
이 글과 연결된 글 보기
12편 · 24개 연결
100%
AI 공학 쇼츠 만들기: 스킬을 따라 시작하는 초보 가이드AI 공학 쇼츠 만들기 어려울까? 2차 시도 만에 하나 완성했습니다AI 프롬프트 & 실전 워크플로우 112종 아카이브재난문자가 오면 5분 안에 쇼츠로: 재난문자 API에서 인스타·텔레그램·카카오톡·웹까지 자동 배포한 11단계인스타 '댓글 남기면 DM 보내드려요', 유료 툴 없이 직접 만들기러다이트(Ludyte) 가입부터 첫 영상까지: 무료 9회로 직접 해본 기록(세일즈·마케팅) 쿠팡 광고 116클릭 주문 0건, 반려된 릴스, 그리고 교회 단체 주문: 성경키링 세일즈 한 달사진첩 300GB, Claude Opus 5.5한테 영상으로 정리시키면 볼 만할까요?AI 영상 모션그래픽 참고 사이트 2곳: Prompt Motion과 Skillry 사용법교과서 시를 노래로 만들 수 있을까? Suno Pro로 '시(詩)플리' 유튜브 영상 만드는 법수퍼톤 서비스 종료 소식, 무엇이 확인됐고 무엇을 기다려야 할까Codex에 영상 넣고 "자막 따줘" 한마디|AI로 영상 자막 자동 생성하는 방법

드래그로 이동 · 휠/두 손가락으로 확대 · 방향키로 글 선택 · 0으로 맞춤. 실선: 본문 링크, 점선: 시리즈·주제의 대표 연결.

표시된 글 12편 목록
전체 글 연결 탐색

저작권이 끝난 시 한 편과 Suno Pro 구독이 있으면, 시 원문 그대로 부르는 노래에 장면 이미지와 가사 자막을 입힌 1080p 유튜브 영상을 만들 수 있습니다. 저희가 윤동주·이육사·이상화의 시 6편으로 실제 채널에 올린 과정을 그대로 따라 할 수 있게 정리했고, 영상·썸네일을 만드는 스크립트도 함께 드립니다.

윤동주, 이육사, 이상화의 시로 만든 시(詩)플리 썸네일 6장

이 글은 이런 분께 필요합니다​

교과서에서 읽던 시를 노래로 들려주는 채널을 해보고 싶은 분, 국어 수업 자료로 시를 노래로 만들어 보고 싶은 선생님, Suno로 곡은 만들어 봤는데 그다음 영상까지는 못 가본 분을 위한 글입니다.

준비물은 이렇습니다.

  • Suno Pro 구독: 월 $10(연간 결제 시 월 $8)입니다. 이유는 바로 아래에서 설명합니다.
  • Mac 또는 PC와 코드 편집기(IDE): VS Code나 Cursor 등에서 Claude Code·Codex 같은 AI에게 명령 실행을 맡길 수 있으면 충분합니다.
  • 이미지 생성 AI: 장면 그림 10~16장을 만듭니다. 어떤 도구든 괜찮지만, 그 도구의 상업적 이용 조건은 따로 확인하세요.
  • 유튜브 채널

먼저 알아둘 것: 무료 플랜으로는 '연습'까지만 됩니다​

저희는 처음에 무료 플랜으로 시작했다가 중간에 막혔습니다. 같은 실수를 하지 않도록 무료 플랜의 한계부터 정리합니다. 2026년 10월 기준 Suno 공식 안내와 저희가 직접 겪은 내용입니다.

무료Pro
쓸 수 있는 모델v6-miniv6, v6-wild
다운로드2026년 9월 3일 이전 가입자는 평생 7회 체험 다운로드. 이후 가입자는 가끔 주어지는 체험 다운로드뿐매월 20곡
상업적 이용불가 (개인·비상업 용도만)가능 (구독 중에 다운로드한 곡)
동시 생성공유 대기열 4개우선 대기열 10개

가장 큰 함정은 다운로드입니다. 무료로도 곡은 얼마든지 만들고 Suno 안에서 들을 수 있지만, 파일로 받는 건 평생 7번이 끝입니다. 저희는 7번을 시 7편에 다 썼고, 그 뒤로는 곡당 $4.99에 낱개로 사라는 안내가 나왔습니다. 곡 페이지의 음원 주소를 직접 열면 403 오류가 나고, 재생할 때 내려오는 파일은 암호화돼 있어 쓸 수 없습니다. 외부 다운로더는 Suno 약관 위반입니다.

두 번째 함정은 상업적 이용입니다. 체험 다운로드로 받은 곡은 개인·비상업 용도로만 쓸 수 있어서, 수익 창출을 켤 유튜브 채널에는 맞지 않습니다. Suno 안내는 "유료 구독 중에 다운로드한 곡"에 상업적 권리를 준다고 되어 있습니다. 그래서 무료로 받아둔 파일이 있다면, Pro 가입 후 같은 곡을 다시 받아 그 파일로 교체하는 쪽이 안전합니다. 저희 채널의 6편도 무료 체험 다운로드로 받은 파일이라, 수익화 전에 Pro로 다시 받아 교체해야 합니다.

정리하면, 무료 플랜은 곡 분위기를 시험해 보는 데까지만 쓰고 실제로 올릴 곡은 Pro에서 받으세요. Pro는 2,500크레딧이라 생성 횟수는 넉넉합니다. 실제 한도는 월 20곡 다운로드이고, 남은 횟수는 다음 달로 넘어가지 않습니다.

Step 1. 저작권이 끝난 시를 고릅니다​

시 원문을 그대로 가사로 쓰기 때문에, 시 자체의 저작권부터 확인해야 합니다. 한국 저작권법에서 시는 작가 사후 70년까지 보호됩니다. 다만 2013년에 50년에서 70년으로 늘어날 때 이미 끝난 저작물에는 소급되지 않아서, 1962년 12월 31일 이전에 세상을 떠난 시인의 시는 지금 자유롭게 쓸 수 있습니다.

저희가 고른 시와 시인의 사망 연도입니다.

시시인시인 사망
서시, 쉽게 씌어진 시, 자화상, 참회록윤동주1945
광야이육사1944
빼앗긴 들에도 봄은 오는가이상화1943

같은 기준으로 윤동주의 「십자가」·「간」·「길」·「소년」, 김소월의 「가는 길」도 후보가 됩니다. 반대로 김춘수의 「꽃」(2004년 별세)처럼 교과서에 실린 시라도 1963년 이후에 돌아가신 분의 작품은 아직 보호 중입니다. 원문은 한국저작권위원회 공유마당처럼 출처가 분명한 곳에서 가져오세요. 현대어로 고친 판본은 편집자의 손이 들어간 경우가 있습니다.

Step 2. Suno에서 시 원문으로 곡을 만듭니다​

Suno의 Create 화면에서 Advanced 탭을 고르고, 모델은 Pro에서 쓸 수 있는 v6을 고릅니다. 저희 곡은 무료 플랜이라 v6-mini로 만들었습니다. 같은 방법을 v6에서도 쓸 수 있지만, 음질이나 발음 차이는 직접 비교해 보지 못했습니다.

Suno Create 화면의 Advanced 모드에 서시 가사와 스타일을 넣은 모습

Lyrics에는 시 원문을 한 글자도 바꾸지 않고 넣고, 줄 사이에 [Verse], [Chorus] 같은 구간 태그만 붙입니다. 시에는 후렴이 없으니, 가장 울림이 큰 구절을 [Chorus]로 한 번 더 부르게 하면 노래 모양이 잡힙니다. 서시는 이렇게 넣었습니다.

[Intro]

[Verse 1]
죽는 날까지 하늘을 우러러
한 점 부끄럼이 없기를,
잎새에 이는 바람에도
나는 괴로워했다.

[Verse 2]
별을 노래하는 마음으로
모든 죽어 가는 것을 사랑해야지
그리고 나한테 주어진 길을
걸어가야겠다.

[Chorus]
오늘 밤에도 별이 바람에 스치운다.

[Verse 3]
죽는 날까지 하늘을 우러러
한 점 부끄럼이 없기를,

[Final Chorus]
별을 노래하는 마음으로
모든 죽어 가는 것을 사랑해야지
오늘 밤에도 별이 바람에 스치운다.

[Outro]
별이 바람에 스치운다.

Styles에는 시의 분위기에 맞는 장르를 영어로 적습니다. 여섯 편을 모두 같은 장르로 만들면 플레이리스트가 단조로워져서, 곡마다 다르게 잡았습니다.

시실제로 넣은 스타일
서시Korean indie folk ballad, warm gentle male vocal, fingerpicked acoustic guitar, soft piano, swelling strings, starry night, pure and hopeful, slow tempo, intimate to uplifting
쉽게 씌어진 시lo-fi jazz ballad, rainy night in a small room, soft Rhodes piano, brushed drums, upright bass, rain ambience, intimate breathy male vocal, melancholic, warm vinyl texture
자화상acoustic indie folk waltz, soft female vocal, nylon-string guitar, cello, light glockenspiel, autumn night, introspective and tender, 3/4 time
참회록slow dark blues ballad, gritty soulful male vocal, clean electric guitar with tremolo, Hammond organ, minor key, confessional and haunting, late night
광야epic cinematic orchestral, Korean traditional daegeum flute and janggu drums, powerful male tenor, choir, vast and majestic, slow build to a grand climax
빼앗긴 들에도 봄은 오는가Korean folk rock, bright spring morning, strummed acoustic guitar, harmonica, warm bass, live drums, male vocal, bittersweet and longing, builds to an anthemic chorus

Create를 누르면 한 번에 두 곡이 나옵니다. 둘 다 끝까지 들어보고 가사를 빠뜨리거나 뭉개지 않은 쪽을 고르세요. 노래로서 더 좋은 쪽보다, 시가 또렷하게 들리는 쪽이 이 채널에는 맞습니다. 둘 다 마음에 들지 않으면 스타일 문구를 조금 바꿔 다시 만들면 됩니다.

Step 3. 고른 곡을 MP3나 WAV로 받습니다​

곡 오른쪽의 ⋯(More options) 메뉴에서 Download를 누르면 형식을 고르는 창이 뜹니다. 여기서 반드시 MP3나 WAV를 고르세요. 저희는 형식을 고르지 않고 받았다가 Opus 코덱의 .m4a 파일을 받았는데, 이 파일은 ffmpeg가 MP4 영상에 바로 넣지 못하고 오류를 냈습니다.

Pro에서 받은 곡만 상업적으로 쓸 수 있으니, 받은 날짜와 플랜을 파일 이름이나 메모에 남겨두면 나중에 확인할 때 편합니다. 받은 파일은 키트 폴더에 audio_곡키.mp3로 저장합니다. 곡 키는 영문 짧은 이름이면 되고, 저희는 「빼앗긴 들에도 봄은 오는가」를 deul로 썼습니다.

Step 4. 키트를 받고 가사 타이밍을 뽑습니다​

시(詩)플리 영상 키트 ZIP 받기 (약 12KB)

키트에는 렌더러, 썸네일 스크립트, 가사 타이밍 정렬 스크립트와 서시·빼앗긴 들 두 편의 실제 설정 파일이 들어 있습니다. 압축을 풀고 IDE에서 그 폴더를 연 다음, AI에게 이렇게 맡기면 됩니다.

이 폴더의 README.md를 읽고 준비물을 설치해줘.
whisper.cpp와 ggml-small 모델도 받아줘.
그다음 audio_deul.mp3로 README의 "1) 가사 타이밍"을 실행하고,
align_lines.py가 MISSING으로 표시한 줄이 있으면 알려줘.

가사 자막을 노래에 맞추려면 각 줄이 몇 초에 시작하는지 알아야 합니다. 여기서는 음성 인식 모델인 Whisper(whisper.cpp)로 노래를 받아쓰고, align_lines.py가 그 결과를 시 원문 줄에 맞춰 lines_deul.json을 만듭니다. Whisper는 노래 속 발음을 "가르마 같은 눈끼를 달아"처럼 틀리게 받아쓰기도 하지만, 자막 글자는 시 원문에서 가져오니 상관없습니다. 필요한 건 시간뿐입니다.

정확도는 직접 재봤습니다. 「빼앗긴 들에도 봄은 오는가」(3분 43초)에서 Suno 쪽에 기록된 실제 가사 시간과 비교했더니, 38줄 중 36줄이 자동으로 맞춰졌습니다. 시작 시각 오차는 중간값 0.09초, 가장 큰 것도 1.9초였습니다. 놓친 2줄은 둘 다 반주가 길게 깔린 뒤의 첫 소절이었습니다. 이런 줄은 MISSING으로 표시되니, 곡을 들으면서 lines_deul.json에 시작·끝 초를 직접 넣어주세요. 저희 Mac에서는 GPU 없이 CPU로 돌렸는데 받아쓰기에 2분 10초가 걸렸습니다.

Step 5. 장면 이미지를 만듭니다​

영상은 장면 이미지 10~16장이 천천히 확대·이동하면서 넘어가는 방식입니다. 이미지마다 따로 프롬프트를 쓰면 그림체가 흔들리니, scenes.json에 곡 전체에 공통으로 붙일 그림체(style) 와 장면 목록을 나눠 적습니다. 서시는 이렇게 시작합니다.

{
"seosi": {
"style": "Cinematic film still, 1940s Korea, shot on 35mm film, fine film grain, deep midnight blue palette with soft silver starlight, quiet and pure, wide 16:9 landscape composition, highly detailed, realistic, no text, no letters, no watermark.",
"scenes": [
["intro", "A vast night sky full of countless stars above a dark hill silhouette, a faint wind moving through tall grass in the foreground, absolute stillness."],
["죽는 날까지", "A young Korean man in a 1940s dark student uniform and cap standing alone on a grassy hill at night, seen from behind, looking up at the starry sky."],
["잎새에 이는", "Extreme close-up of a few leaves on a branch trembling in a night breeze, backlit by faint moonlight, shallow depth of field."]
]
}
}

장면마다 앞에 적은 "죽는 날까지" 같은 짧은 구절이 앵커입니다. 렌더러가 이 구절로 시작하는 가사 줄을 찾아, 그 줄이 불릴 때 장면을 바꿉니다. 그래서 앵커는 가사 줄의 앞부분과 글자가 같아야 합니다.

이미지 생성 AI에는 style + 장면 설명을 붙여서 한 장씩 만들고, p_seosi/s00.png, s01.png처럼 장면 순서대로 저장합니다. 가로 16:9, 가로 1920px 이상이면 됩니다. 스타일 끝에 no text, no letters를 꼭 넣으세요. AI 이미지 속 한글은 거의 항상 깨져 나옵니다.

빼앗긴 들에도 봄은 오는가의 장면 이미지 16장. 봄 들판, 논길, 흰 두루마기의 남자, 호미질하는 손

다 만든 뒤에는 한 장씩 훑어보세요. 저희는 「참회록」의 거울 장면 배경에 붉은 원이 들어갔는데, 일장기처럼 보일 수 있어서 썸네일에서는 뺐습니다. 영상에는 그 장면이 남아 있어 교체할 예정입니다. 일제강점기 시를 다룰 때는 이런 상징이 우연히 들어가지 않았는지 확인할 필요가 있습니다.

Step 6. 영상을 렌더링합니다​

먼저 몇 지점만 미리보기 프레임으로 뽑아 자막 위치와 장면을 확인합니다.

python3 render_mv.py deul 8,100,150

out/ 폴더에 해당 초의 프레임이 JPG로 생깁니다. 괜찮으면 전체를 렌더링합니다.

CHANNEL_NAME="내 채널 이름" python3 render_mv.py deul

렌더링된 영상의 한 장면. 마른 논 옆 도랑 위로 '마른 논을 안고 도는 착한 도랑이' 가사 자막

렌더러가 하는 일은 이렇습니다. 처음 몇 초에 시 제목과 시인 이름을 띄우고, 장면은 앵커 줄에 맞춰 1.2초 크로스페이드로 넘어갑니다. 각 장면은 천천히 확대되거나 옆으로 흐르고, 화면 가장자리를 살짝 어둡게 하고 필름 그레인을 얹습니다. 가사는 화면 아래에 나눔명조로 한 줄씩 나오고, 마지막에 제목 카드로 끝납니다. 간주가 22초 넘게 이어지면 다른 장면을 끼워 넣어 화면이 멈춰 보이지 않게 합니다.

결과물은 1920×1080, 24fps MP4이고, 곡 길이 34분에 260350MB 정도였습니다. 12초 구간을 렌더링하는 데 27초가 걸렸으니, 4분짜리 곡은 10분 안팎을 잡으면 됩니다. 여러 곡을 한꺼번에 돌리면 오히려 느려져서, 저희는 두 곡씩 돌렸습니다.

Step 7. 썸네일을 만들고 유튜브에 올립니다​

썸네일은 장면 하나를 골라 한쪽을 어둡게 하고, 그 위에 PLAYLIST · 시 플리와 첫 구절을 크게 얹는 틀로 통일했습니다. poems.json의 thumb에 쓸 장면, 글자를 놓을 쪽, 크게 쓸 두 줄을 적고 실행합니다.

"thumb": { "scene": "s01", "side": "right", "lines": ["빼앗긴 들에도", "봄은 오는가"] }
python3 make_thumb.py deul

업로드할 때는 아래 형식을 썼습니다.

  • 제목: 첫 구절 | 시(詩)플리 '시 제목'. 예: 지금은 남의 땅 | 시(詩)플리 '빼앗긴 들에도 봄은 오는가'. 이미 잘 되는 플레이리스트 채널들이 시 구절을 제목 앞에 두는 걸 보고 같은 방식을 택했습니다.
  • 설명란: 한 줄 소개, 📖 시(詩)플리 #번호 · 시인 「제목」 (발표 연도), 시 전문, "곡과 영상은 AI로 만들었어요", 해시태그
  • 설정: 카테고리 음악, 언어 한국어. 업로드 화면에서 AI로 만든 콘텐츠인지 묻는 항목은 예로 답합니다. 실제 사람이 부른 것처럼 들리는 AI 노래라서 밝히는 게 맞습니다.
  • 재생목록: 시플리끼리 한 재생목록에 묶어 다음 곡으로 이어지게 합니다.

저희는 하루에 한 편씩, 매일 밤 9시 공개로 예약해 6일 동안 올렸습니다.

실제로 올려보니​

2026년 10월 22일 기준, 6편의 조회수입니다.

영상조회수
빼앗긴 들에도 봄은 오는가104
광야44
자화상33
쉽게 씌어진 시10
서시5
참회록4

구독자 1명인 새 채널에서 시작한 숫자라 크지는 않습니다. 그래도 노래로 듣고 싶은 시와 그렇지 않은 시가 갈렸습니다. 같은 윤동주 시라도 서시와 참회록은 거의 반응이 없었고, 봄 들판을 걷는 「빼앗긴 들에도 봄은 오는가」가 가장 많이 재생됐습니다. 다음 편을 고를 때는 시의 유명세보다 장면이 그려지는 시인지를 먼저 보려고 합니다.

아쉬웠던 점도 있습니다. Suno 곡은 도입부 반주가 20초 넘게 이어지는 경우가 많아, 영상 첫머리가 심심해집니다. 짧은 클립으로 홍보할 때는 클라이맥스 구절에서 시작하는 편이 낫습니다.

막힐 때​

증상원인해결
Create를 연달아 눌렀는데 일부 곡이 생기지 않음동시 생성 한도 (무료 4개, Pro 10개)생성 목록에 새 곡이 생긴 걸 확인한 뒤 다음 곡을 만듭니다
다운로드가 '구매'로만 나옴무료 체험 다운로드 7회 소진Pro로 업그레이드합니다. 무료로 받은 곡도 상업용이면 Pro에서 다시 받습니다
영상 렌더 중 Could not find tag for codec opus 오류Opus 코덱 .m4a를 받음Suno에서 MP3·WAV로 다시 받거나, AI에게 AAC로 변환해 달라고 합니다
첫 소절 자막이 안 나옴Whisper가 긴 반주 뒤 첫 줄을 놓침align_lines.py의 MISSING 줄에 시간을 직접 넣습니다
렌더러가 WARN anchor not found를 띄움장면 앵커가 가사 줄 앞부분과 다름, 또는 그 줄 타이밍이 없음앵커 글자를 가사 줄과 맞추거나, 빠진 줄 타이밍을 채웁니다
화면 속 글씨가 깨진 한글로 나옴이미지 AI가 한글을 그리지 못함프롬프트에 no text, no letters를 넣고, 필요한 글자는 렌더 단계에서 코드로 얹습니다
렌더가 너무 느림여러 곡을 동시에 렌더링두 곡씩 나눠 돌립니다