跳到主要内容

命令行工具使用说明

1. 说明

tpcli 命令行工具提供通过命令行调用接口能力,例如:

  • 打印签名示例
  • 发起图片/文本/语音/视频调用
  • 查询异步任务结果
  • 批量跑数据

如果在接入过程中,遇到接口耗时异常,也可以通过命令行工具进行诊断(推荐在业务服务器上下载 linux 版本工具行进行诊断)。

2. 密钥下载

请在 控制台管理 - 数字证书 下载,得到 rsa_Key.zip 文件,解压到某一路径,稍后会用到私钥文件 rsa_private_key.pem

密钥下载

3. 命令行工具下载

4. 使用说明

私钥及命令行工具下载完成后,请按照以下步骤操作:

  • 将私钥(rsa_private_key.pem)文件放在命令行工具同一路径下;
  • Mac & Linux 平台用户:赋予命令行工具可执行权限;
  • Windows 平台用户:使用 命令提示符PowerShell 以命令行方式运行(双击可执行文件无法使用);
  • 根据需要提交的请求类型,参考下述章节中的示例执行命令(下方命令示例中均运行 tpcli,请替换为相应版本和平台的命令行名称)。

4.1 签名示例

./tpcli --action=sign \
--key=./rsa_private_key.pem \
--sid=<sid>

输出示例:

| TIMESTAMP | <timestamp>
| NONCE | <nonce>
| SIGNATURE | <signature>

参数说明

参数说明
key私钥路径
sid应用 ID(SID)

4.2 同步图片识别(文件链接)

./tpcli --action=image-url \
--key=./rsa_private_key.pem \
--sid=<sid> \
--host='api.open.tuputech.com' \
--trace \
--url='<文件链接>'

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,图片建议使用 api.open.tuputech.com
trace打印耗时诊断信息
url图片文件链接(需要可以通过公网访问)

4.3 同步文本识别

./tpcli --action=sync-text \
--key=./rsa_private_key.pem \
--sid=<sid> \
--host='api.text.tuputech.com' \
--trace \
--text='<文本内容>'

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,文本建议使用 api.text.tuputech.com
trace打印耗时诊断信息
text文本内容

4.4 同步语音识别(文件链接)

./tpcli --action=sync-speech \
--key=./rsa_private_key.pem \
--sid=<sid> \
--host='api.speech.tuputech.com' \
--trace \
--url='<文件链接>'

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,语音建议使用 api.speech.tuputech.com
trace打印耗时诊断信息
url语音文件链接(需要可以通过公网访问)

4.5 提交异步语音文件识别任务(文件链接)

