당신 시간의 알찬 소비  ·  당신 주변의 변화를 관찰합니다

Tech

AI로 전자책 자동 변환 파이프라인 만들기1인 출판 EPUB 제작 자동화 삽질기

애들빙자여행러 · 2026년 9월 21일

한 줄로 시작하면 이렇습니다. 책을 팔고 싶었는데, 결제 시스템 만들다가 접었고, 유통사에 넘기려니 전자책 편집이 막막했고, 그래서 원고를 EPUB으로 바꿔주는 자동화 파이프라인을 만들었고, 그 김에 편집 도구까지 만들려다가 결국 원래 편집 프로그램을 배우는 쪽으로 돌아갔습니다.

정리하면 별거 아닌 것 같은데, 실제로 겪을 땐 매번 "이게 맞나?" 싶은 갈림길이었어요. 그 갈림길에서 어떤 판단을 했는지를 남겨두면, 비슷한 고민을 하는 분들에게 지름길이 될 것 같아서 정리합니다.


01시작은 단순했다 — "내 사이트에서 팔면 되지 않을까"

AI로 전자책 자동 변환 파이프라인 만들기

원고를 하나 붙잡고 몇 달을 썼습니다. 『맛의 문명사』라는, 음식과 문명의 관계를 다루는 책이었어요. 원고가 쌓이니 자연스럽게 다음 질문이 왔습니다. 이걸 어떻게 세상에 내놓지?

제가 운영하는 매거진 사이트가 있었으니, 처음 떠오른 답은 당연했습니다. "여기서 그냥 팔면 되잖아." 결제 버튼 하나 붙이고, 책 읽는 페이지 만들고, 끝.

그런데 이 생각이 깨지는 데 오래 걸리지 않았습니다.


02첫 번째 벽 — "직접 만들기"의 숨은 가격표

결제를 붙이려면 PG사(결제 대행사)와 계약해야 합니다. 그런데 이 계약이라는 게 심사만 받으면 끝나는 게 아니었어요.

  • 가입비가 있었습니다.
  • 매년 갱신 비용도 있었습니다. 수십만 원 단위로요.
  • 심사 기간도 짧지 않았습니다. 한 달 가까이.

책 한 권 팔아서 매년 이 고정비를 감당할 수 있을까 계산해보니 답이 안 나왔습니다. 여기서 배운 게 하나 있어요.

"내가 다 만들면 되지"는 종종 눈에 보이는 개발 비용만 계산하고, 눈에 안 보이는 운영 비용을 빼먹는다.

결제 시스템은 한 번 만들고 끝나는 게 아니라, 매년 돈을 내며 유지해야 하는 구조였던 거죠. 작은 책 한 권을 위해 지기엔 무거운 짐이었습니다.

그래서 방향을 틀었습니다. 직접 팔지 말고, 이미 결제 시스템을 갖춘 곳(교보문고, 리디북스 같은 전자책 유통사)에 맡기자. 유통사는 수수료를 가져가지만, 저는 고정비 없이 시작할 수 있습니다.

이건 되게 단순한 계산이지만, 처음엔 잘 안 보였습니다. "내가 다 통제하고 싶다"는 마음이 앞서면, 남에게 맡기는 옵션이 잘 안 떠오르거든요.


03두 번째 벽 — 그런데 EPUB을 어떻게 만들지?

유통사에 책을 내려면 EPUB이라는 전자책 표준 형식이 필요합니다. 그리고 이걸 처음 만들어보는 사람에게는 이 지점이 생각보다 큰 문턱이에요.

EPUB 편집 프로그램으로 Calibre라는 게 있다는 걸 알게 됐는데, 처음 열어보니 화면이 꽤 낯설었습니다. 메뉴가 뭘 뜻하는지, 목차를 어떻게 연결하는지, 표지는 어떻게 박아 넣는지 — 하나하나가 새로 배워야 할 용어와 절차였어요.

