Updated on 2024-08-09 GMT+08:00

Processing the Image

This section describes the URL constitution to process images using REST APIs. Once you have enabled OBS successfully, you can call REST APIs to process images simply by putting a URL that complies with the command rules of image processing in a browser.

URL Composition

A URL consists of the OBS domain name, bucket name, the original image name, and processing command or style name.

Access with Commands

URL format: https://bucketName.endpoint/objectName?x-image-process=image/commands

  • endpoint represents the endpoint address of the region where the bucket is located. You can obtain the endpoint from the bucket's basic information. For more information, see Regions and Endpoints.
  • bucketName represents the name of the bucket that accommodates the image to be processed on OBS.
  • objectName represents the name of the original image stored in the bucketName bucket. The name suffix must be supported by image processing.
  • commands represents the processing commands. Three types of delimiters can be used between commands or command parameters. If no commands are specified, the original image will be returned.

Example URL: https://hw-image-demo.obs.ap-southeast-1.myhuaweicloud.com/example.jpg?x-image-process=image/crop,x_100,y_50

  • Delimiters

Delimiters are used to separate one field from another in the commands in a URL. For details, see Table 1.

Table 1 Delimiters

Name

Character

Sequence

Description

Parameter delimiter

_

Fixed

Delimiter between a parameter and its value

Command delimiter

,

Irrelevant

Delimiter between command parameters

Pipe delimiter

/

Relevant

Delimiter between two processing commands. See Pipes.

  • Pipes

If an image needs to be processed by multiple operations (for example, it needs to be cropped first and then resized), the operation commands must be separated with pipe delimiters (/). The operations (also pipes) will be executed sequentially from left to right.

For example, https://image-demo.obs.ap-southeast-1.myhuaweicloud.com/example.jpg?x-image-process=image/resize,w_100,h_100/quality,q_80 has two pipes. The pipes will be executed from left to right in sequence and the command output of the previous pipe will be used as the input of the next pipe.

Access with a Style Name

URL format: https://bucketName.endpoint/objectName?x-image-process=style/stylename

  • endpoint represents the endpoint address of the region where the bucket is located. You can obtain the endpoint from the bucket's basic information. For more information, see Regions and Endpoints.
  • bucketName is the bucket name on OBS.
  • objectName represents the name of the original image stored in the bucketName bucket. The name suffix must be supported by image processing.
  • stylename is the name of an existing style in the bucketName bucket on OBS Console. At present, REST APIs cannot be used to perform operations related to styles, such as creating, changing, or deleting styles.

Example URL: https://image-demo.obs.obs.ap-southeast-1.myhuaweicloud.com/example.jpg?x-image-process=style/stylename