⚡ 직접 주제 입력 → 즉시 초안 생성 (Make 시나리오 · 모듈 8개)
✅ 이 글을 마치면: 주제 한 줄 입력 → Blogger 임시보관 초안 1개(맨 위 Unsplash 사진 포함) + 구글 시트에 제목 · 설명 · 상태 · 초안URL · Post ID 자동 기록 · ⏱ 약 30분
색 구분: 노란 상자 = 그대로 입력 · 예시: 회색 점선 = 예시(따라 입력하지 않음) · 초록 상자 = 자동으로 채워짐 · 화면 속 빨간 네모 + 번호 = 확인할 곳
시트에 주제를 미리 쌓아 두고 정해진 시간에 돌리는 방식도 좋지만, 「지금 이 주제로 바로 초안 하나 만들고 싶다」 할 때는 기다리기 답답하죠. 이 글에서 만드는 Make 시나리오 「직접 주제 입력 → 즉시 초안 생성」은 실행 버튼을 누르고 주제 한 줄만 입력하면 끝입니다.
이 시나리오가 하는 일
- 입력한 주제를 구글 시트 새 줄의 A열(주제)에 적습니다.
- Gemini가 그 주제로 제목 · 검색 설명 · 라벨 · 본문을 씁니다.
- 글 제목으로 Unsplash 무료 사진을 1장 검색합니다.
- 사진을 맨 위에 붙여 Blogger에 임시보관(비공개) 초안으로 저장합니다.
- 같은 시트 줄에 제목 · 설명 · 상태 · 초안URL · Post ID를 다시 기록합니다.
준비물
| Make 계정 | 무료 플랜으로 충분 (실행 1번에 모듈 8개 = 약 8 operations) |
| Google 연결 | Make에 저장된 「내 Google 연결」 하나로 Sheets · Blogger 둘 다 사용 (블로그 주인 계정) |
| Gemini 연결 | Google Gemini AI 모듈용 연결 (모델 gemini-2.5-flash) |
| Unsplash Access Key | unsplash.com/developers 에서 앱을 만들면 받는 키. Make의 저장된 연결 안에만 넣습니다 |
| 구글 시트 | 「make 블로그 콘텐츠」 · 시트 이름 「시트1」 · 1행 머리글 A~J (아래 03 이미지) |
전체 흐름: 모듈 8개 한눈에 보기
완성된 시나리오는 아래처럼 8개 모듈이 한 줄로 이어집니다. 화면의 빨간 번호 ①~⑧이 실행 순서예요.

①시트에 주제 추가 → ②Gemini 글쓰기 → ③텍스트 정리 → ④JSON 분해 → ⑤Unsplash 사진 검색 → ⑥JSON 분해 → ⑦블로거 임시글 생성 → ⑧시트에 결과 기록, 이 순서로 연결합니다.
| ① | Google Sheets › Add a Row | 입력한 주제를 새 줄 A열에 추가 | 1 |
| ② | Google Gemini AI › Simple text prompt | 주제로 글 쓰기 (JSON으로 출력) | 2 |
| ③ | Text parser › Replace | JSON 앞뒤 군더더기 지우기 | 3 |
| ④ | JSON › Parse JSON | title · meta_description · labels · content_html로 나누기 | 4 |
| ⑤ | HTTP › Make a request | Unsplash에서 제목으로 사진 1장 검색 | 7 |
| ⑥ | JSON › Parse JSON | Unsplash 응답을 나누기 | 8 |
| ⑦ | Blogger › Create a post | 사진 + 본문으로 임시보관 초안 만들기 | 5 |
| ⑧ | Google Sheets › Update a Row | 같은 줄에 결과 기록 | 6 |
구글 시트 열 구조 (A 주제 ~ J Post ID)
시트 「make 블로그 콘텐츠」의 1행에 아래 머리글 10개를 순서대로 적어 둡니다. 2행부터는 비워 두세요. 시나리오가 알아서 채웁니다.