./tpcli --action=async-speech \
--key=./rsa_private_key.pem \
--sid=<sid> \
--host='api.speech.tuputech.com' \
--trace \
--url='<文件链接>' \
--callback='<回调地址>'

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,语音建议使用 api.speech.tuputech.com
trace打印耗时诊断信息
url语音文件链接(需要可以通过公网访问)
callback回调地址(需要可以通过公网访问,如无可用地址,可以使用 https://api.open.tuputech.com/example/callback?id=<sid> 进行调试)

4.6 提交异步语音流识别任务(流地址)

./tpcli --action=async-speech-stream \
--key=./rsa_private_key.pem \
--sid=<sid> \
--host='api.speech.tuputech.com' \
--trace \
--url='<语音流地址链接>' \
--callback='<回调地址>'

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,语音建议使用 api.speech.tuputech.com
trace打印耗时诊断信息
url语音流地址链接(需要可以通过公网访问)
callback回调地址(需要可以通过公网访问,如无可用地址,可以使用 https://api.open.tuputech.com/example/callback?id=<sid> 进行调试)

4.7 同步视频识别(文件链接)

./tpcli --action=sync-video-url \
--key=./rsa_private_key.pem \
--sid=<sid> \
--host='api.video.tuputech.com' \
--trace \
--interval=1 \
--url='<文件链接>'

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,视频建议使用 api.video.tuputech.com
trace打印耗时诊断信息
interval截图时间间隔(单位秒)
url视频文件链接(需要可以通过公网访问)

4.8 提交异步视频文件识别任务(文件链接)

./tpcli --action=async-video \
--key=./rsa_private_key.pem \
--sid=<sid> \
--host='api.video.tuputech.com' \
--trace \
--interval=1 \
--audio=false \
--url='<文件链接>' \
--callback='<回调地址>'

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,视频建议使用 api.video.tuputech.com
trace打印耗时诊断信息
interval截图时间间隔(单位秒)
audio是否开启语音识别
url视频文件链接(需要可以通过公网访问)
callback回调地址(需要可以通过公网访问,如无可用地址,可以使用 https://api.open.tuputech.com/example/callback?id=<sid> 进行调试)

4.9 提交异步视频流识别任务(流地址)

./tpcli --action=async-video-stream \
--key=./rsa_private_key.pem \
--sid=<sid> \
--host='api.video.tuputech.com' \
--trace \
--interval=1 \
--fragment=10 \
--audio=false \
--url='<视频流地址链接>' \
--callback='<回调地址>'

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,视频建议使用 api.video.tuputech.com
trace打印耗时诊断信息
interval截图时间间隔(单位秒)
fragment视频流回调时间间隔(单位秒)
audio是否开启语音识别
url视频文件链接(需要可以通过公网访问)
callback回调地址(需要可以通过公网访问,如无可用地址,可以使用 https://api.open.tuputech.com/example/callback?id=<sid> 进行调试)

4.10 新增图片名单库

./tpcli \
--key=./rsa_private_key.pem \
--sid=<sid> \
--action=management-create-image-library \
--name=<name> \
--trace

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,建议使用 api.open.tuputech.com
name图片名单库名称
trace打印耗时诊断信息

4.11 指定名单添加图片

./tpcli \
--key=./rsa_private_key.pem \
--sid=<sid> \
--action=management-create-image-by-url \
--libraryId=<libraryId> \
--url=<url-0>,<url-1> \
--name=<name-0>,<name-1> \
--trace

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,建议使用 api.open.tuputech.com
libraryId图片名单 ID
name图片名称,若有多个用英文逗号分隔
url图片链接,若有多个用英文逗号分隔
trace打印耗时诊断信息

4.12 新增文本名单库

./tpcli \
--key=./rsa_private_key.pem \
--sid=<sid> \
--action=management-create-thesaurus \
--name=<name> \
--label=<label> \
--trace

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,建议使用 api.open.tuputech.com
name文本名单库名称
label文本名单库标签
trace打印耗时诊断信息

4.13 指定名单添加词条

./tpcli \
--key=./rsa_private_key.pem \
--sid=<sid> \
--action=management-create-keyword \
--libraryId=<libraryId> \
--text=<text-0>,<text-1> \
--trace

参数说明

参数说明
key私钥路径
sid应用 ID(SID)
host接口域名,建议使用 api.open.tuputech.com
libraryId文本名单 ID
text词条内容,若有多个用英文逗号分隔
trace打印耗时诊断信息

5. 批量跑数据

5.1 准备数据

建议将图片/语音/视频链接,按照每行一个链接的方式写入文件;文本按照每行一段文字(无换行)写入文件,例如:

data.txt

https://sample.com/image-1.png
https://sample.com/image-2.png
https://sample.com/image-3.png
https://sample.com/image-4.png

texts.txt

文本内容 1(无换行)
文本内容 2(无换行)
文本内容 3(无换行)
文本内容 4(无换行)

5.2 准备脚本

注意 url 需要使用引号包裹,以免意外截断;如果是从 xlsx2csv 等命令转换而来的 url,注意有无不可见的字符

Mac & Linux

for i in `cat data.txt`
do
# $i 代表第 n 行数据
echo $i
./tpcli ... --url=$i
done

Windows

%%i 代表第 n 行数据

@echo off

set target=''

for /f "delims=" %%i in (data.txt) do (
echo %%i
tpcli.exe ... --url=%%i
)

pause

6. 耗时诊断

| TRACE | TotalTime: 2.368539716s [DNSLookup: 6.693305ms, ConnTime: 18.576307ms, 
TCPConnTime: 11.626161ms, ServerTime: 2.349827143s, ResponseTime: 193.113µs]

在输出结果前,会打印诊断信息(以 TRACE 开头)。相关说明如下:

  • TotalTime:接口调用总耗时
  • DNSLookup:DNS 解析耗时
  • ConnTime:建立 HTTP 链接耗时
  • TCPConnTime:建立 TCP 链接耗时
  • ServerTime:服务器处理耗时
  • ResponseTime:响应结果接收耗时