Перейти к содержимому
Transcript Dock
ВойтиНачать бесплатно

Меню сайта

Transcript Dock
ВведениеКак это работает, руководства и что можно расшифровать.
Быстрый стартОтправьте ссылку, дождитесь задачи, экспортируйте транскрипт. Три запроса.
АутентификацияAPI-ключи, области доступа, Idempotency-Key и X-Request-Id.
ЗадачиСоздание, ожидание, список, отмена и повтор задач.
ТранскриптыОбъект транскрипта и экспорт в txt, srt, vtt, json.
ПакетыДо 50 видео в одном запросе.
ЗагрузкиРасшифровывайте ваши собственные аудио- и видеофайлы.
ВебхукиПолучайте уведомление, когда задача или пакет завершится; проверяйте подпись.
ОшибкиВсе коды ошибок, что они значат и что делать.
Лимиты запросовОтправки, задачи в обработке и чтения по тарифу; ответ 429.
Тарифы и кредиты1 кредит за транскрипт по субтитрам, 2 за минуту AI-расшифровки. Тарифы и дополнительные кредиты.
ИсточникиYouTube, TikTok, ваши файлы и прямые ссылки: принимаемые URL и режимы.
MCPНаходите и расшифровывайте видео из Claude, Cursor, Windsurf или собственного агента.
Спецификация OpenAPIСпецификация OpenAPI 3.1 для генерации кода и типизированных клиентов.
Claude CodeОдна команда добавляет Transcript Dock в Claude Code.
Приложение ClaudeДобавьте Transcript Dock как пользовательский коннектор на claude.ai, в Claude Desktop или мобильном приложении.
CursorДобавьте Transcript Dock как MCP-сервер в Cursor.
WindsurfДобавьте Transcript Dock в Windsurf, чтобы Cascade мог находить видео и расшифровывать их.
OpenClawПодключите Transcript Dock к автономным агентам OpenClaw.
19 результатов
Руководства

Транскрипты видео для RAG и конвейеров LLM

Превращайте видео YouTube и TikTok во фрагменты, по которым LLM может искать и на которые может ссылаться: получайте сегменты с таймингом, делите по времени и сохраняйте ссылки с таймкодами.

Обновлено


Коротко: получайте транскрипт в формате JSON, а не простым текстом. Массив segments содержит время начала и конца каждой строки субтитров, поэтому можно делить по времени и сохранять начало как метаданные. Тогда каждый ответ модели может вести на точный момент в видео.

Почему сегменты с таймингом лучше простого текста#

  • Ссылки на источник: фрагмент, который знает, что начинается с 754-й секунды, становится ссылкой на этот момент.
  • Естественные границы: строки субтитров заканчиваются на паузах, поэтому фрагменты редко разрезают предложение пополам.
  • Происхождение: source_origin показывает, взят ли текст у автора, из автоматических субтитров платформы или из транскрипции с помощью ИИ, а language указывает язык.

Получение и разбиение на фрагменты#

Этот код получает один транскрипт и группирует сегменты в окна примерно по минуте. Структура JSON транскрипта описана в справочнике API.

rag_ingest.py
import requests
 
API = "https://www.transcriptdock.com"
H = {"Authorization": "Bearer td_live_YOUR_KEY"}
 
def transcript(url: str) -> dict:
job = requests.post(f"{API}/v1/jobs", headers={**H, "Idempotency-Key": f"rag-{url}"[:128]},
json={"source": {"url": url}, "mode": "captions_only"}).json()
while job["status"] not in ("succeeded", "failed", "cancelled"):
job = requests.get(f"{API}/v1/jobs/{job['id']}", params={"wait": 25}, headers=H).json()
if job["status"] != "succeeded":
raise RuntimeError(job["error"]["code"])
return requests.get(f"{API}/v1/transcripts/{job['result_id']}", headers=H).json()
 
def chunks(t: dict, seconds: float = 60.0):
"""Group caption segments into windows of about `seconds`, never splitting a segment."""
url = t["source"]["canonical_url"]
buf, start = [], None
for seg in t["segments"]:
if start is None:
start = seg["start"]
buf.append(seg["text"])
if seg["end"] - start >= seconds:
yield {"text": " ".join(buf), "start": start, "url": f"{url}&t={int(start)}s" if "youtube" in url else url}
buf, start = [], None
if buf:
yield {"text": " ".join(buf), "start": start, "url": url}
 
t = transcript("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
for c in chunks(t):
print(c["start"], c["url"], c["text"][:80]) # embed c["text"], store start and url as metadata

Много видео#

  • Найдите видео через поиск видео: поиск по YouTube, канал, плейлист или профиль TikTok.
  • Отправьте их как пакет, и вебхук сообщит вашему модулю загрузки, когда завершится каждая задача, вместо опроса.
  • Повторное чтение и экспорт транскрипта бесплатны, а отправка уже обработанной ссылки возвращает сохранённый результат, поэтому повторный запуск загрузки не стоит дважды.

Агенты, которые получают данные по запросу#

Индекс нужен не каждому конвейеру. Агент, подключённый к MCP-серверу Transcript Dock, может вызвать get_video_transcript, когда пользователь упоминает видео, и сразу передать текст в свой контекст. Для фреймворков смотрите LangChain и n8n.