그런데 여기서 한 가지를 알게 됐습니다.

EPUB은 사실 특별한 파일이 아닙니다. 웹페이지 여러 장을 압축 파일 하나에 묶어놓은 것뿐입니다.

"어차피 속은 HTML이잖아? 그럼 새 프로그램을 배우느니 내가 아는 방식으로 직접 만들어버리면 되지 않을까." 이미 웹사이트를 만들어본 경험이 있었으니, 이 생각이 합리적으로 느껴졌습니다.


04그래서 파이프라인을 만들기로 했다

목표를 이렇게 정했습니다.

원고 마크다운 파일 하나를 넣으면, 사람 손을 최대한 안 타고 EPUB이 뚝딱 나오게 만들자.

여기서 AI(정확히는 AI가 붙은 코딩 도구)를 실무에 투입했습니다. 다만 역할을 아주 명확하게 나눴어요.

AI는 "구조를 만드는 일"만 한다. "문장을 고치는 일"은 절대 하지 않는다.

이게 왜 중요하냐면, AI에게 "이 원고를 챕터별로 나눠줘"라고 시키면, 나누는 김에 맞춤법도 슬쩍 고치고, 어색한 문장도 슬쩍 다듬고, 중복된 것 같은 문단은 조용히 빼버릴 수 있습니다. 시키지 않아도 그럽니다. 23개 장 분량에서 이게 누적되면, 원고 어디가 언제 바뀌었는지 아무도 모르게 됩니다.

그래서 가장 먼저 만든 건 EPUB 변환 스크립트가 아니라, **"원본과 산출물이 글자 하나까지 똑같은지 대조하는 검사 스크립트"**였습니다. 이게 실패하면 나머지 과정 전체가 멈추도록 만들었어요. 일부러 원고 한 글자를 바꾼 가짜 파일로 이 검사가 제대로 실패하는지부터 확인하고 나서야, 진짜 작업을 시작했습니다.

우리는 이미 마크다운으로 썼기 때문에 이 문제는 없었지만, 워드로 쓰셨다면 이런 변환 단계가 하나 더 필요합니다.

자동화를 시작하기 전에, 자동화가 실수를 저질렀을 때 알아챌 방법부터 만든다. 이게 이번 작업 전체에서 가장 중요한 원칙이었어요.


05실제로 부딪힌 일들 — 사소하지만 발목을 잡는 것들

이론은 깔끔한데, 실제로 돌려보니 예상 못 한 곳에서 계속 걸렸습니다. 몇 가지만 옮겨볼게요.

5-1. 문서에 적어둔 목차 구조가 실제 원고와 달랐다

작업 지시서에 "3부는 4개 장, 4부는 5개 장"이라고 손으로 적어뒀는데, 실제 원고를 기계로 읽어보니 "3부는 5개 장, 4부는 5개 장"이었습니다. 단순한 오타 같지만, 이 숫자가 틀리면 나중에 "2부를 산 사람에게 3부 내용이 보이는" 사고로 이어질 수 있는 숫자였어요.

교훈은 이거였습니다. 여러 곳에서 같이 쓰는 숫자는, 사람이 문서에 손으로 옮겨 적지 말고 원본 파일에서 기계가 직접 세어서 확정하게 만들어야 한다. 사람의 기억과 손은 틀리기 쉽지만, 파일을 세는 코드는 안 틀립니다.

5-2. 변환 프로그램이 챕터를 하나로 뭉쳐버렸다

EPUB 변환 프로그램(Pandoc)은 "제목처럼 생긴 줄"을 기준으로 챕터를 나눕니다. 그런데 웹사이트에서 읽을 원고 파일에는 제목이 따로 들어있지 않은 구조였어요(제목은 별도 목차 파일에 있었거든요). 그래서 프로그램 입장에서는 "제목이 하나도 없네? 그럼 전부 한 덩어리네"라고 판단해버린 겁니다. 23개 파일을 넣었는데 결과물은 1개 챕터로 나왔어요.

