Skip to main content

langchain-easytranscriber

LangChain integration for EasyTranscriber: load YouTube transcripts as Documents, and give agents tools to get a transcript, summarize a video, or search YouTube.

  • EasyTranscriberLoader: YouTube URLs to Documents (transcript text plus metadata, optional AI summary)
  • EasyTranscriberTranscriptTool: transcript of a YouTube video
  • EasyTranscriberSummaryTool: Markdown AI summary of a YouTube video, in 65 languages
  • EasyTranscriberSearchTool: YouTube video search, up to 10 results
  • EasyTranscriberToolkit: the three tools with one API key

Transcripts come from the video's captions, or from speech-to-text when a video has no captions. Videos up to 4 hours are supported.

Install

pip install -U langchain-easytranscriber

Python 3.10+, langchain-core 1.x. Built on the easytranscriber-sdk client.

API key

Create a free account at easytranscriber.com and a key in Dashboard > API Keys. Signup includes 5 credits, and 1 credit is added each day while the balance is below 5. API access is included on every plan.

export EASYTRANSCRIBER_API_KEY="et_..."

Or pass api_key="et_..." to any class.

Credits

Call Credits
Transcript of a cached video 0
Transcript of a new video, up to 2 hours 1
Transcript of a new video, over 2 hours (4-hour maximum) 2
Summary 1, on top of the transcript
YouTube search 1

Plans and prices: pricing.

Document loader

from langchain_easytranscriber import EasyTranscriberLoader

loader = EasyTranscriberLoader(
    [
        "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
        "https://youtu.be/9bZkp7q19f0",
    ],
    include_summary=True,  # adds metadata["summary"], 1 credit per video
    summary_language="English",  # omit to match each video's language
)

for doc in loader.lazy_load():
    print(doc.metadata["title"], doc.metadata["credits_used"])
    print(doc.page_content[:200])

Each Document has the transcript as page_content and this metadata:

Key Value
source the URL you passed
video_id YouTube video ID
title video title, or None
method how the transcript was made: yt-dlp or innertube (captions), deepgram (speech-to-text)
cached True when served from cache at 0 credits
credits_used credits spent on this video, including the summary when requested
summary Markdown summary, only with include_summary=True

Use continue_on_failure=True to skip videos that fail instead of raising. await loader.aload() and loader.alazy_load() use the async client.

Accepted URLs: youtube.com/watch?v=, youtu.be/, /shorts/ and /embed/ links. Bare video IDs are not accepted.

Tools

from langchain_easytranscriber import EasyTranscriberTranscriptTool

tool = EasyTranscriberTranscriptTool()
print(tool.invoke({"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}))

Invoked with a ToolCall, each tool returns a ToolMessage whose artifact holds the API response, including credits_used:

message = tool.invoke(
    {
        "args": {"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"},
        "id": "1",
        "name": tool.name,
        "type": "tool_call",
    }
)
message.artifact["cached"], message.artifact["credits_used"]

In an agent

# pip install -qU "langchain[anthropic]"
from langchain.agents import create_agent
from langchain_easytranscriber import EasyTranscriberToolkit

agent = create_agent(
    model="anthropic:claude-sonnet-5-5",
    tools=EasyTranscriberToolkit().get_tools(),
)
result = agent.invoke(
    {
        "messages": [
            {"role": "user", "content": "Find a recent video on Python asyncio and summarize it."}
        ]
    }
)
print(result["messages"][-1].content)

API errors (for example insufficient_credits or unauthorized), timeouts and connection errors are raised as ToolException. Pass handle_tool_error=True to a tool to return the message to the agent instead.

Development

uv run --group test pytest                      # unit tests, mocked HTTP, no credits
uv run --group lint ruff check . && uv run --group lint ruff format --check .
uv run --group typing mypy
EASYTRANSCRIBER_API_KEY=et_... uv run --group test pytest tests/integration_tests  # live, spends credits

Unit tests include LangChain's standard ToolsUnitTests from langchain-tests.

EasyTranscriber is not affiliated with YouTube or Google. MIT licensed.

Metadata

Release files for langchain-easytranscriber 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for langchain-easytranscriber 0.1.0
File Size Uploaded Provenance Actions
langchain_easytranscriber-0.1.0.tar.gz 12.4 kB With provenance Details for langchain_easytranscriber-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for langchain-easytranscriber 0.1.0
File Interpreter ABI Platform Actions
langchain_easytranscriber-0.1.0-py3-none-any.whl Python 3 none any Details for langchain_easytranscriber-0.1.0-py3-none-any.whl

Total release size: 24.2 kB

Release files / langchain_easytranscriber-0.1.0.tar.gz

Download URL langchain_easytranscriber-0.1.0.tar.gz
Size 12.4 kB
Tags Source
SHA-256 checksum
How to use checksums
79894ada453972f18301b677ba3892eeecd42d739622e5f711965356893b78b7
BLAKE2b-256 checksum
How to use checksums
3f110b4f8e843e5c2089d59787b9885cbc21a2c4b675365162dc0c878316e394
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.

Transparency log

Release files / langchain_easytranscriber-0.1.0-py3-none-any.whl

Download URL langchain_easytranscriber-0.1.0-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
12bc0f85a7a3436727096814429bdd87411eafd04040fd7f4890126b48f53996
BLAKE2b-256 checksum
How to use checksums
69e6d3bab70a8068955a071e56b7f13c55588890da91a7c02bb8fdc985a3d413
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.

Transparency log

Security for langchain-easytranscriber 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for langchain_easytranscriber-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page