目录
一、腾讯云API 3.0 简介:
二、Delphi 接口函数说明:
1. Delphi 接口包含的单元:
2. 同步调用和异步调用的区别:
3. 程序调用示例:
三、Delphi 版腾讯云API 3.0 版接口函数下载
四、演示程序录播
下载源程序以及Demo(收费)
一、腾讯云API 3.0 简介:
腾讯云 API 已全面升级到 API 3.0,实现多地域部署,支持就近接入,访问时延显著下降,接口设计标准规范,接口文档详细全面,开发者工具丰富易用,能让您方便快捷地使用腾讯云产品。
2023年1月1日起对于新增用户已停止旧版本API 2.0接口服务,对于存量用户预计2023年3月31日停止服务。
基于以上原因,我们将 Delphi 原来的API 2.0接口也同步更新升级到 API 3.0 版本,升级后的3.0版本,统一标准,整个腾讯云API使用统一的签名规则,只是不同的接口调用域名、action、version 有区别而已。
通讯云部分文档快捷链接:
序号 | 功能 | 腾讯云文档链接 |
1 | API 中心总入口 | 云产品API中心_云API接口中心-腾讯云 |
2 | API 3.0 V3签名方法 | 文字识别 签名方法 v3-调用方式-API 中心-腾讯云 |
3 | AI 会话 3.0 智能文生图 | AI 绘画 智能文生图-文生图相关接口-API 中心-腾讯云 |
4 | AI 会话 3.0 智能图生图 | AI 绘画 智能图生图-图生图相关接口-API 中心-腾讯云 |
5 | 身份证OCR识别 | 文字识别 身份证识别-卡证文字识别相关接口-API 中心-腾讯云 |
二、Delphi 接口函数说明:
完全实现V3签名,并实现HTTP-POST请求函数,调用腾讯API无需考虑签名等任何细节,只需要构造好每个函数的入口参数即可,非常简单,无需进行无聊费时的调试!可以实现全部腾讯云API 3.0的调用。
1. Delphi 接口包含的单元:
序号 | 单元 | 说明 |
1 | uTencent_V3_Core.Pas | 完成V3签名,并实现HTTP-POST通用请求。具体无需调用该单元函数。 |
2 | uTencent_V3_Interface.Pas | 实现了智能文生图、智能图生图同步和异步的调用接口以及身份证OCR识别同步调用接口,实际调用是这个单元,该单元又调用uTencent_V3_Core.Pas单元。 |
2. 同步调用和异步调用的区别:
由于所有的API需要和腾讯后台通信,因为网络等等原因,可能会造成收到结果又一定的延迟。这样如果是同步的话,表示函数一定要收到结果才退出,这就会出现程序在收到结果前UI不能动,程序像卡死了一样。异步的话就是调用后程序还可以流畅操作,UI不会锁定。等结果回来后会通过回调函数进行处理。
具体函数示例如下(Tencent_V3_Interface.Pas单元中定义):
//1. AI 文生图函数
//1.1 异步调用
procedure Asyn_Text2Image(const requestStr : string; ResultCallBack : TResultCallBack1); overload;
procedure Asyn_Text2Image(const requestStr : string; ResultCallBack : TResultCallBack2); overload;
//1.2 同步调用
function Sync_Text2Image(const requestStr : string; var responseStr : string ) : Boolean;
//2. AI 图生图函数
//2.1 异步调用
procedure Asyn_Image2Image(const requestStr : string; ResultCallBack : TResultCallBack1); overload;
procedure Asyn_Image2Image(const requestStr : string; ResultCallBack : TResultCallBack2); overload;
//2.2 同步调用
function Sync_Image2Image(const requestStr : string; var responseStr : string ) : Boolean;
//3. 身份证识别,同步
function Sync_IDCardOCR(const requestStr : string; var responseStr : string ) : Boolean;
3. 程序调用示例:
同步调用文生图示例:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
requestStr : string;
responseStr: string;
jo : TJSONObject;
T : TDateTime;
begin
T := Now;
//生成请求的JSON字符串,具体需要根据腾讯API文档实现,不同API,请求参数不一样
requestStr := Build_Text2Picture_RequesteJSONStr;
//同步发送请求到腾讯后台,签名等已经实现,无需考虑
if not Sync_Text2Image(requestStr, responseStr) then
begin
ShowMessage(responseStr);
Exit;
end;
//等待结果,结果返回后转换成图片显示出来
Base64toImage(responseStr,'A1.jpg');
Image1.Picture.LoadFromFile('A1.jpg');
//花费时间
Label_Time.Caption := SecondsBetween(Now,T).ToString + ' S';
end;
异步调用文生图示例:
procedure TForm1.SpeedButton5Click(Sender: TObject);
var
requestStr : string;
responseStr: string;
jo : TJSONObject;
begin
ActivityIndicator1.Animate := True;
T2 := Now;
requestStr := Build_Image2Image_RequesteJSONStr;
//注意 ResultCallBackA 是一个回调函数,回调函数支持对象的方法,也支持独立的函数,通过重载实现
Asyn_Image2Image(requestStr,ResultCallBackA);
end;
注意ResultCallBackA回调函数,这个回调函数是一个对象的方法,具体的就是主From的一个方法。
procedure TForm1.ResultCallBackA(ResultOK: Boolean; responseStr: string);
begin
ActivityIndicator1.Animate := False;
if not ResultOK then
begin
ShowMessage(responseStr);
Exit;
end;
Base64toImage(responseStr,'A1.jpg');
Image1.Picture.LoadFromFile('A1.jpg');
//花费时间
Label_Time.Caption := SecondsBetween(Now,T2).ToString + ' S';
end;
三、Delphi 版腾讯云API 3.0 版接口函数下载
下载链接(收费)
源代码包含:全部接口源程序、演示程序、详细说明文档。
四、演示程序录播