tencent cloud

Feedback

Converting Format

Last updated: 2022-08-10 15:21:48

    Feature Overview

    CI uses the imageMogr2 API to perform format conversion, GIF optimization, and progressive display.

    An image can be processed:

    • Upon download
    • Upon upload
    • In cloud

    Restrictions

    • Animated image formats such as GIF, WebP, and TPG can be interconverted.
    • Static image formats such as JPG, PNG, BMP, TPG, and HEIF can be interconverted.

    API Format

    1. Processing upon download

    download_url?imageMogr2/format/<Format>
                   /cgif/<FrameNumber>
                   /interlace/<Mode>
    

    2. Processing upon upload

    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": "imageMogr2/format/<Format>
                   /cgif/<FrameNumber>
                   /interlace/<Mode>"
    }]
    }
    
    Note:

    Pic-Operations is a JSON string. Its parameters are as described in Persistent Image Processing.

    3. Processing in-cloud data

    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: 
    {
    "is_pic_info": 1,
    "rules": [{
        "fileid": "exampleobject",
        "rule": "imageMogr2/format/<Format>
                   /cgif/<FrameNumber>
                   /interlace/<Mode>"
    }]
    }
    
    Note:

    • Authorization: Auth String (See Request Signature for details.)
    • When this feature is used by a sub-account, relevant permissions must be granted.

    Parameters

    Parameter Description
    download_url URL of the input image, formatted as &lt;BucketName-APPID>.cos.&lt;Region>.myqcloud.com/&lt;picture name>
    Example: examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/picture.jpeg
    /format/ Converts the image format. The target format can be JPG, BMP, GIF, PNG, WebP, or YJPEG (a JPEG-based format optimized by CI). Default format: format of the input image
    /cgif/<FrameNumber> Optimizes a GIF image by reducing the number of frames and colors. Valid values of FrameNumber:
  • 1: cuts the input GIF to the default number of frames (30). If the original number of frames is greater than 30, the exceeded frames will be cut.
  • (1,100]: compresses the image to the specified number of frames.
  • /interlace/<Mode> Progressive mode of the output JPG image. Valid values:
    0 (default): disables the progressive mode.
    1: enables the progressive mode.
    This parameter takes effect only when the output image is in JPG format. Otherwise, this parameter will be ignored.
    /ignore-error/1 If this parameter is carried and the image failed to be processed because the image size or the parameter value is too large, the input image will be returned with no error reported.

    Examples

    Note:

    Processing upon download is used as an example here, which does not store the output image in a bucket. If you need to store the output image, see Persistent Image Processing and use Processing upon upload or Processing in-cloud data.

    Example 1: Converting a JPEG image into PNG format

    http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?imageMogr2/format/png
    

    Example 2: Converting a JPEG image into PNG format with a signature carried

    This example processes the image in the same way as in the example above except that a signature is carried. The signature is joined with other processing parameters using an ampersand (&).

    http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?q-sign-algorithm=<signature>&imageMogr2/format/png
    
    Note:

    You can obtain the value of <signature> by referring to Request Signature.

    Notes

    To prevent unauthorized users from accessing or downloading the input image by using a URL that does not contain any processing parameter, you can add the processing parameters to the request signature, making the processing parameters the key of the parameter with the value left empty. The following is a simple example for your reference (it might have expired or become inaccessible). For more information, see Upload via Pre-Signed URL.

    http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?q-sign-algorithm=sha1&q-ak=AKID********************&q-sign-time=1593342360;1593342720&q-key-time=1593342360;1593342720&q-header-list=&q-url-param-list=watermark%252f1%252fimage%252fahr0cdovl2v4yw1wbgvzlteyntewmdawmdqucgljc2gubxlxy2xvdwquy29tl3nodwl5aw4uanbn%252fgravity%252fsoutheast&q-signature=26a429871963375c88081ef60247c5746e834a98&watermark/1/image/aHR0cDovL2V4YW1wbGVzLTEyNTEwMDAwMDQucGljc2gubXlxY2xvdWQuY29tL3NodWl5aW4uanBn/gravity/southeast
    


    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support