小牛翻译API详解:功能、优势介绍及案例实战(附完整代码)

    • 写在前面
    • 小牛翻译是做什么的
    • 案例-调用图片翻译API进行英文翻译
      • ✔准备工作
      • ✔获取密钥
      • ✔调用API
      • ✔完整代码
      • ✔运行项目
    • 使用建议


写在前面

随着全球化的快速发展和跨国交流的增多,翻译软件的市场需求持续增长。根据市场数据,全球语言翻译软件市场规模在过去几年中呈现稳步增长的趋势。拿有道翻译来说,有道翻译近一年的“翻译请求次数”已远超“查词请求次数”,达到 1600 亿次/年,由此可见用户对于翻译功能的使用频率之高。此外许多知名的翻译软件如 Google Translate、Microsoft Translator、百度翻译等,通过提供实时、准确的翻译服务均有着有庞大的用户基础。

除了这几个老牌翻译软件,最近我也新“探索”到了一款好用的翻译软件——小牛翻译,除了文本和文档翻译之外,图片翻译和语音翻译是它较为出众的地方。特别是近期新更新上线了 API 服务,新增扫描件 PDF 文件的翻译、新增图片、短语音多模态文件的翻译,更是翻译界的重大突破。

在这里插入图片描述

小牛翻译是做什么的

小牛翻译是一家专注于人工智能翻译技术研发与应用的公司,凭借强大的研发团队和先进的技术实力,小牛翻译在翻译领域取得了显著的成果,提供了全方位的翻译服务,包括文本翻译、语音翻译、图片翻译等。经过试用,我发现小牛翻译有着以下优势:

  • 准确:采用先进的机器学习和人工智能技术,具备强大的语义理解和翻译能力,能够准确理解原文含义,并生成高质量的翻译结果。
  • 实时:支持实时翻译,用户可以在输入文本或语音的同时立即获取翻译结果,大大提高了翻译效率。

在这里插入图片描述

  • 易用:拥有简洁明了的界面设计,用户无需复杂的操作即可轻松使用。同时,它还支持多种输入方式,如键盘输入、语音输入、图片输入等,满足不同用户的需求。

在这里插入图片描述

案例-调用图片翻译API进行英文翻译

本案例为:调用小牛翻译的图片翻译 API,翻译一张带有英文文章的图片。这个图片需要自己准备,如下;

在这里插入图片描述

✔准备工作

想要使用翻译 API 需要先注册账号并登录小牛翻译云平台;

随后页面右上角点击“控制台”进入控制台页面;

在这里插入图片描述
点击“API应用”,可以看到有文本 API、文档 API、语音 API、图片 API 四种供我们选择;

在这里插入图片描述
选择自己的业务需要进行开通即可。

✔获取密钥

密钥指的是 APIKEY 和 APPID,二者是调用 API 的前提,缺一不可;

点击“开通服务”,开通服务后即可查看密钥;

在这里插入图片描述
密钥信息如下;

在这里插入图片描述

✔调用API

获取到 APIKEY 和 APPID 之后,就可以进行开发了,在这里以使用 Python 语言为例;

设置小牛翻译 API 的基础 URL 以及密钥信息;

# 小牛翻译API的基础URL
BASE_URL = "https://api.niutrans.com/v2/image/translate"# 你的API应用信息
app_id = "Ud317175911xxxxx"
api_key = "8f1147129b741d7bce9b1f4254bxxxxx"

设置所需要翻译的图片文件路径,我这里将图片放到了项目文件夹中;

# 图片文件路径
image_path = "微信图片_20240605224414.png"

源语言-英文(en),目标语言-中文(zh);

# 目标语言和源语言
from_lang = "en"  # 源语言
to_lang = "zh"  # 目标语言

设置时间戳;

# 当前时间戳
timestamp = str(int(time.time() * 1000))

在前置工作准备好之后,开始 API 的调用;

调用接口-上传并翻译文件;

在这里插入图片描述
代码如下;

