🐍 PYTHON SDK

YouTube 스크립트 Python SDK: 공식 PyPI 패키지

Python 애플리케이션에서 YouTube 스크립트를 추출하세요. PyPI에서 설치하고 API 키로 인증한 뒤, 데이터 파이프라인, 리서치 도구, 자동화 스크립트에 스크립트 추출 기능을 통합할 수 있습니다.

설치

터미널
pip install youtubetranscriptdevapi

빠른 시작

Python
from youtubetranscript import YouTubeTranscript

yt = YouTubeTranscript("your_api_key")

result = yt.transcribe("dQw4w9WgXcQ")

print(f"Segments: {len(result.segments)}")
print(f"Duration: {result.duration:.0f}s")
print(f"Words: {result.word_count}")

for seg in result.segments[:5]:
    print(f"[{seg.start_formatted}] {seg.text}")

기능

Python: 번역, 소스, 형식
# Translate to any language
result = yt.transcribe("dQw4w9WgXcQ", language="es")

# Choose caption source
result = yt.transcribe("dQw4w9WgXcQ", source="manual")

# Format options
result = yt.transcribe("dQw4w9WgXcQ", format={"timestamp": True, "words": True})
Python: 일괄 처리 (최대 7,000개 동영상)
batch = yt.batch(["video1", "video2", "video3"])
for t in batch.completed:
    print(f"{t.video_id}: {t.word_count} words")
Python: ASR 오디오 전사
job = yt.transcribe_asr("video_without_captions")
result = yt.wait_for_job(job.job_id)  # polls until complete
print(result.text)
Python: 내보내기 형식
print(result.to_srt())               # SRT subtitles
print(result.to_vtt())               # WebVTT subtitles
print(result.to_plain_text())        # Plain text
print(result.to_timestamped_text())  # Text with timestamps
Python: 검색 및 계정
# Search within transcript
matches = result.search("keyword")

# Account stats
stats = yt.stats()
print(f"Credits: {stats.credits_remaining}")

# History
history = yt.list_transcripts(search="python tutorial", limit=5)

비동기 클라이언트

Python: asyncio
import asyncio
from youtubetranscript import AsyncYouTubeTranscript

async def main():
    async with AsyncYouTubeTranscript("your_api_key") as yt:
        # Single
        result = await yt.transcribe("dQw4w9WgXcQ")

        # Concurrent
        results = await asyncio.gather(
            yt.transcribe("video1"),
            yt.transcribe("video2"),
            yt.transcribe("video3"),
        )

asyncio.run(main())

오류 처리

Python
from youtubetranscript import YouTubeTranscript
from youtubetranscript.exceptions import (
    NoCaptionsError,
    AuthenticationError,
    InsufficientCreditsError,
    RateLimitError,
)

yt = YouTubeTranscript("your_api_key")

try:
    result = yt.transcribe("some_video")
except NoCaptionsError:
    job = yt.transcribe_asr("some_video")
    result = yt.wait_for_job(job.job_id)
except AuthenticationError:
    print("Check your API key")
except InsufficientCreditsError:
    print("Top up at youtubetranscript.dev/pricing")
except RateLimitError as e:
    print(f"Rate limited: retry after {e.retry_after}s")

API 레퍼런스

메서드
transcribe(video, *, language, source, format)
transcribe_asr(video, *, language, webhook_url)
get_job(job_id)
wait_for_job(job_id, *, poll_interval, timeout)
batch(video_ids, *, language)
get_batch(batch_id)
list_transcripts(*, search, language, status, limit, page)
get_transcript(video_id, *, language, source)
stats()
delete_transcript(*, video_id, ids)

TRANSCRIPT 객체

속성 / 메서드
segments
text
video_id
language
word_count
duration
to_srt()
to_vtt()
to_plain_text()
to_timestamped_text()
search(query)

SEGMENT 객체

속성설명
text구간 텍스트
start시작 시간(초)
end종료 시간(초)
duration길이(초)
start_formatted"MM:SS" 형식
start_hms"HH:MM:SS" 형식

크레딧 비용

작업비용
자막 추출1 크레딧
번역2,500자당 1 크레딧
ASR 오디오 전사90초당 1 크레딧
보유한 스크립트 다시 가져오기무료

YOUTUBE-TRANSCRIPT-API(오픈소스)와 비교

인기 오픈소스 패키지인 youtube-transcript-api를 보신 적이 있을 겁니다. 저희 SDK와의 차이점은 다음과 같습니다.

기능YouTubeTranscript.dev SDKyoutube-transcript-api
AI 전사 대체 기능지원: 자막 없는 동영상도 처리미지원: 자막이 없으면 실패
유지보수 및 지원SLA와 함께 적극적으로 유지보수커뮤니티 유지보수, 불규칙한 업데이트
요청 한도 처리자동 재시도 기능 내장수동: 요청 한도를 직접 처리해야 함
재생목록 / 대량 처리 지원일괄 처리 기능 내장수동 반복 처리 필요
YouTube 차단서버 측 처리: IP 차단 위험 없음클라이언트 측 처리: IP가 차단될 수 있음

기타 SDK 및 도구

언어패키지
JavaScript / Nodenpm의 youtube-transcript-api
Dart / Flutterpub.dev의 youtubetranscript
MCP 서버mcp.youtubetranscript.dev

자주 묻는 질문

어떤 Python 버전을 지원하나요?+

Python 3.8 이상을 지원합니다. 타입 힌트를 최대한 활용하려면 Python 3.10 이상을 권장합니다.

youtube-transcript-api와 무엇이 다른가요?+

저희 SDK는 YouTubeTranscript.dev의 공식 패키지입니다. 자막 없는 동영상을 위한 AI 기반 전사, IP 차단을 피하는 서버 측 추출, 내장 요청 한도 처리, 전문적인 지원을 제공합니다. 오픈소스 대안은 기존 자막만 추출하며 클라이언트 측에서 실행됩니다.

Jupyter 노트북에서 사용할 수 있나요?+

네. 동기 API는 Jupyter 노트북과 Google Colab에서 완벽하게 작동합니다. 노트북 환경에서 동시 처리가 필요하면 비동기 API를 사용하세요.

Django와 Flask에서도 작동하나요?+

네. SDK는 특정 프레임워크에 종속되지 않아 모든 Python 웹 프레임워크에서 작동합니다. FastAPI 같은 비동기 프레임워크에서는 비동기 인터페이스를 사용하세요.

Python SDK로 개발을 시작하세요

pip install, 인증, 그리고 몇 분 만에 스크립트 추출까지.

PYPI에서 보기 →

무료로 스크립트 추출을 시작하세요

모든 YouTube 동영상을 몇 초 만에 텍스트로 변환하세요. 신용카드가 필요 없습니다.

YOUTUBETRANSCRIPT.DEV 사용해 보기 →
YouTube 스크립트 Python SDK | YouTubeTranscript.dev