해결책은 원본을 고치는 게 아니라, 변환할 때만 임시로 제목을 붙여주는 중간 단계를 하나 끼워 넣는 것이었습니다. 원본은 그대로 두고, 변환 직전에만 "이 부분은 제목이야"라고 표시해주는 거예요.

5-3. "빈 값이어도 괜찮아야 한다"는 요구와 실제 규격이 충돌했다

책에 ISBN(국제표준도서번호)이 아직 없는 상태였습니다. "ISBN 없이도 일단 만들어질 수 있게 하자"고 정해뒀는데, 막상 만들어보니 EPUB 표준 검사기가 오류를 냈습니다. EPUB 규격상 이 항목은 아예 비워두는 게 허용되지 않았던 거예요.

그래서 ISBN이 없으면 임시로 고유한 대체 번호를 자동 생성해 채워 넣고, 나중에 진짜 ISBN이 나오면 그걸로 교체하는 식으로 바꿨습니다. "비워둬도 된다"는 바람과 "표준은 그걸 허용하지 않는다"는 현실이 부딪힐 때는, 현실 쪽 규칙을 찾아서 맞추는 수밖에 없더라고요.

5-4. 사소한 환경 문제가 제일 오래 잡아먹었다

정작 가장 시간을 많이 쓴 건 이런 "핵심 로직" 문제가 아니라, 개발 도구를 설치하는 과정에서 생긴 자잘한 충돌들이었습니다. 특정 프로그램이 요구하는 설치 조건이 컴퓨터 환경과 안 맞아서 우회 방법을 찾아야 했던 것, 오래된 버전의 기본 도구가 특정 상황에서 오작동하는 것 같은. 겉보기엔 별거 아닌데 몇 시간씩 잡아먹는 종류의 문제들이었어요.


06그리고 편집 도구까지 직접 만들려다가, 다시 원점으로 돌아왔다

여기까지 EPUB이 자동으로 뚝딱 나오는 파이프라인이 완성됐습니다. 그런데 실제로 원고를 열어보니 진짜 필요한 건 따로 있었어요. 오타를 고치는 것뿐 아니라 이미지를 특정 위치에 넣고, 사진 아래 설명 글(캡션)을 붙이고, 특정 문단을 강조 박스로 감싸는 것 같은 세밀한 편집이 필요했습니다.

여기서 또 한 번 "그럼 이것도 도구를 만들어서 해결할 수 있지 않을까?" 하는 생각이 들었습니다. 이번에는 방향을 조금 다르게 접근했어요.

먼저 시도한 건 "Calibre 자체를 AI와 연동해서, 말로 편집을 시킬 수 있지 않을까"였습니다. "이 문단 위에 이미지 넣고, 아래 캡션 달아줘" 같은 자연어 명령으로 실제 편집 프로그램을 조작하는 그림이었죠. 되면 제일 이상적인 방법이었을 겁니다.

그런데 알아보니, 지금 수준의 AI 연동 기술로는 이게 불가능하다는 결론에 도달했습니다. 기존 편집 프로그램을 자연어로 원격 조종하는 건, 아직 그 정도로 성숙한 방법이 없었어요.

그럼 "그 기능을 내가 직접 만들면 되지 않을까"로 넘어갔습니다. 그런데 여기서 문제를 다시 들여다보니, 애초에 제가 하려던 게 오탈자 몇 개 고치는 수준이 아니라, 이미지 배치·캡션·박스 스타일까지 다루는 제대로 된 편집기였다는 걸 깨달았습니다. 그 말은 곧, 제가 만들려는 게 사실상 Calibre가 이미 하고 있는 일을 처음부터 다시 만드는 것이었다는 뜻이에요.

책 한 권을 위해 전자책 편집 프로그램 하나를 통째로 새로 만드는 건, 아무리 봐도 배보다 배꼽이 더 큰 일이었습니다.

