首页 > 编程语言 >小程序开发:接入腾讯云的人像动漫化api接口

小程序开发:接入腾讯云的人像动漫化api接口

时间:2024-02-29 12:55:37浏览次数:32  
标签:tencentcloud 程序开发 const config base64 api 腾讯 ft data

接口如下:

 

图片的传参方式有两种,一种是传图片的base64,一种是图片url:

 

我打算免费版使用base64,如果付费用户支持永久存储历史的图片记录(图片存储到腾讯云对象存储中)。

前端框架我用的uview,所以我在页面简单使用了uview的上传组件,拿到图片本地路径后再转成base64,腾讯云的api接口在云对象里调用。

上传组件:

 

大概界面就是这样:

 

接下来就是把base64数据传给接口了。

腾讯云的这个API Explorer功能还挺好用的,有请求的实例代码。

 

按他的实例,安装一下
tencentcloud-sdk-nodejs-ft。

切换到对应的云对象目录下,npm i tencentcloud-sdk-nodejs-f:

 

index.obj.js完整代码:

const tencentcloud = require("tencentcloud-sdk-nodejs-ft")

// 云对象教程:
https://uniapp.dcloud.net.cn/uniCloud/cloud-obj

// jsdoc语法提示教程:
https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129

// 腾讯云相关的api

module.exports = {

_before: function() { // 通用预处理器

},

// 统一的发送方法

async send(data) {

let system_config = await uniCloud.callFunction({

name: "get_system_config",

data: {

config_key: 'tencent_oss'

}

})

let Config = system_config['result'][0]['config_value']

const FtClient = tencentcloud.ft.v20200304.Client

const clientConfig = {

credential: {

secretId: Config.secretId,

secretKey: Config.secretKey,

},

region: Config.region,

profile: {

httpProfile: {

endpoint: "ft.tencentcloudapi.com",

},

},

}

// 实例化要请求产品的client对象,clientProfile是可选的

const client = new FtClient(clientConfig)

return new Promise((resolve, reject) => {

client.FaceCartoonPic(data).then(

(data) => {

resolve(data)

},

(err) => {

reject(err)

}

)

})

},

// 人像动漫化接口

async faceCartoonPic(image_base64) {

let data = {

"Image": image_base64,

"RspImgType": "url"

}

return await module.exports.send(data)

},

}

调用:

const tencentcloudapi = uniCloud.importObject('tencentcloudapi')

let result = await tencentcloudapi.faceCartoonPic(this.current_img_base64)

console.log('result', result)

效果:

 

 

 

生成正式版后出现问题了:

 

本地开发却没有这个问题,应该是
tencentcloud-sdk-nodejs-ft版本问题。

在uniapp的官方论坛搜索了下,果然找到了解决方案:

https://ask.dcloud.net.cn/question/139972

 

更新云对象根目录的package.json后,再重新上传部署。

问题解决!

欢迎大家使用我的小程序新上线的人像转动漫功能:微信搜索《一方云知》,找到小程序后拉到最下面有一个人像转动漫的图标,点进去就可以用啦,目前是免费使用哦。

这篇文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。

想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。

感谢你的阅读与支持,期待在未来的文章中与你再次相遇!

标签:tencentcloud,程序开发,const,config,base64,api,腾讯,ft,data
From: https://www.cnblogs.com/shuinanxun/p/18043368

相关文章

  • 如何使用 vscode 搭建 Django Restful API 开发环境 All In One
    如何使用vscode搭建DjangoRestfulAPI开发环境AllInOnevscode+Django(Python)demos(......
  • Shopee虾皮api接口 搜索商品、评价信息 python数据采集
    iDataRiver平台https://www.idatariver.com/zh-cn/提供开箱即用的Shopee电商数据采集API,供用户按需调用。接口使用详情请参考Shopee接口文档接口列表1.获取单个商品详情,包括销量、库存等参数类型是否必填默认值示例值描述apikeystring是idr_***从控制台......
  • 使用 Python 的 Django 框架开发一套 Web API 项目 All In One
    使用Python的Django框架开发一套WebAPI项目AllInOne游戏广告WebAPIDjango项目vsDjango应用程序一个Project可以包含多个Appsporject是一个可以独立运行的软件包app的运行必须依赖projectapp可以作为可以复用的功能模块使用demosDRF,DjangoR......
  • Java 包和 API 深度解析:组织代码,避免命名冲突
    Java包和APIJava中的包用于将相关的类分组在一起。可以将其视为文件目录中的一个文件夹。我们使用包来避免名称冲突,并编写更易于维护的代码。包分为两类:内置包(来自JavaAPI的包)用户定义的包(创建自己的包)内置包JavaAPI是一个预先编写的类库,可以在Java开发环境中......
  • FastAPI系列:HttpBasic基本认证
    HttpBasic基本认证fromfastapiimportFastAPI,Dependsfromfastapi.securityimportHTTPBasic,HTTPBasicCredentialsfromfastapi.exceptionsimportHTTPExceptionfromfastapi.responsesimportPlainTextResponsefromstarlette.statusimportHTTP_401_UNAUTHORIZE......
  • 2024年性价比高的服务器多少钱?腾讯云最新更新
    在当今这个数据驱动的时代,选择一款合适的服务器对于企业和个人开发者来说至关重要。腾讯云,作为国内领先的云服务提供商,为广大用户提供了多样化的服务器选择。那么,在腾讯云的众多服务器产品中,我们该如何做出明智的选择呢?首先,对于轻量级应用或初创项目,轻量应用服务器无疑是一个经......
  • FastAPI系列:jwt认证
    jwt认证1.头部Header,主要是对jwt元数据的描述{'alg':'HS256','typ':'JWT'}2.载荷playload,主要包含jwt信息需要传递的主体数据{'iss':'jack',#由jwt签发'sub':'jack',#该jwt面向的用户组,也称为主题......
  • FastAPI系列:异步redis
    aioredisofficialwebsiteInstallpipinstallaioredisConnecttoredisfromfastapiimportFastAPIimportaioredisapp=FastAPI()@app.on_event('startup')asyncdefstartup_event():#创建的是线程池对象,默认返回的结果为bytes类型,设置decode_responses表......
  • FastAPI系列:fastapi定制的数据库操作库sqlmodel
    官网sqlmodel安装#安装sqlmodel会自动安装pydantic和sqlalchemypipinstallsqlmodel使用#步骤1,创建sqlmodel引擎fromsqlmodelimportcreate_engine#driver://用户名:密码@ip/数据库engine=create_engine("mysql+mysqldb://root:123456@localhost/api")#步骤......
  • FastAPI系列:自定义认证
    fromtypingimportOptional,TuplefromfastapiimportFastAPI,RequestfrompydanticimportBaseModel#通过starlette.authentication导入AuthenticationBackendfromstarlette.authenticationimportAuthenticationBackend,AuthenticationError,AuthCredentials,S......