AI通用接口示例

最近更新时间:2024-01-10 11:48:51

我的收藏

简介

本文档提供关于 AI 相关通用接口 API 概览以及 SDK 示例代码。
注意:
此 demo 适用接口为:图片上色、图像超分、商品抠图、图像增强、图像智能裁剪、图像修复、人脸智能美颜。
该功能需要 COS Java SDK v5.6.193 及以上版本。旧版本SDK该接口可能未覆盖或缺少更新参数,使用时建议升级到 最新版本



请求示例

下载时处理示例代码

public static void getGoodsMatting(COSClient client) { //图片所在bucket名称 String bucketName = "demo-1234567890"; //图片在bucket中的相对位置,比如根目录下file文件夹中的demo.png路径为file/demo.png String key = "car.jpg"; GetObjectRequest getObj = new GetObjectRequest(bucketName, key); //具体参数请参考API 接口不同,对应的ci-process内容和使用的参数有区别 getObj.putCustomQueryParameter("ci-process", "GoodsMatting"); getObj.putCustomQueryParameter("center-layout", "1"); ObjectMetadata object = client.getObject(getObj, new File("demo.jpg")); }

云上数据处理

public static void postGoodsMatting(COSClient client) { String bucketName = "demo-1234567890"; String key = "car.jpg"; ImageProcessRequest imageReq = new ImageProcessRequest(bucketName, key);PicOperations picOperations = new PicOperations(); picOperations.setIsPicInfo(1); List<PicOperations.Rule> ruleList = new LinkedList<>(); PicOperations.Rule rule1 = new PicOperations.Rule(); rule1.setBucket(bucketName); rule1.setFileId("cat2.jpg"); rule1.setRule("ci-process=GoodsMatting&center-layout=1&padding-layout=20x10"); ruleList.add(rule1); picOperations.setRules(ruleList); imageReq.setPicOperations(picOperations); CIUploadResult ciUploadResult = client.processImage(imageReq); System.out.println(Jackson.toJsonString(ciUploadResult)); }

上传时处理

注意:
此处上传时处理为简单上传,不支持分片上传,大文件建议使用分片上传后调用云上处理接口。
public static void putGoodsMatting(COSClient cosClient) { String bucketName = "demo-1234567890"; String key = "car3.jpg"; File localFile = new File("car.jpg"); PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile); PicOperations picOperations = new PicOperations(); picOperations.setIsPicInfo(1); List<PicOperations.Rule> ruleList = new LinkedList<>(); PicOperations.Rule rule1 = new PicOperations.Rule(); rule1.setBucket(bucketName); rule1.setFileId(key); rule1.setRule("ci-process=GoodsMatting&center-layout=1&padding-layout=20x10"); ruleList.add(rule1); picOperations.setRules(ruleList); putObjectRequest.setPicOperations(picOperations); PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest); CIUploadResult ciUploadResult = putObjectResult.getCiUploadResult(); System.out.println(Jackson.toJsonString(putObjectResult)); }

返回结果说明

成功: 返回任务详情响应包装类,下载时处理为 ObjectMetadata 对象,云上数据处理和上传时处理为 CIUploadResult 对象。
失败: 发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理