①1행에 주제~Post ID 머리글 10개를 만들고, ②A열(주제)에 쓸 주제를 적으면 됩니다.
| A | 주제 | ① Add a Row (내가 입력한 주제) | 예시: 초보자를 위한 구글 시트 필터 사용법 |
| B | 키워드 | 비워 둠 (이 시나리오는 Gemini가 키워드를 직접 정함) | — |
| C | 제목 | ⑧ Update a Row ← 4. title | 자동 |
| D | 본문 | ⑧ ← 4. meta_description (검색 설명 문장) | 자동 |
| E | 상태 | ⑧ ← 고정 글자 「임시보관」 | 임시보관 |
| F | 승인 | 비워 둠 (체크박스 · 공개용 시나리오에서 사용) | — |
| G | 초안URL | ⑧ ← Blogger 편집 화면 주소 | 자동 |
| H | 게시URL | 비워 둠 (공개 후 기록용) | — |
| I | 메모 | 비워 둠 (메모 · 오류 기록용) | — |
| J | Post ID | ⑧ ← 5. Post ID | 자동 |
예를 들어 실행할 때 주제 칸에 예시: 초보자를 위한 구글 시트 필터 사용법을 입력하면, 시트 맨 아래 빈 줄(처음이면 A2)에 이 주제가 들어가고, 잠시 뒤 같은 줄 C · D · E · G · J가 채워집니다. 주제 문장은 예시일 뿐이니 원하는 주제로 바꿔 넣으세요.
먼저: 시나리오 입력값 「주제」 만들기
이 시나리오는 시트를 뒤지지 않고, 실행할 때 주제를 물어보는 방식입니다. 그래서 시나리오에 입력값 하나를 만들어 둡니다.
| Name | topic |
| Label | 주제 |
| Type | Text |
| Required | Yes |
Make 편집 화면 아래 도구 막대의 시나리오 입력(Scenario inputs) 설정에서 위처럼 추가하면, 모듈 매핑 패널에 검은색 「topic」 칩이 생깁니다. 실행 일정(Scheduling)은 On demand(누를 때만 실행)로 둡니다.
① Google Sheets › Add a Row (모듈 1)
입력한 주제를 시트에 새 줄로 추가하는 모듈입니다.

①내 Google 연결 ②내 스프레드시트 ③시트1을 고르고, ④주제(A) 칸에 topic을 넣습니다.
| Connection | 내 Google 연결 (블로그 주인 계정) |
| Search Method | Search by path |
| Drive | My Drive |
| Spreadsheet Name | 폴더를 차례로 클릭해 「make 블로그 콘텐츠」 선택 (내 시트) |
| Sheet Name | 시트1 |
| Table contains headers | Yes |
| Use column headers as IDs of the columns | No |
| 주제 (A) | 검은색 「topic」 칩 |
아래로 내려 보면 Values in columns 목록이 나옵니다. 주제 (A)에만 topic 칩을 넣고 나머지는 전부 비워 두세요.

