简介
本文档提供关于 AI 相关通用接口 API 概览以及 SDK 示例代码。
注意:
此 demo 适用接口为:图片上色、图像超分、商品抠图、图像增强、图像智能裁剪、图像修复、人脸智能美颜。
请求示例
下载时处理示例代码
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¢er-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¢er-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。详情请参见 异常处理。