본문으로 건너뛰기
← 블로그로 돌아가기
개발 2026년 2월 20일

Gemini API로 콘텐츠 형식 자동 변환하기

블로그 글을 인스타 카드로, 인스타 캡션을 블로그로. Gemini API를 활용한 콘텐츠 변환 파이프라인.

Gemini API AI 콘텐츠 Repasta

문제 정의

콘텐츠 크리에이터들은 같은 내용을 여러 플랫폼에 올린다. 블로그에 쓴 글을 인스타그램에도 올리고, 유튜브 스크립트로도 변환한다. 문제는 각 플랫폼의 포맷이 완전히 다르다는 것이다.

  • 블로그: 1,000~3,000자, 소제목 구조, SEO 키워드
  • 인스타그램: 이미지 중심, 캡션 2,200자 제한, 해시태그
  • 트위터/X: 280자, 핵심만

Repasta는 이 변환을 AI로 자동화한다. Gemini API를 선택한 이유와 구현 과정을 정리한다.

왜 Gemini인가

항목GPT-4oClaudeGemini 1.5 Pro
긴 컨텍스트128K200K1M
가격 (입력/1M토큰)$5$3$1.25
한국어 품질좋음좋음좋음

Repasta에서는 블로그 글 전체를 컨텍스트로 넣어야 한다. 긴 글의 경우 토큰이 많이 필요하고, 비용이 중요하다. Gemini 1.5 Pro는 토큰당 비용이 가장 낮으면서 한국어 품질도 충분했다.

프롬프트 설계

변환 품질은 프롬프트에 달려 있다. 단순히 “블로그를 인스타 캡션으로 바꿔줘”로는 부족하다.

당신은 콘텐츠 변환 전문가입니다.

## 입력
- 형식: 블로그 글 (마크다운)
- 내용: {blog_content}

## 출력 요구사항
- 형식: 인스타그램 캡션
- 길이: 500~800자
- 구조:
  1. 훅 (첫 줄에 관심을 끄는 문장)
  2. 핵심 내용 3~5줄 (줄바꿈으로 구분)
  3. CTA (행동 유도)
  4. 해시태그 10~15개
- 톤: 전문적이지만 친근하게
- 이모지: 각 문단 시작에 1개씩

## 금지사항
- 원문에 없는 정보 추가 금지
- 과도한 감탄사 금지
- 해시태그에 일반적인 태그(#일상, #좋아요) 포함 금지

금지사항이 핵심이다. 금지사항 없이 생성하면 AI가 과도하게 꾸미거나 사실과 다른 내용을 넣는다.

구조화된 출력

Gemini API의 response_schema를 사용하면 JSON 형식으로 응답을 강제할 수 있다.

const result = await model.generateContent({
  contents: [{ parts: [{ text: prompt }] }],
  generationConfig: {
    responseMimeType: 'application/json',
    responseSchema: {
      type: 'object',
      properties: {
        caption: { type: 'string' },
        hashtags: { type: 'array', items: { type: 'string' } },
        hookLine: { type: 'string' },
      },
      required: ['caption', 'hashtags', 'hookLine'],
    },
  },
});

이렇게 하면 파싱 실패 없이 항상 원하는 구조의 데이터를 받을 수 있다.

역방향 변환: 인스타 → 블로그

인스타 캡션에서 블로그 글을 생성하는 건 더 어렵다. 정보량이 적기 때문이다. 여기서는 Gemini의 긴 컨텍스트를 활용해 관련 캡션 여러 개를 한 번에 넣고, 종합 블로그 글을 생성한다.

const relatedCaptions = await fetchCaptionsByTopic(topic);
const prompt = `
다음 인스타그램 캡션 ${relatedCaptions.length}개를 종합해서
하나의 블로그 글로 작성하세요.

${relatedCaptions.map((c, i) => `### 캡션 ${i + 1}\n${c}`).join('\n\n')}
`;

단일 캡션보다 여러 캡션을 합치면 정보량이 충분해져서 블로그 글 수준의 깊이를 확보할 수 있다.

품질 관리

AI 생성 콘텐츠는 반드시 후처리가 필요하다.

  • 길이 검증: 인스타 캡션이 2,200자를 넘으면 재생성
  • 해시태그 중복 제거: AI가 같은 해시태그를 다른 형태로 넣기도 함
  • 팩트 체크 플래그: 원문에 없는 수치나 통계가 포함되면 경고 표시
  • 톤 일관성: 사용자별 톤 프리셋을 저장하고 프롬프트에 반영

정리

AI 콘텐츠 변환은 “API 호출 한 번”이 아니라, 프롬프트 설계 + 구조화 출력 + 후처리 파이프라인이다. Gemini API는 비용 대비 성능이 좋아서 변환량이 많은 SaaS에서 실용적인 선택이다.