# 上传并翻译文件
def upload_and_translate(image_path, from_lang, to_lang):# 准备上传的图片文件files = {'file': open(image_path, 'rb')}params = {'from': from_lang,'to': to_lang,'timestamp': timestamp,'appId': app_id,}# 生成权限字符串params['authStr'] = generate_auth_str(params)# 构造请求URLurl = f"{BASE_URL}/upload"# 发送POST请求response = requests.post(url, files=files, data=params)# 关闭文件对象files['file'].close()# 返回响应内容return response.json()

其余接口如查询翻译状态、下载翻译结果等参见小牛翻译开发文档。文档详细的介绍了各接口 API 调用方式以及 Java、Python 等语言的调用示例,对于新开发的用户非常友好;

在这里插入图片描述

✔完整代码

import urllibimport requests
import json
import time
import hashlib
from urllib.parse import urlencode# 小牛翻译API的基础URL
BASE_URL = "https://api.niutrans.com/v2/image/translate"# 你的API应用信息
app_id = "Ud317175911xxxxx"
api_key = "8f1147129b741d7bce9b1f4254bxxxxx"# 图片文件路径
image_path = "微信图片_20240605224414.png"# 目标语言和源语言
from_lang = "en"  # 源语言
to_lang = "zh"  # 目标语言# 当前时间戳
timestamp = str(int(time.time() * 1000))# 权限字符串生成规则
def generate_auth_str(params):sorted_params = sorted(list(params.items()) + [('apikey', api_key)], key=lambda x: x[0])param_str = '&'.join([f'{key}={value}' for key, value in sorted_params])md5 = hashlib.md5()md5.update(param_str.encode('utf-8'))auth_str = md5.hexdigest()return auth_str# 上传并翻译文件
def upload_and_translate(image_path, from_lang, to_lang):# 准备上传的图片文件files = {'file': open(image_path, 'rb')}params = {'from': from_lang,'to': to_lang,'timestamp': timestamp,'appId': app_id,}# 生成权限字符串params['authStr'] = generate_auth_str(params)# 构造请求URLurl = f"{BASE_URL}/upload"# 发送POST请求response = requests.post(url, files=files, data=params)# 关闭文件对象files['file'].close()# 返回响应内容return response.json()# 查询翻译状态
def check_translation_status(file_no):params = {'timestamp': timestamp,'appId': app_id,}# 生成权限字符串params['authStr'] = generate_auth_str(params)# 构造请求URLurl = f"{BASE_URL}/status/{file_no}"# 发送GET请求response = requests.get(url, params=params)# 返回响应内容return response.json()# 下载翻译结果
def download_translation(file_no, download_type=1):params = {'type': 1,'timestamp': timestamp,'appId': app_id,}# 生成权限字符串params['authStr'] = generate_auth_str(params)# 构造请求URLurl = f"{BASE_URL}/download/{file_no}"# 发送GET请求response = requests.get(url, params=params)# 返回二进制数据return response.headers.get("Content-Disposition").split("=")[1] ,response.content# 使用示例
if __name__ == "__main__":# 上传并翻译图片response = upload_and_translate(image_path, from_lang, to_lang)time.sleep(5)file_no = response['data']['fileNo']print("图片上传成功,文件编号为:", file_no)# 轮询查询翻译状态while True:status_response = check_translation_status(file_no)print("正在查询结果...")if status_response['data']['transStatus'] == 105:print("翻译成功")breaktime.sleep(5)  # 等待5秒再次查询# 下载翻译结果filename, translation_content = download_translation(file_no)print("正在下载翻译结果...")# 对filename进行url_decode解码filename = urllib.parse.unquote(filename)time.sleep(5)with open(filename, "wb") as f:f.write(translation_content)print("翻译结果已下载")

✔运行项目

开发完成后运行项目;

在这里插入图片描述
运行成功之后会下载翻译结果,是 Word 文档的形式下载至项目文件夹,结果如下:

在这里插入图片描述
至此整个案例就完成了。

使用建议

小牛翻译的出现提高了翻译的准确性和效率,降低了翻译成本,使得更多的个人和企业能够享受到高质量的翻译服务。对于个人而言,小牛翻译能够帮助我们更好进行翻译,满足我们的各项业务;对于企业而言,支持超 30 款定制专属机器翻译服务部署于企业内部服务器中,数据安全性极高,拓展性更优。

