YouTube Transcript Python SDK: অফিসিয়াল PyPI প্যাকেজ
আপনার Python অ্যাপ্লিকেশনে YouTube ট্রান্সক্রিপ্ট বের করুন। PyPI থেকে ইনস্টল করুন, আপনার API key দিয়ে প্রমাণীকরণ করুন এবং ট্রান্সক্রিপ্ট এক্সট্র্যাকশনকে আপনার ডেটা পাইপলাইন, গবেষণা টুল ও অটোমেশন স্ক্রিপ্টে যুক্ত করুন।
ইনস্টলেশন
pip install youtubetranscriptdevapi
কুইক স্টার্ট
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}")ফিচার
# 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})batch = yt.batch(["video1", "video2", "video3"])
for t in batch.completed:
print(f"{t.video_id}: {t.word_count} words")job = yt.transcribe_asr("video_without_captions")
result = yt.wait_for_job(job.job_id) # polls until complete
print(result.text)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
# 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)ASYNC ক্লায়েন্ট
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())এরর হ্যান্ডলিং
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 রেফারেন্স
TRANSCRIPT অবজেক্ট
SEGMENT অবজেক্ট
ক্রেডিট খরচ
বনাম YOUTUBE-TRANSCRIPT-API (ওপেন সোর্স)
আপনি হয়তো জনপ্রিয় ওপেন-সোর্স youtube-transcript-api প্যাকেজটি দেখেছেন। আমাদেরটি যেভাবে আলাদা:
অন্যান্য SDK ও টুল
সচরাচর জিজ্ঞাসিত প্রশ্ন
কোন Python সংস্করণ সমর্থিত?+
Python 3.8 ও তার উপরে। টাইপ হিন্টের সেরা অভিজ্ঞতার জন্য আমরা Python 3.10+ সুপারিশ করি।
এটি youtube-transcript-api থেকে কীভাবে আলাদা?+
আমাদের SDK হলো YouTubeTranscript.dev-এর অফিসিয়াল প্যাকেজ। এতে আছে ক্যাপশনবিহীন ভিডিওর জন্য AI-চালিত ট্রান্সক্রিপশন, IP ব্লকিং এড়াতে সার্ভার-সাইড এক্সট্র্যাকশন, বিল্ট-ইন রেট লিমিটিং এবং পেশাদার সাপোর্ট। ওপেন-সোর্স বিকল্পটি শুধু বিদ্যমান ক্যাপশন বের করে এবং ক্লায়েন্ট-সাইডে চলে।
আমি কি এটি Jupyter notebook-এ ব্যবহার করতে পারি?+
হ্যাঁ। synchronous API Jupyter notebook ও Google Colab-এ চমৎকার কাজ করে। নোটবুক পরিবেশে একযোগে প্রসেসিংয়ের জন্য async API ব্যবহার করুন।
এটি কি Django ও Flask-এর সাথে কাজ করে?+
হ্যাঁ। SDK কোনো নির্দিষ্ট ফ্রেমওয়ার্কের উপর নির্ভরশীল নয় এবং যেকোনো Python ওয়েব ফ্রেমওয়ার্কের সাথে কাজ করে। FastAPI-এর মতো async ফ্রেমওয়ার্কের সাথে async ইন্টারফেস ব্যবহার করুন।
Python SDK দিয়ে তৈরি শুরু করুন
pip install করুন, প্রমাণীকরণ করুন এবং কয়েক মিনিটেই ট্রান্সক্রিপ্ট বের করুন।
PYPI-তে দেখুন →