그래서 결론을 뒤집었습니다. 도구를 새로 만드는 대신, 이미 잘 만들어져 있는 Calibre를 제대로 배워서 쓰기로 했습니다. 처음엔 낯설어서 피하고 싶었던 그 프로그램을, 결국 시간을 들여 배우는 쪽이 가장 빠른 길이었던 거예요.

돌아보면 이 판단까지 세 단계를 거쳤습니다.

  1. "Calibre가 낯서니 내가 아는 방식으로 직접 만들자" → 자동화 파이프라인은 실제로 유용했음
  2. "그럼 AI로 Calibre 자체를 조종하면 어떨까" → 지금 기술 수준에서는 불가능
  3. "그럼 내가 편집기를 직접 만들자" → 알고 보니 그건 기존 도구를 처음부터 다시 만드는 것과 같았음 → 결국 기존 도구를 배우는 게 정답이었다

07정리 — 비슷한 길을 가려는 분들에게

돌아보면 이 과정 전체가 **"어디까지 직접 만들고, 어디서부터 남에게(또는 기존 도구에게) 맡길 것인가"**를 계속 판단하는 일이었습니다.

  • 결제 시스템: 직접 만들지 않고 유통사에 맡겼습니다. 고정비를 지는 것보다 수수료를 내는 게 초기에는 훨씬 합리적이었어요.
  • 전자책 변환: 직접 만들었습니다. 반복될 작업이었고, 한번 만들어두면 다음 책부터는 거저 나오니까요.
  • 세밀한 편집: 직접 만들려다가, 결국 기존 프로그램을 배우는 쪽으로 돌아갔습니다. 필요한 기능의 범위를 제대로 들여다보니, 그건 도구를 만드는 게 아니라 도구를 하나 더 발명하는 일이었습니다.

세 판단의 기준은 결국 같은 질문이었습니다. "이걸 몇 번이나 다시 쓸 것인가"와 "직접 만드는 것이, 이미 있는 것을 배우는 것보다 정말 더 쉬운가."

첫인상만으로는 이 답을 알 수 없더라고요. 결제는 "만들면 되지" 싶다가 비용을 보고 접었고, 편집 도구는 "이건 만들 수 있겠는데" 싶다가 범위를 들여다보고 나서야 접었습니다. 직접 만들지, 남에게 맡길지는 시작할 때가 아니라, 실제로 뭐가 필요한지 구체적으로 파악한 다음에 판단해야 한다는 게 이번에 제일 크게 배운 것 같습니다.

그리고 AI를 실무에 끼워 넣을 때 얻은 교훈은 이거였어요.

AI에게 "구조를 만드는 일"은 믿고 맡기되, "판단이 필요한 일"은 반드시 사람이 확인하는 장치를 먼저 만들어둘 것. 그리고 AI가 모든 걸 대신할 수 있다고 가정하지 말고, 안 되는 지점은 빠르게 인정하고 다른 길을 찾을 것.

책 한 권을 세상에 내놓는 일이 이렇게 많은 갈림길을 지나야 하는 줄은 몰랐습니다. 그런데 그 갈림길마다 "이게 정말 필요한가"를 한 번씩 되물은 덕분에, 필요 이상으로 무겁게 만들지 않고 여기까지 올 수 있었던 것 같습니다.

# 전자책 만들기# 자비출판# 1인 출판# EPUB 만드는 법# 마크다운 EPUB 변환# AI 전자책 제작# 전자책 자동화# 전자책 유통사 입점# Calibre 사용법# Pandoc EPUB# 전자책 자체 제작# 1인 출판 자동화# AI 출판 파이프라인# 전자책 편집 도구# ISBN 신청 방법# 자가출판 노하우

COMMENTS

의견을 남기려면 로그인이 필요합니다.

NO COMMENTS YET.
Nemone Store Banner