tencent cloud

Cloud Infinite

Release Notes and Announcements
Release Notes
Announcements
Product Introduction
Product Overview
Product Strengths
Use Cases
Feature Overview
Regions and Domains
Specifications and Limits
Billing
Billing Overview
Billing Mode
Billable Items
Free Tier
Payment Overdue
Viewing Bill Details
FAQs
Getting Started
Registering and Logging In
Bind Bucket
Uploading and Processing File
Downloading and Deleting Images
Unbinding Buckets
Using CI via COS
Features
Image Processing
Media Processing
Content Moderation
AI Content Recognition
File Processing
Smart Voice
File processing
User Guide
Overview
Bucket Management
Smart Toolbox
Job and Workflow
Data Monitoring
Usage statistics
Use Cases
Copyright Protection Solutions
Image Processing Practices
Working with API Authorization Policies
Workflow Practices
API Documentation
API Overview
Structure
Common Request Headers
Common Response Headers
Activate Vast Service
Image Processing
AI-Based Content Recognition
Smart Audio
Media Processing
Content Moderation
Document Processing
File Processing
Job and Workflow
Cloud Virus Detection
Error Codes
Request Signature
SDK Documentation
SDK Overview
Android SDK
iOS SDK
COS Android SDK
C SDK
C++ SDK
.NET(C#) SDK
Go SDK
COS iOS SDK
Java SDK
JavaScript SDK
Node.js SDK
PHP SDK
Python SDK
Mini Program SDK
Personal Information Protection Policy for SDK
Security and Compliance
Permission ‍Management
FAQs
Basic Settings
Document Processing
Media Processing
Content Recognition
Smart Audio
Agreements
Service Level Agreement
Contact Us
Glossary

Portrait Matting

PDF
フォーカスモード
フォントサイズ
最終更新日: 2026-01-19 11:11:12

Feature Overview

Cloud Infinite provides intelligent portrait matting through the AIPortraitMatting API. It can detect portrait entity information in images, intelligently separate image backgrounds, generate images that only contains portrait entity information, and can support persistent processing, processing in the cloud, and processing during download.

Service Activation

Using this feature requires enabling Cloud Infinite in advance and binding a bucket.

Authorization Guide

When used with a sub-account, corresponding permissions must be granted. For COS permissions, please refer to Cloud Object Storage. For other CI permissions, please refer to Cloud Infinite.
Processing during download: Set action to cos:GetObject, ci:CreateS3AIPicPortraitMattingJob in the authorization policy.
Processing during upload: Set action to cos:PutObject in the authorization policy.
Processing in the cloud: Set action to cos:GetObject, cos:PutObject in the authorization policy. (Note: GetObject corresponds to the source file resource, and PutObject corresponds to the transferred file resource).

Use Limits

When using this API, please first confirm the relevant restrictions. For details, see Specifications and Limits.

Method One: Processing during Download

Request

 Original images are stored in COS.
GET /<ObjectKey>?ci-process=AIPortraitMatting HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
 The original image comes from other link.
GET /<ObjectKey>?ci-process=AIPortraitMatting&detect-url=<detect-url> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>

Processing Parameter

Operation name: AIPortraitMatting
Parameter
Meaning
Type
Required
ObjectKey
Object filename, for example: folder/document.jpg
String
No
ci-process
Cloud Infinite processing capability, portrait matting fixed as AIPortraitMatting
String
Yes
detect-url
You can process any publicly accessible image link by filling in detect-url. If detect-url is not specified, the backend will process the ObjectKey by default. If detect-url is filled in, the backend will process the detect-url link, and there is no need to fill in the ObjectKey.
detect-url example: http://www.example.com/abc.jpg, which needs to be url-encoded, and the processed result is http%25253A%25252F%25252Fwww.example.com%25252Fabc.jpg
String
No
center-layout
Center the subject in the image; display centered when the value is 1, no action taken when the value is 0, default is 0
Integer
No
padding-layout
Apply padding to all four sides of the processed image, with the format padding-layout = <dx> x <dy>, where dx pixels are added to the left and right sides, and dy pixels are added to the top and bottom sides. For example: padding-layout = 20 x 10
Default does not perform blanking operation, maximum value of dx and dy is 1000 pixels.
String
No

Response

HTTP/1.1 200 OK
Content-Type: image/png
Content-Length: 98645
Date: Tue, 23 Apr 2022 09:06:16 GMT
Server: tencent-ci
Status: 200 OK
x-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****

[pic-content]
The processed image is returned directly in the response body.

Method Two: Processing during Upload

Request Syntax

PUT /<ObjectKey> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Authorization: Auth String
Pic-Operations: <PicOperations>
Note:
Authorization: Auth String. For details, see Request Signature documentation.

Request

Request Header

This API uses common request headers. For details, see Common Request Headers documentation.
In addition to the common request headers, the following headers are required:
Header Name
Description
Type
Pic-Operations
Parameters for image operations
String
Pic-Operations is a JSON format string. The specific parameters are as follows:
Parameter
Description
Type
Required
is_pic_info
Whether to return original image information, 0 means no, 1 means yes, default is 0
Int
No
rules
Processing rule, Content Recognition only supports one rule
Array
No
Each item in the rules (JSON array) has the following specific parameters:
Parameter Name
Description
Type
Required
bucket
Destination bucket name for storing results, format is BucketName-AppId, if not specified, it will be saved to the current bucket by default
String
No
fileid
Storage path and name of the processed file. Name rule description:
For example, the source file path and name are: /p1/test1.jpg
Absolute paths start with /, for example, when the fileid value is /p2/test2.jpg, it means a file named test2.jpg is stored in the p2 folder.
Relative paths do not start with /, for example, when the fileid value is p2/test2.jpg, it means a p2 folder is created in the p1 folder, and then a file named test2.jpg is stored in the p2 folder.
Do not end with /, otherwise an empty filename will occur
If you want the repaired image to overwrite the original image, set the fileid field to <ObjectKey>
String
Yes
rule
Fixed as: ci-process = AIPortraitMatting Other processing parameters refer to processing during download
String
Yes

Request Body

The request body contains the original image to be processed.
[Image Content]

Response

Response Headers

This API only returns common response headers. For details, see Common Response Headers documentation.

Response Body

The response body is returned as application/xml, and the data content is as follows:
Node Name (Keyword)
Parent Node
Description
Type
UploadResult
None.
Request result
Container
The content of UploadResult:
Node Name (Keyword)
Parent Node
Description
Type
OriginalInfo
UploadResult
Image information
Container
ProcessResults
UploadResult
Request processing result
Container
The content of the OriginalInfo node:
Node Name
Parent Node
Description
Type
Key
OriginalInfo
Original image filename
String
Location
OriginalInfo
image path
String
ETag
OriginalInfo
Original image ETag value
String
The content of the ProcessResults node:
Node Name (Keyword)
Parent Node
Description
Type
Object
ProcessResults
Processing result of each image
Container
The content of the Object node:
Node Name (Keyword)
Parent Node
Description
Type
Key
Object
Image file name after matting
String
Location
Object
Image link after matting
String
ETag
Object
ETag value of the image after matting
String
Size
Object
Image size after matting
Int

Practical Example

Request

PUT /<ObjectKey> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Authorization: Auth String
Pic-Operations:
{
"is_pic_info": 1,
"rules": [{
"fileid": "exampleobject",
"rule": "ci-process=AIPortraitMatting"
}]
}
Processed images are stored to bucket, with the value of fileid as the object name.

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 645
Date: Tue, 23 Apr 2022 09:06:16 GMT
Status: 200 OK
Server: tencent-ci
x-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****

<UploadResult>
<OriginalInfo>
<Key>goods_matting.jpg</Key>
<Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/filename.jpg</Location>
<ETag>"ed60e3598e6862d8c8443a06acfb2153"</ETag>
</OriginalInfo>
<ProcessResults>
<Object>
<Key>goods_matting_process.jpeg</Key>
<Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/exampleobject</Location>
<Format/>
<Size>354256</Size>
<ETag>"521451f63c331becf533e466732c1091"</ETag>
</Object>
</ProcessResults>
</UploadResult>

Method Three: Processing in the Cloud

Request Syntax

POST /<ObjectKey>?image_process HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Authorization: Auth String
Pic-Operations: <PicOperations>
Note:
Authorization: Auth String. For details, see Request Signature documentation.

Request

Request Header

This API uses common request headers. For details, see Common Request Headers documentation.
In addition to common headers, the following headers are required:
Header Name
Description
Type
Pic-Operations
Parameters for image operations
String
Pic-Operations is a JSON format string. The specific parameters are as follows:
Parameter
Description
Type
Required
is_pic_info
Whether to return original image information, 0 means no, 1 means yes, default is 0
Int
No
rules
Processing rules, one rule corresponds to one processing result (currently supports five rules). If left blank, no image processing will be performed.
Array
No
Each item in the rules (JSON array) has the following specific parameters:
Parameter Name
Description
Type
Required
bucket
Destination bucket name for storing results, format is BucketName-AppId, if not specified, it will be saved to the current bucket by default
String
No
fileid
Storage path and name of the processed file. Name rule description:
For example, the source file path and name are: /p1/test1.jpg
Absolute paths start with /, for example, when the fileid value is /p2/test2.jpg, it means a file named test2.jpg is stored in the p2 folder.
Relative paths do not start with /, for example, when the fileid value is p2/test2.jpg, it means a p2 folder is created in the p1 folder, and then a file named test2.jpg is stored in the p2 folder.
Do not end with /, otherwise an empty filename will occur
If you want the repaired image to overwrite the original image, set the fileid field to <ObjectKey>
String
Yes
rule
Fixed as: ci-process = AIPortraitMatting. center-layout and padding-layout match processing during download.
String
Yes

Request Body

The request body contains the original image to be processed.
[Image Content]

Response

Response Header

This API only returns common response headers. For details, see Common Response Headers documentation.

Response Body

The response body is returned as application/xml, and the data content is as follows:
Node Name (Keyword)
Parent Node
Description
Type
UploadResult
None.
Request result.
Container
The content of UploadResult
Node Name (Keyword)
Parent Node
Description
Type
OriginalInfo
UploadResult
Image information
Container
ProcessResults
UploadResult
Request processing result
Container
The content of the OriginalInfo node
Node Name
Parent Node
Description
Type
Key
OriginalInfo
Original image filename
String
Location
OriginalInfo
Original image path
String
Etag
OriginalInfo
Original image ETag value
String
The content of ProcessResults node:
Node Name (Keyword)
Parent Node
Description
Type
Object
ProcessResults
Processing result of each image
Container
The content of Object node:
Node Name (Keyword)
Parent Node
Description
Type
Key
Object
Image file name after matting
String
Location
Object
Image link after matting
String
ETag
Object
ETag value of the image after matting
String
Size
Object
Image size after matting
Int

Practical Example

Request

POST /<ObjectKey>?image_process HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Content-length: Size
Authorization: Auth String
Pic-Operations:
{
"rules": [{
"fileid": "exampleobject",
"rule": "ci-process=AIPortraitMatting"
}]
}
Processed images are stored to bucket, with the value of the fileid as the object name.

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 645
Date: Tue, 23 Apr 2022 09:06:16 GMT
Status: 200 OK
Server: tencent-ci
x-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****

<UploadResult>
<OriginalInfo>
<Key>goods_matting.jpg</Key>
<Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/filename.jpg</Location>
<ETag>"ed60e3598e6862d8c8443a06acfb2153"</ETag>
</OriginalInfo>
<ProcessResults>
<Object>
<Key>goods_matting_process.jpeg</Key>
<Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/exampleobject</Location>
<Format/>
<Size>354256</Size>
<ETag>"521451f63c331becf533e466732c1091"</ETag>
</Object>
</ProcessResults>
</UploadResult>


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック