개발 가이드 · 연구자

YouTube로 검색 가능한 공공 회의 아카이브 만드는 법

수천 곳의 시의회, 교육위원회, 의회가 회의를 YouTube에 공개합니다. 녹화본은 공개되어 있지만 색인 없는 세 시간짜리 회의라 사실상 검색할 수 없습니다. 자막 아카이브는 지방 정부를 더 투명하게 만들고 조사하기 쉽게 해 줍니다.

추천 대상
시민 연구자, 지역 언론인, 정책 분석가
개발 기간
1–2주
API 엔드포인트
/playlists/resolveasr_options.speakerLabels/batch

해결하는 문제

지역 언론인과 주민은 공직자들이 용도 지역 변경, 예산 항목, 학교 정책에 대해 무슨 말을 했는지 알고 싶어 합니다. 이를 찾으려면 여러 회의에 걸친 몇 시간 분량의 영상을 뒤져야 합니다. 안건과 회의록은 전체 논의를 담는 경우가 드물고, 많은 지역 언론사는 더 이상 모든 회의에 기자를 보낼 여력이 없습니다.

첫 버전에 넣을 기능

  • 기관 채널의 모든 회의 자동 수집
  • 공직자별로 검색할 수 있는 화자 라벨
  • 수년치 회의를 아우르는 주제·키워드 검색
  • 특정 주제나 주소가 논의되면 알림
  • 녹화본의 정확한 장면으로 이어지는 공유 링크

단계별 개발 방법

  1. 01

    회의 영상 수집

    의회 채널이나 회의 재생목록을 조회하고, 새 업로드를 계속 확인합니다.

  2. 02

    화자와 함께 텍스트 변환

    speakerLabels를 활성화한 ASR을 사용하고, 알려진 이름으로 speakerId를 지정해 각 구간을 발언자에게 귀속시키세요. 회의는 길기 때문에 estimate 엔드포인트로 비용을 미리 확인하세요.

  3. 03

    회의·발언자별 색인

    회의 날짜, 발언자, 타임스탬프와 함께 문단을 저장하고 전문 검색과 시맨틱 검색을 추가합니다.

  4. 04

    알림 추가

    사용자가 거리 이름이나 정책 주제 같은 검색어를 저장하게 하고, 새 회의에서 언급되면 이메일로 알립니다.

스타터 코드

이 아이디어는 "레시피 3: 재생목록을 지식 베이스에 일괄 적재하기" 패턴을 기반으로 합니다. 채널, 프롬프트, 저장소는 원하는 대로 바꿔 쓰세요.

import requests

API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}

playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
                         json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
                               "limit": 100}).json()

ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
    "video_ids": ids,
    "format": {"timestamp": True, "paragraphs": True},
}).json()

# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
    if r["status"] == "completed":
        for p in r["data"]["transcript"].get("paragraphs") or []:
            store(video_id=r["video_id"], start=p["start"], text=p["text"])  # your vector DB

만들 가치가 있는 이유

지역 언론사, 시민단체, 부동산·정책 관련 기업은 알림과 리서치 도구에 비용을 지불합니다. 시민 프로젝트는 보조금으로 운영하거나, 무료 공개 아카이브에 유료 알림을 더하는 경우가 많습니다.

피해야 할 실수

  • 발언자가 많은 긴 회의에 자동 자막만 의존하기: 화자 라벨이 있어야 아카이브가 훨씬 유용해집니다.
  • 분량을 과소평가하기: 회의는 몇 시간씩 이어지므로 밀린 영상을 처리하기 전에 ASR 크레딧을 추정하세요.
  • 맥락 없이 게시하기: 독자가 직접 들을 수 있도록 모든 인용문을 녹화본에 연결하세요.

이 아이디어에 대한 질문

YouTube의 시의회 회의를 텍스트로 변환할 수 있나요?

네. 자막이 있으면 자막을 쓰고, 긴 회의를 더 읽기 쉬운 텍스트로 만들려면 화자 라벨이 포함된 AI 음성 인식을 사용하세요.

누가 말하는지 어떻게 식별하나요?

화자 라벨을 활성화해 화자를 구분하고, 알려진 이름이나 직책 목록과 함께 화자 식별을 사용해 발언자를 지정하세요.

3시간짜리 회의를 변환하는 비용은 얼마인가요?

AI 음성 인식은 부가 기능을 제외하고 시간당 약 40크레딧입니다. 시작하기 전에 estimate 엔드포인트로 정확한 비용을 확인하세요.

오늘 바로 만들어 보세요

매달 무료 크레딧 10개. 신용카드가 필요 없습니다.

검색 가능한 공공 회의 아카이브 만들기 | YouTubeTranscript.dev