1번 모듈에서는 ①주제(A)만 채우고 ②키워드(B)~Post ID(J)는 비워 둡니다. 나머지는 마지막 6번 모듈이 채워요.
② Google Gemini AI › Simple text prompt (모듈 2)
Model은 gemini-2.5-flash, Text prompt 칸에는 아래 프롬프트 전문을 붙여 넣고 「주제:」 뒤의 {{topic}} 자리에 topic 칩을 넣습니다.
너는 AI를 처음 접하는 초보자에게 쉽게 설명하는 한국어 블로그 작성자야.
아래 주제만 받아서 핵심 키워드와 태그를 직접 만들고, 블로그 글 1편을 써줘.
주제: {{topic}}
[키워드·태그 생성 규칙]
- 주제를 보고 검색에 잘 걸릴 핵심 키워드 1개를 직접 정해.
- 글과 관련된 태그(라벨) 3~5개를 한국어 단어로 만들어. 각 태그는 2~10자.
[SEO 규칙]
1. title: 핵심 키워드를 앞쪽에 넣고, 공백 포함 60자 안팎(60자를 넘기지 마)으로 써.
2. meta_description: 핵심 키워드를 넣어 공백 포함 120~150자로 글 내용을 요약해. 검색 결과에 보이는 설명 문장이야.
3. labels: 위에서 만든 태그 3~5개를 배열로 넣어.
4. content_html:
- 도입부 첫 문단의 첫 두 문장 안에 핵심 키워드를 자연스럽게 넣어.
- 소제목은 <h2> 3~4개를 쓰고, 필요하면 그 아래에 <h3>를 써.
- 문단은 <p>, 목록은 <ul><li>를 써.
- 초보자가 바로 따라 할 수 있는 실용적인 예시를 넣고, 마지막에 요약과 행동을 권하는 문장(CTA)을 넣어.
- 핵심 키워드는 억지로 반복하지 말고 본문 전체에서 자연스럽게 3~5번 써.
- <html>, <head>, <body>, <h1>, <!DOCTYPE> 태그와 마크다운 문법(#, **, - 목록)은 절대 쓰지 마. 글 제목은 Blogger가 따로 보여 줘.
- HTML 속성이 필요하면 큰따옴표 대신 작은따옴표(')를 써.
- 강조할 말은 <strong>강조</strong>처럼 <strong> 태그로만 감싸. **, *, # 같은 마크다운 기호는 content_html 안에 한 글자도 쓰지 마.
[출력 형식]
- 아래 모양의 JSON 객체 하나만 출력해. JSON 앞뒤에 설명, 인사말을 붙이지 말고, 코드블록(```json, ```)으로 감싸지 마.
- 첫 글자는 { 이고 마지막 글자는 } 여야 해.
- JSON의 키와 문자열 값은 반드시 큰따옴표(")로 감싸. 작은따옴표(')는 content_html 안의 HTML 속성에만 써.
- content_html 값은 줄바꿈 없이 한 줄로 이어서 써.
- 글 문장 안에서 따옴표가 필요하면 큰따옴표 대신 「」나 작은따옴표를 써.
{"title": "제목", "meta_description": "메타설명", "labels": ["라벨1", "라벨2", "라벨3"], "content_html": "<p>도입부</p><h2>소제목</h2><p>내용</p>"}
③ Text parser › Replace (모듈 3)
Gemini가 가끔 JSON 앞뒤에 설명 문장을 붙이는데, 그 부분을 지워서 { 부터 } 까지만 남깁니다.
| Pattern | ^[^{]*|[^}]*$ |
| New value | 패널 KEYWORDS의 「emptystring」 칩 (빈칸으로 두지 않기) |
| Global match | Yes |
| Case sensitive | Yes |
| Multiline | No |
| Singleline | No |
| Text | ② 모듈의 「Result」 칩 (2. Result) |
④ JSON › Parse JSON (모듈 4)
JSON string 칸에 ③의 「Text」 칩(3. Text)을 넣습니다. Data structure는 아래 샘플로 만들면 title · meta_description · labels · content_html 칩이 생깁니다.
{"title":"제목","meta_description":"메타설명","labels":["라벨1","라벨2"],"content_html":"<p>본문</p>"}
⑤ HTTP › Make a request: Unsplash 사진 검색 (모듈 7)
④에서 나온 글 제목(4. title)으로 Unsplash에 사진을 검색해 가장 잘 맞는 1장만 받아 옵니다.

①연결은 UNSPLASH_ACCESS_KEY, ②URL에 encodeURL(4.title)과 &per_page=1을 넣고, ③Method는 GET으로 둡니다.
| Authentication type | API key |
| Connection | 저장된 연결 「UNSPLASH_ACCESS_KEY」 (Add로 한 번 만들어 두기) |
| URL | https://api.unsplash.com/search/photos?query= + encodeURL( 4. title 칩 ) + &per_page=1 |
| Method | GET |
URL 칸을 완성하면 이렇게 보입니다.
https://api.unsplash.com/search/photos?query={{encodeURL(4.title)}}&per_page=1
- encodeURL: 한글 제목과 띄어쓰기를 주소에 쓸 수 있는 글자로 바꿔 줍니다. 패널 ⚙(함수) 탭에서 고르세요.
- per_page=1: 검색 결과 중 1장만 받습니다.
아래로 내려서 나머지 설정도 확인합니다.

같은 HTTP 모듈의 아래쪽입니다. ①URL ②Method GET을 확인하고 ③Parse response는 꼭 Yes로 체크하세요.
| Headers · Query parameters | 비워 둠 (키는 연결에 있으니까) |
| Body content type | 비워 둠 (GET이라 필요 없음) |
| Parse response | Yes ← 꼭 체크 |
| Return error if HTTP request fails | Yes |
| Timeout | 40 (초) |
⑥ JSON › Parse JSON (모듈 8)
JSON string 칸에 ⑤ HTTP의 「Data」 칩(7. Data)을 넣습니다. 그러면 8. results[] › urls › regular(사진 주소) 같은 칩을 다음 모듈에서 고를 수 있어요.
⑦ Blogger › Create a post (모듈 5)
사진과 본문을 합쳐 Blogger에 초안으로 저장합니다.
| Connection | 내 Google 연결 (블로그 주인 계정) |
| Blog | 목록에서 내 블로그 이름 선택 |
| Title | 4. title 칩 |
| Content | 아래 예시처럼 사진 태그 + 4. content_html 칩 |
| Labels | 4. labels 칩 (배열 통째로) |
| Status | Draft ← 처음엔 Live(바로 공개)로 보이니 꼭 바꾸기 |
| Date published | 비워 둠 |
Content 칸은 이런 모양입니다. 사진을 못 찾으면 ifempty가 미리 정한 기본 사진 주소를 대신 넣어 오류를 막아요.
<img src='{{ifempty(8.results[1].urls.regular; "(기본 사진 주소)")}}' alt='{{4.title}}' style='width:100%;max-width:800px;height:auto;' /><br>{{4.content_html}}
⑧ Google Sheets › Update a Row (모듈 6)
①에서 추가한 바로 그 줄에 결과를 적습니다. Connection · Search Method · Drive · Spreadsheet Name · Sheet Name은 ①과 똑같이 고르고, Row number에는 ①의 「Row number」 칩(1. Row number)을 넣으세요.

6번 모듈에서 ①제목(C) 4.title ②본문(D) 4.meta_description ③상태(E) 임시보관 ④초안URL(G) ⑤Post ID(J)를 연결합니다.
| 제목 (C) | 4. title 칩 |
| 본문 (D) | 4. meta_description 칩 |
| 상태 (E) | 임시보관 (글자 그대로 입력) |
| 승인 (F) | 비워 둠 |
| 초안URL (G) | https://www.blogger.com/blog/post/edit/ + 「(내 블로그 ID)」 + / + 5. Post ID 칩 |
| 게시URL (H) · 메모 (I) | 비워 둠 |
| Post ID (J) | ' (작은따옴표) + 5. Post ID 칩 |
- (내 블로그 ID): Blogger 관리 화면 주소창의 blogID= 뒤 숫자입니다. 사람마다 다르니 내 것을 넣으세요.
- J열 앞의 작은따옴표 ': Post ID는 아주 긴 숫자라 시트가 1.23E+18처럼 바꿔 버립니다. 앞에 '를 붙이면 글자로 저장돼 그대로 보여요.
실행하기: 주제 입력 → 초안 확인
- 시나리오 화면 아래 「Run once」를 누릅니다.
- 주제 입력 창이 뜨면 예시: 초보자를 위한 구글 시트 필터 사용법처럼 주제를 한 줄 입력하고 실행합니다.
- 모듈 8개에 모두 초록 체크가 뜨면 성공입니다 (보통 30초~1분).
- 시트에서 새 줄의 C · D · E · G · J가 채워졌는지 봅니다.
- Blogger 관리 화면 → 글 목록에서 임시보관을 엽니다.
아래는 실행하기 전 모습입니다. 처음엔 「임시보관(0개)」 · 「게시물 없음」이지만, 실행하고 나면 이 목록에 초안이 1개씩 늘어납니다.

실행 전 블로거 ①임시보관(0개) 상태입니다. ②지금은 "게시물 없음"이지만, 시나리오를 돌리면 여기에 초안이 생깁니다.
체크리스트
- ☐ Scenario inputs에 topic(라벨 주제, Text, Required) 추가
- ☐ ① Add a Row: 시트1 · Table contains headers Yes · 주제(A)에만 topic 칩
- ☐ ② Gemini: gemini-2.5-flash · 프롬프트 전문 · 주제 뒤에 topic 칩
- ☐ ③ Replace: Pattern ^[^{]*|[^}]*$ · New value는 emptystring
- ☐ ④ Parse JSON: 3. Text · 샘플 구조로 Data structure 만들기
- ☐ ⑤ HTTP: API key · UNSPLASH_ACCESS_KEY 연결 · URL에 encodeURL(4.title) · GET · Parse response Yes
- ☐ ⑥ Parse JSON: 7. Data
- ☐ ⑦ Blogger: Status Draft · Content에 사진 태그 + 4. content_html · Labels 4. labels
- ☐ ⑧ Update a Row: Row number = 1. Row number · C/D/E/G/J 매핑 · J 앞에 '
- ☐ Access Key가 URL · 헤더 · 캡처 어디에도 보이지 않는지 확인
- ☐ Blogger 임시보관에서 초안을 읽고 고친 뒤에만 게시
자주 묻는 질문 (FAQ)
Q. ④ Parse JSON에서 오류가 나요.
③ Replace의 New value를 비워 두면 null 글자가 붙어 JSON이 깨집니다. 「emptystring」 칩을 넣었는지 확인하세요. Gemini 답이 너무 길어 잘린 경우도 있으니 한 번 더 실행해 보세요.
Q. 초안에 사진이 안 보여요.
⑤ HTTP의 Parse response가 Yes인지, ⑥ JSON에 7. Data를 넣었는지 확인하세요. 검색 결과가 0장이면 ifempty의 기본 사진이 들어갑니다.
Q. HTTP 모듈에서 401 오류가 나요.
저장된 연결의 Access Key가 틀렸거나 넣는 방식이 다를 때 납니다. Connection 옆에서 연결을 다시 확인하세요. 키를 URL에 직접 붙여 해결하려 하지 마세요.
Q. 시트 J열이 1.23E+18처럼 보여요.
Post ID 칩 앞에 작은따옴표(')를 붙이면 글자로 저장돼 숫자가 그대로 보입니다.
Q. 초안이 바로 공개되면 어떡하죠?
⑦ Blogger의 Status가 Draft인지 꼭 확인하세요. Draft면 임시보관에만 들어가고, 내가 「게시」를 누르기 전엔 아무도 못 봅니다.
Q. 주제 여러 개를 한 번에 넣을 수 있나요?
이 시나리오는 실행 1번에 주제 1개입니다. 여러 개는 주제마다 Run once를 다시 누르면 시트에 한 줄씩 쌓입니다.
Q. B열(키워드)은 왜 비워 두나요?
이 시나리오의 프롬프트가 주제만 보고 핵심 키워드와 라벨을 Gemini가 직접 정하게 돼 있기 때문입니다.
'IT > AI 자동화' 카테고리의 다른 글
| AI 자동화로 블로그 수익까지 5편: 쿠팡파트너스 삽입 + FAQ · 최종 점검 (0) | 2026.10.27 |
|---|---|
| AI 자동화로 블로그 수익까지 4편: SEO 설정 + 서치콘솔·네이버 등록 (0) | 2026.10.26 |
| AI 자동화로 블로그 수익까지 3편: 초안 검토·승인 후 공개 발행 (0) | 2026.10.25 |
| AI 자동화로 블로그 수익까지 2편: Make로 Gemini 비공개 초안 만들기 (0) | 2026.10.25 |
| AI 자동화로 블로그 수익까지 1편: 구글 시트 준비 + 첫 주제 넣기 (0) | 2026.10.25 |