videosays
v1.0.2
Published
Videosays CLI for video transcription, video to text, speech to text, subtitles, and AI agent workflows
Downloads
548
Keywords
Readme
videosays
AI-agent-friendly CLI for video transcription, video to text, speech to text, subtitle extraction, and transcript export.
Videosays turns supported video links or share text into clean transcript text, timestamped timelines, SRT subtitles, and VTT subtitles.
中文:Videosays 是面向 AI Agent 和命令行用户的视频转文字 CLI,支持把公开视频链接或分享文本转成纯文本、带时间轴文本、SRT 字幕和 VTT 字幕。
Supported platforms include Douyin, TikTok, Xiaohongshu, Bilibili, YouTube, and Kuaishou. Availability can vary by source video accessibility, region, platform restrictions, and whether captions or transcribable audio are available.
支持平台包括抖音、TikTok、小红书、Bilibili、YouTube、快手。实际可用性会受视频访问权限、地区、平台限制、字幕或音频可获取性影响。
Install
# Use directly
npx videosays login
# Or install globally
npm install -g videosays
videosays loginRequires Node.js >= 18.
Quick Start
# First use: authorize in the browser, then save API key to ~/.videosays
videosays login
# Transcribe a video link or share text
videosays transcribe "https://www.tiktok.com/@creator/video/123456"
# Export subtitles
videosays transcribe "https://www.bilibili.com/video/BV1234567890" --format srtCommands
videosays login
videosays login --api-key <api-key>
videosays logout
videosays whoami
videosays transcribe <video-link-or-share-text>
videosays transcribe <video-link-or-share-text> --format text
videosays transcribe <video-link-or-share-text> --format timeline
videosays transcribe <video-link-or-share-text> --format srt
videosays transcribe <video-link-or-share-text> --format vtt
videosays status <taskId>
videosays status <taskId> --format srt
videosays balance
videosays history [limit]
videosays helpTranscription Output
By default, transcribe and status use --format text and print only the transcript text to stdout.
Use --format when the user asks for a different result shape:
videosays transcribe "<video-link>" --format text
videosays transcribe "<video-link>" --format timeline
videosays transcribe "<video-link>" --format srt
videosays transcribe "<video-link>" --format vtt
videosays status "<task-id>" --format srtFormats:
text: plain transcript, defaulttimeline: timestamped transcript segmentssrt: SRT subtitle file contentvtt: VTT subtitle file content
输出格式:
text: 纯文本,默认格式timeline: 带时间轴分段srt: SRT 字幕vtt: VTT 字幕
If a task is still running, the command prints a pending block:
VIDEOSAYS_TASK_PENDING
task_id=<task-id>
status=processing
next=videosays status <task-id>Run the next command later until transcript text or the requested format is returned.
Errors are printed to stderr and exit non-zero:
Error: 余额不足,请充值后再提交任务。
Code: insufficient_credits
Next: videosays balance
Recharge: https://videosays.com/dashboard/billingConfiguration
The API key is saved to ~/.videosays by default.
Environment variables:
export VIDEOSAYS_API_KEY="vs_xxxxx"
export VIDEOSAYS_API_URL="https://api.videosays.com"License
MIT
