00:00
各位小伙伴们大家好,在前面的视频当中,我们已经给大家介绍了程序云AI绘画小程序实践的主要思路以及它的代码结构,那下面我们就给大家来介绍一下这个小程序是具体如何来实现的,在这里我们小程序实现的是文声图,所以需要调用腾讯云AI绘画文声图的API,所以首先我们给大家来回顾一下腾讯云AI绘画文声图API的调用方式,要查看它的调用方式,我们直接到这个页面当中来进行相应的处理就可以了。好,那在这我要配置一系列的信息,在这里我们配置的时候要配置地区,嗯,这个是我们必须要去指定的,指定好地区之后,下面可以配置正向引导词和反向引导词,因为这个引导词我们是通过小程序传递给AI绘画文声图的API的,所以呢,这里正向引导词和。
01:00
和反向引导词我们都是空的,然后再接下来我们需要配置一下输出的图像的尺寸,那这里的尺寸就是1024比上768的,还有这里是否添加水印,那我们设置唯一就是添加水印,在接下来就是输出图像的格式,也就是。文生图API给我们返回的图像格式是什么?那在这我们就是BASE64,那这种BASE64的字符串我们需要自己解码为PNG的图片,好,我们指定好这些参数之后,那在右边呢,我们就生成了API调用的购物代码,我们下面来给大家看一下这个代码当中相应的内容。首先这里我们要去。设置一下我们的ID和密钥,那这个每个人都是不一样的啊,你注册好腾讯云之后,就有相应的密钥和ID啊,拿到这个之后,然后我们要去实例化一个client选项,实例化好它之后,然后呢,在这里我们去请求产品的client对象,然后请求的过程呢,大家看一下这里我要指定什么呀?地区,那这个地区跟我们前面在这里指定的地区是匹配的,也就是说这里你指定的哪,那这个代码当中就是哪,然后再接下来我们为每一个接口请求一个对象,请求好这个对象之后,我们对这个对象来设置相应的参数,那这里的参数我们有哪些呢?大家看一下在这里我们是不是设置了输出图像的分辨率,那这里就有输出图像的分辨率跟它是匹配的,也就是说宽1024高768,再接下来这个添加水印,那这里是一啊,它就会去添加水印,还有最后。
02:46
后返回的图片的格式是BASE64的,那返回的是BASE64的字符串,我们就需要进行相应的处理,把它转成PNG图片才可以,那这是我们在这里设置好的这些参数,设置好这些参数之后,大家看一下要调什么,要调用text to image接口,然后把request送进来之后,我们会返回一个response的结果,那这个里面就包含两个信息,一个是ID,还有一个是返回的图片,那返回的图片就是BASE64字符串,我需要对这个字符串进行相应的处理,把它转换成PNG的格式。好,那我们返回这个结果之后,那这个结果我是不是得返回到客户端去才可以啊?所以在这里我们通过它来输出接散格式的字符串的回包,也说我要把这个response当中的内容转换成杰形式之后返回到我们的客户端,这是我们在这里实现的整个。
03:46
的过程,好,那购物代码去调用API接口的它的整个过程我们就给大家说明这些,那接下来我们就来看一下在小程序实践的过程当中,我们使用构语言来实现的时候,是不是跟它是一样的。好那下面我们来看一下使用构语言来调用腾讯云AI会话接口的时候,它的整个过程呢,是在做点购文件当中实现的,首先我们来看第一部分,在这里呢,我们导入相关的工具包之后,然后定义一个方法,在这个方法当中我们来完成文声图,那在这首先它会去记录开始时间,也就说我请求的时间,然后打印日志,打印日志之后,然后就开始调用我们的。
04:33
文声图的API,那调用文声图API的时候,大家来看一下,我们对比着来给大家去看。首先第一步这里我要使用腾讯云API的密钥实例化凭证对象,大家看一下是不是这里跟它是一一对应的,就是诶用它来进行相应的编码,参考这个位置来实现我们自己的代码,然后实例化它之后,然后接下来呢,就是这一部分,我要去实例化一个客户端的配置对象,实例化好这个配置对象之后,接下来我在实例化一个client对象,然后这里面用AI art来进行实例化,实例化过程呢,大家看一下是不是要指定区域,这个区域跟这里是一一对应的,然后指定好之后,接下来呢,我们就去实例化生成图片的请求对象,也就是这一句代码,然后大家看一下跟这里是匹配的实例,画好请求对象之后,然后我们就要去设置相应的参数,那在这里设置参数的时候,大家看一下就有图像输出的大小。还有反。
05:34
回的图像是以什么样的形式来返回的?还有你的提示词从哪里来?那这里的提示词大家看一下,就从请求当中来,我们请求的是什么?哎,小程序发送过来的是什么样的提示词,那里的这里的提示词就是什么,然后获取到这些之后,然后下面我们再接着看,然后这里我们设置好相应的参数之后,大家看一下是不是接下来就要返回一个实例啊,返回一个response,然后下面大家看下,跟这句代码是一样的,也就说我要调用text to image的API返回图片,返回我们的结果,那如果返回成功之后,我就将这个结果转换成杰森字符串,也就是说对应在这里把它转换成字符串。好,那大家看一下我们API的调用方式,就从这一行代码,也就说从这里开始一直到这。跟我们在。
06:31
API接口使用当中的说明是一模一样的,我们获取到这个杰森的字符串之后,接下来我要对这个BASE64来进行处理,处理成图片的形式,好,那下面我们就直接来看讲义上的代码,大家看下我获取到杰森的字符串之后,然后要解析杰森响应,获取相应的图片信息,那在这里进行杰森解解析的时候,首先呢,要把它转换成杰森字符串,转换成杰森字符串之后,这里面的字符串当中啊有两个信息,一个是result ID,一个是result image,那我们需要什么呢?大家看一下我们需要什么?我们需要result image也说通过这里我就获取到了返回图像的BASE64的字符串,返回这个BASE64的字符串之后,接下来就要解码这个BASE64编码的图片信息,那要进行解码的时候,大家概就直接使用BASE64当中的decode string。然后。
07:31
把相应的BASE64的字符串解码成图片,解码成图片之后大家看一下我就可以把图片保存下来,也就说save image把它保存在哪呢?把它保存在output文件夹下面,以PNG的形式来进行保存,那我调用了文声图的API之后,产生回串之后,就会保存一个图像到我们的output文件夹当中,好,这是我们在这个噪点够文件当中哈,实现的调用文生图API,进而获取生成图片,把图片保存下来的整个过程,那噪点购文件当中除了实现了这些之外呢,它还实现了一些信息是什么呢?校点购文件当中哈,在腾讯云接口调用之后,还实现了两个内容,一个呢是把任务提交到cos上面,也就是说绘画服务要通过cos的内容来执行AI画画任务,也就说,我需要从这里来获取我的。
08:31
提示词,然后再接下来通过执行shell命令将生成好的图片上传到cos平台当中。首先这两个任务就是第一个任务,我要接收cos传递给AI绘画的关键词,进而生成图片,生成图片之后再把这个图片上传到cos平台。在上一部分代码当中,我们已经调用腾讯云AI绘画的接口生成图片,并且把图片保存下来了,那接下来大家看一下,在这里我就要去读取保存的图片数据,那就用os.red file,在这里读取的时候,大家看一下是不是读取的output当中的图片,把图片读取进来之后,然后上传图片到cos平台,也就说这里上传到cos平台的哪里AI照里面,这是我们把图片上传到cos平台当中了,上传到cos平台之后,获取cos平台的预签名地址,构建。
09:31
反应对象,这里面就包括我们的job ID,然后job的状态,还有使用的时间以及最终的URL,那这个URL就指的我们上传到cos平台当中那个图片的URL,这是我们在这里构建的响应对象,那最后呢,在这里打印一下当前的日志,上传图片结果就可以了,这是在照点购文件当中实现的全部内容。好,那下面我们到代码当中来给大家去看一下,那在这里我们刚刚介绍的内容都在照点购当中,我们把这个文件给大家打开,然后大家看一下,首先我要导入相关的工具包,所有使用的你都要导入进来,导入进来之后这里定义了一个方法来完成文声图,然后在这里面我们会打印相关的日志,记录时间。首先使用腾讯云API密钥来实例化凭证,对象接下来实例化一个客户端的配置对象实例化好之后,然。
10:31
那呢,在实例化客户端对象实例化好客户端对象实例化生成图片的请求对象,对于这个请求对象呢,我要配置相关的参数,包括输出的图片是什么样的,输出图片的格式,以及我们的提示词是什么,设置好之后就发送生成图片的请求,请求text to image接口来生成相应的图片,那这时候图片呢,是以BASE64的形式来存储的,而且是以杰森的形式来进行回串,所以我们首先要去接西杰森的响应,获取生成的图片信息,那这时候是BASE64的,大家看一下,在这里面就是我获取到相关的信息之后,获取到回传当中的result image获取到它之后就放在了这里面,那这里面是BASE64的形式,所以在这里面要进行BASE64的编解码,获取我们最终的图片,获取到最终图片之后会进行图片的保存。
11:31
本案保存在了output.png文件当中,然后再接下来上传到cos平台当中,上传到cos平台之后,然后我们可以获取到cos平台当中当前图片的URL,获取到这个URL我们可以构建响应对象,那在这个响应对象当中就有当前图片的URL,当我要到小程序当中来进行显示的时候,直接获取这个URL就OK了。这是我们在售点购文件当中实现的主要内容,我们就给大家说这些,我们先把视频暂停一下,稍后我们来看一下下面job点购当中的内容。
我来说两句