- What's New
- Function Overview
- Service Overview
- Billing
- Getting Started
-
User Guide
- Service Provisioning
- Allowing or Disallowing Access to Cloud Assets
- Asset Map
- Asset Management
- Sensitive Data Identification
- Data Asset Protection
- Data Security Operations
- Alarm Notifications
- Permissions Management
- Key DSC Operations
- Best Practices
-
API Reference
- Before You Start
- Calling APIs
-
API Description
- Data Watermarking
- Resource Management
- Dynamic Data Masking
- Alarm Notifications
-
Image Watermarking
- Injecting Invisible Watermarks into Images
- Extracting Invisible Text Watermarks
- Extracting Invisible Watermarks from Images
- Injecting Invisible Watermarks into Images (Image Addresses)
- Extracting Dark Watermarks from Images (Image Addresses)
- Extracting Invisible Image Watermarks from Images (Image Addresses)
- Asset Management
- Document Watermarking
-
Sensitive Data Discovery
- Querying the Identification Task List
- Querying the Result of an Identification Task
- Viewing the Rule List
- Creating a Sensitive Data Scanning Rule
- Modifying a Sensitive Data Scanning Rule
- Deleting a Sensitive Data Scanning Rule
- Querying Sensitive Data Scanning Rule Groups
- Creating a Sensitive Data Scanning Rule Group
- Deleting a Sensitive Data Scanning Rule Group
- Creating a Sensitive Data Scanning Task
- Deleting a Sensitive Data Scanning Task
- Static Data Masking
- API Call Records
- Appendixes
- Change History
- SDK Reference
-
FAQs
- Product Consulting
- Regions and AZs
- Asset Authorization
-
Sensitive Data Identification and Masking
- What Services Can Use DSC to Scan for Sensitive Data?
- How Long Does It Take for DSC to Identify and Mask Sensitive Data?
- What Are the Identification Templates Supported by DSC?
- Does Data Masking Affect My Raw Data?
- Does DSC Have Specific Requirements on the Character Set for Which Sensitive Data Is to Be Identified and Masked?
- Data Watermarking
- Data Usage Audit
Injecting Invisible Watermarks into Images
Function
This API is used to inject text watermarks or image watermarks into an image. You need to pass an image in formData format to this API. DSC returns the binary stream of the watermarked image. Currently, the supported image formats include *.jpg, .jpeg, .jpe, .png, .bmp, .dib, .rle, .tiff, .tif, .ppm, .webp, .tga, .tpic, and .gif.
URI
POST /v1/{project_id}/image/watermark/embed
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token, which can be obtained by calling the IAM API (value of X-Subject-Token in the response header). |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
file |
Yes |
File |
Image into which watermarks are to be injected. The width and height must be greater than 512 pixels. |
blind_watermark |
No |
String |
Content of the invisible text watermark, which cannot exceed 32 characters. Currently, only digits and uppercase and lowercase letters are supported. It is used as an alternative of image_watermark. |
image_watermark |
No |
File |
Invisible image watermark file to be injected. It is used as an alternative of blind_watermark. |
Response Parameters
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error Code |
error_msg |
String |
Error Message |
Example Requests
Add the invisible text watermark "testWaterMark" to image "test.PNG".
The request is submitted through a form. In the request, "file" indicates a specific file.
POST /v1/{project_id}/image/watermark/embed HTTP/1.1 { "blind_watermark" : "testWaterMark", "file" : "test.PNG" }
Example Responses
Status code: 200
Request successful.
"{\"Watermarked image\"}"
Status code: 400
Invalid request.
{ "error_code" : "DSC.00000007", "error_msg" : "File format error" }
Status Codes
Status Code |
Description |
---|---|
200 |
Request successful. |
400 |
Invalid request. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.