文档使用transcript1命令行工具
使用transcript1命令行工具
在终端转录视频链接和本地文件,批量处理文件夹、保存字幕,也可输出JSON供脚本和AI智能体读取。
用transcript1直接转录视频链接或本地音视频文件。链接支持YouTube、X、TikTok、Instagram、Facebook和Bluesky,其他平台的版本要求见下文。完整的平台列表和限制见来源与选项。独立版CLI不需要Node.js。
转录社交平台链接,请使用CLI 1.2.0或更高版本。CLI 1.1.0及更早版本只支持YouTube,其他平台的链接会在本地校验时被拒绝。用transcript1 update更新。
上述版本要求针对最初的6个平台。Twitch、Dailymotion、Pinterest、LinkedIn和Snapchat需要更新到已加入对应平台支持的CLI版本,否则链接可能在本地校验时被拒绝。
请使用公开帖子。帖子里有多个视频时,只转录第1个。支持哪些短链接、有哪些限制,见来源与选项。
安装CLI
macOS或Linux支持x64和ARM64,运行:
curl -fsSL https://transcript1.com/install.sh | sh可执行文件默认安装到~/.local/bin。如果需要调整PATH,安装程序会给出提示。要改安装目录,设置TRANSCRIPT1_INSTALL_DIR。
安装后也可以用短命令t1代替transcript1。使用zsh时,安装程序会在~/.zshrc中添加alias transcript1='noglob transcript1',避免不加引号的链接中的?被当作通配符。设置TRANSCRIPT1_NO_MODIFY_SHELL=1可跳过这项配置。
Windows x64请在PowerShell中运行:
irm https://transcript1.com/install.ps1 | iexWindows版安装在%LOCALAPPDATA%\Programs\transcript1,同时提供短命令t1.cmd,并把安装目录加入用户PATH。安装后重新打开终端即可使用。
登录并保存密钥
先运行登录命令:
transcript1 loginCLI会打开浏览器,进入transcript1.com;通过SSH连接或没有图形界面时,则在终端显示链接。确认页面上的代码与终端一致,再点击“Approve”。批准后,CLI会保存名为transcript1 CLI (<computer name>)的密钥,可在“API keys”页面查看。
不想自动打开浏览器,可以用transcript1 login --no-browser,只在终端显示链接。
已有API密钥时,运行transcript1 login --with-key后粘贴即可。也支持通过标准输入读取,例如transcript1 login < key.txt。
CI和AI智能体请通过TRANSCRIPT1_API_KEY提供密钥;它会覆盖本地保存的密钥。没有交互终端或密钥的智能体,可以运行transcript1 login < /dev/null,再把登录链接发给用户批准。
运行transcript1 logout会撤销CLI生成的密钥,并删除本地保存的密钥。如果撤销失败,CLI仍会删除本地密钥,并提示到“API keys”页面手动撤销。登录时粘贴的已有密钥,也需要在该页面撤销。
用链接转录视频
transcript1 'https://youtu.be/dQw4w9WgXcQ'命令会等待转录完成,然后把转录文本写到stdout,进度信息写到stderr。处理YouTube、X、TikTok、Bluesky、Dailymotion和LinkedIn时,优先使用与视频原语言一致的可用字幕;没有可用字幕时,改用AI转录。
在zsh中,建议始终给链接加引号。不加引号时,&会拆开命令;?会被当作通配符,除非使用了安装程序添加的别名。
上传并转录本地文件
transcript1 interview.mp3
transcript1 -f srt -o interview.srt interview.mp3直接传入文件路径,CLI会上传并等待转录完成。文件上限为2GB(2,000,000,000字节),支持的扩展名为mp3、wav、m4a、flac、ogg、opus、mp4、mov、webm和mkv。
批量转录文件和链接
可以同时传入多个文件、链接,或直接指定文件夹:
transcript1 interview.mp3 lecture.mp4
transcript1 -o transcripts/ ./recordings
transcript1 --jobs 4 -o transcripts/ interview.mp3 'https://youtu.be/dQw4w9WgXcQ'支持recordings/*.mp3这样的文件通配符,Windows也可以使用。指定文件夹时,只读取该目录下的媒体文件,不进入子目录,并按文件名排序。批量转录默认将每项转录保存为独立文件,放在./transcripts。用--jobs设置并发数,范围为1到20,默认2。
要从stdin读取输入,用-代替路径,每行放1个链接或文件路径。macOS或Linux的shell示例:
transcript1 -o transcripts/ - < inputs.txtCLI会跳过空行和以#开头的行,内容完全相同的输入只处理1次。
只有1项输入时,-o通常指定输出文件;路径是已有文件夹或以/结尾时,则作为输出目录。多项输入的-o始终表示目录。目录不存在时会自动创建。
处理YouTube链接和本地文件时,如果对应的输出文件已存在,CLI会跳过该项。要重新处理,加上--overwrite:
transcript1 --overwrite -o transcripts/ ./recordings选择格式和转录选项
| 选项 | 用法 |
|---|---|
-f、--format | 选择text(默认)、srt、vtt或json。JSON格式返回API中的转录对象。 |
--speakers | 开启说话人分离,标记为Speaker 1、Speaker 2等。 |
--timestamps | 每行开头添加[hh:mm:ss],只适用于文本格式。 |
--language | 指定ISO 639-1语言代码,或用auto自动识别(默认)。 |
--source | 选择auto(默认)或stt。YouTube、X、TikTok、Bluesky、Dailymotion和LinkedIn有可用字幕轨道时,也支持captions。captions(仅字幕)不会下载音频,也不会改用语音转文字。 |
--fresh | 重新转录链接,不复用最近24小时内已有的转录。 |
同时开启说话人分离和时间戳:
transcript1 --speakers --timestamps --language en interview.mp3--speakers与--source captions不能同时使用。选择auto并开启说话人分离时,会跳过字幕,直接处理音频。YouTube和X仍支持字幕,TikTok、Bluesky、Dailymotion和LinkedIn也可使用可用的字幕轨道。除YouTube外,平台字幕只提供分段时间戳(words: null),即使是自动生成的字幕也没有逐词时间戳。各平台的支持情况和语言规则见来源与选项。
在脚本和AI智能体中使用
能运行shell命令的AI智能体,安装CLI并设置TRANSCRIPT1_API_KEY后,就可以调用transcript1 <link>或transcript1 <file>。客户端通过MCP接入时,请按MCP服务器文档配置。
加上--json后,每项输入处理完就向stdout写入1行JSON,不显示进度、汇总或更新提示:
transcript1 --json 'https://youtu.be/dQw4w9WgXcQ'任务完成时,JSON包含API的转录对象,并附上input和reused。如果转录文本已保存到文件,则返回file,不再包含transcript。还没生成id就报错时,返回input和error,其中error包含code与message。跳过某项输入时,返回input、skipped,以及适用时的file;skipped的值为exists或out_of_minutes,其中exists只用于YouTube链接和本地文件。
只有1项输入且未指定-o时,--json会直接返回含转录文本的对象,忽略-f。多项输入未指定-o时,转录文本保存到./transcripts,每行JSON用file表示路径,不包含transcript。只要保存文件,就由-f决定文件格式。仅需隐藏进度和汇总时,可用-q或--quiet,转录文本和错误仍会输出。
也可以提交后立即返回,稍后再取转录文本:
transcript1 --no-wait interview.mp3
transcript1 get <id>把<id>换成上条命令返回的id。--no-wait默认输出id和状态,与--json合用则输出对象。get会等任务完成后再返回,支持-f、-o、--timestamps、--no-wait、--json和-q。
更新CLI
transcript1 updatestderr连接终端时,CLI每24小时最多检查1次更新,发现新版本会显示提示。设置TRANSCRIPT1_NO_UPDATE_CHECK=1可关闭检查;使用--json或-q时也不显示更新提示。
通过退出码判断执行情况
| 退出码 | 说明 |
|---|---|
| 0 | 全部处理成功,或因输出文件已存在而跳过;后者只适用于YouTube链接和本地文件。 |
| 1 | 至少1项处理失败,或因分钟数不足而跳过。 |
| 2 | 命令用法有误,或登录出现问题。 |
| 130 | 执行被中断。 |
完整命令和选项可通过transcript1 --help查看,直接运行transcript1也会显示帮助。
最后更新 2026年10月18日