更多信息可关注小牛翻译的官方动态和更新信息(http://niutrans.com),及时获取最新的功能和优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/23974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

google keybox.xml格式 内容有哪些 Keybox数量、设备ID、算法的 私钥 公钥 证书链 (ECDSA即ECC, RSA)

根据您提供的文件内容,keybox.xml 文件包含以下主要信息: Keybox数量 ([NumberOfKeyboxes](file:///d%3A/010F200/svn/ProduceToolMfc/FtSmartPos/FtSmartPos/ToolBydMes/httpclient/e%3A%5CGoogleKey%5CLinux_AttestationKeyboxPack_Tool%5CLinux_Atte…

golang定时器使用示例

1.定时器创建与停止 //定时器使用t1 : time.NewTimer(2 * time.Second)<-t1.Cfmt.Println("timer1 fired")t2 : time.NewTimer(5 * time.Second)go func() {fmt.Println("go协程处理中,等待5秒后输出...")<-t2.Cfmt.Println("timer2 fired&quo…

富格林:获取阻挠暗箱伎俩方案

富格林指出&#xff0c;在当今经济不稳定的环境下&#xff0c;投资者们越来越倾向于将资金投入到相对安全稳定的产品中&#xff0c;而黄金往往是他们的首选。然而&#xff0c;成功投资现货黄金并不容易&#xff0c;需要掌握阻挠暗箱伎俩的技巧和策略。以下是富格林给大家准备的…

场景图生成网络——RelTR(TPAMI2023)

一、ReITR概述 场景图是一种图结构&#xff0c;其节点代表图像中的实体&#xff0c;边代表实体间的关系。这项技术超越了传统的对象检测&#xff0c;与视觉关系检测紧密相关&#xff0c;对图像检索、图像字幕、视觉问答&#xff08;VQA&#xff09;和图像生成等多种视觉-语言任…

从零开始搭建盲盒小程序源码的步骤指南

一、引言 盲盒小程序以其神秘性和趣味性深受用户喜爱&#xff0c;越来越多的开发者开始关注并尝试搭建盲盒小程序。本文将详细介绍从零开始搭建盲盒小程序源码的步骤&#xff0c;帮助初学者快速上手。 二、准备工作 1.注册小程序账号&#xff1a;在微信公众平台注册小程序账…

男士内裤怎么选?五款不能错过的超舒适男士内裤

在快节奏的现代都市生活中&#xff0c;男士们同样需要关注内在穿搭的品质与舒适度。一条优质贴身的男士内裤&#xff0c;不仅是日常穿着的舒适保障&#xff0c;更是展现男性精致品味的秘密武器。今天&#xff0c;就让我们一同探讨如何挑选出最适合自己的男士内裤&#xff0c;并…

ArcGIS JSAPI 学习教程 - ArcGIS Maps SDK for JavaScript - 框选显示高亮几何对象

ArcGIS JSAPI 学习教程 - ArcGIS Maps SDK for JavaScript - 框选显示高亮对象 核心代码完整代码&#xff1a;在线示例 在研究 ArcGIS JSAPI RenderNode 高亮&#xff08;highlights&#xff09;FBO 的时候&#xff0c;实现了一下框选高亮几何对象&#xff0c;这里分享一下。 …

LlamaIndex三 配置

前言 在上篇LlamIndex二 RAG应用开发 - 掘金 (juejin.cn)中&#xff0c;我们学习到LlamaIndex对RAG的全面支持。这篇文章&#xff0c;我们就来细化这个过程&#xff0c;尝试各种配置选项&#xff0c;满足不同场景需求。学习过后&#xff0c;大家再开发RAG应用&#xff0c;会更…

Sketch语言设置指南:将英文版改成中文版的教程

Sketch版本的转换一直是困扰大家的关键问题。如今UI设计领域的UI设计软件很多&#xff0c;但大部分都是英文版。对于国内英语基础差的设计师来说&#xff0c;使用这样的软件无形中增加了工作量&#xff0c;往往需要在设计编辑的同时查阅翻译。即时设计详细介绍了Sketch英文版如…

单个python文件代码的车牌检测系统 使用pyqt做界面进行车牌检测,可以保存结果到excel文件

融合了hyperlpr3和opencv 来检测车牌 通过图片检测车牌的系统&#xff0c;使用了pyqt和hyperlpr3结合来进行检测&#xff0c;可以保存检测的结果到excel文件 亲自测试修改代码&#xff0c;运行正常并且不依赖百度网络api, 纯本地运行&#xff0c;融合了2个车牌检测模型, 第…

《计算机组成原理》笔记整理

第一章 计算机系统概论 计算机的硬件&#xff1a;计算机中的电子电路和物理装置&#xff1b;计算机硬件的五大部分&#xff1a;运算器、控制器、存储器、输入设备和输出设备&#xff1b;计算机的软件&#xff1a;计算机运行所需的程序及相关的资料&#xff1b;软件系统&#x…

2024年【起重机司机(限桥式起重机)】考试试卷及起重机司机(限桥式起重机)证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【起重机司机(限桥式起重机)】考试试卷及起重机司机(限桥式起重机)证考试&#xff0c;包含起重机司机(限桥式起重机)考试试卷答案和解析及起重机司机(限桥式起重机)证考试练习。安全生产模拟考试一点通结合国家…

相对路径vs绝对路径 python文件的添加与删除

目录 一、路径问题 1.绝对路径 2.相对路径 3.在不同的操作系统中有不同的方法来查看当前路径&#xff1a; 3.1Windows 系统&#xff1a; 3.2 类 Unix 系统 3.3 pythoon如何查看当前路径 二、使用步骤 2.1 Python文件操作 2.2 cd”命令 2.2.1 cd 目录路径&#xff1a…

音视频开发17 FFmpeg 音频解码- 将 aac 解码成 pcm

这一节&#xff0c;接 音视频开发12 FFmpeg 解复用详情分析&#xff0c;前面我们已经对一个 MP4文件&#xff0c;或者 FLV文件&#xff0c;或者TS文件进行了 解复用&#xff0c;解出来的 视频是H264,音频是AAC&#xff0c;那么接下来就要对H264和AAC进行处理&#xff0c;这一节…

WebAPI AOP方式 异常方式

》》 自定义异常处理特性 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web; using System.Web.Http.Filters;namespace WebApplication11 {/// <summary>/// 异常处理特性/// </sum…

005.FashionMNIST数据集简介

一、FashionMNIST数据集简介 FashionMNIST数据集&#xff0c;作为经典的MNIST数据集的现代替代品的数据集&#xff0c;是衣物分类数据集&#xff0c;由Zalando&#xff08;一家德国的在线时尚零售商&#xff09;发布。 FashionMNIST数据集和MNIST相比。图片尺寸相同&#xff0c…

后端 excel的导入

后端 excel导入 Apache POI 和 EasyExcel 是 Java 中常用的处理 Excel 文件的库。 EasyExcel 是阿里巴巴开源的一款专门针对大数据量 Excel 导入导出场景的工具&#xff0c;其设计目标在于简化开发、减少内存占用并提升处理速度。 以下是使用 EasyExcel 进行 Excel 导入的基本…

混凝土结构中最小配筋率45ft/fy怎么来的?

文章目录 0. 背景1. 原理解析2. 总结 0. 背景 上学的时候就对混凝土结构规范中关于最小配筋率“ 45 f t / f y 45f_t/f_y 45ft​/fy​”的表述很好奇&#xff0c;今天终于看到解释了。原文来自这里&#xff0c;喜欢的可以关注原作者。 按照原作者的说法&#xff0c;本文的解释…

I P协议

IPv4首部 4个字节的32 bit值以下面的次序传输&#xff1a;首先是 0&#xff5e;7 bit&#xff0c;其次8&#xff5e;15 bit&#xff0c;然后1 6&#xff5e;23 bit&#xff0c;最后是24~31 bit。这种传输次序称作 big endian字节序。由于TCP/IP首部中所有的二进制整数在网络中传…

简单聊聊大数据分析的方法有什么

大数据分析是指对规模巨大的数据集合进行的分析过程。 这些数据集合通常具有以下几个特点&#xff0c;可以概括为5个V&#xff1a; 1.数据量大&#xff08;Volume&#xff09;&#xff1a;大数据分析处理的数据量巨大&#xff0c;远远超出了传统数据处理软件的能力范围。 2.…