tencent cloud

Feedback

Submitting Digital Watermark Adding Job

Last updated: 2023-05-19 14:49:06

    Feature Overview

    This API is used to submit a video watermarking job.

    Request

    Sample request

    POST /jobs HTTP/1.1
    Host: <BucketName-APPID>.ci.<Region>.myqcloud.com
    Date: <GMT Date>
    Authorization: <Auth String>
    Content-Length: <length>
    Content-Type: application/xml
    
    <body>
    
    Note:

    Authorization: Auth String. For more information, see Request Signature.

    Request headers

    This API only uses Common Request Headers.

    Request body

    This request requires the following request body:

    <Request>
        <Tag>Watermark</Tag>
        <Input>
            <Object>input/demo.mp4</Object>
        </Input>
        <Operation>
            <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe22</WatermarkTemplateId>
            <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe23</WatermarkTemplateId>
            <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe24</WatermarkTemplateId>
            <Output>
                <Region>ap-chongqing</Region>
                <Bucket>test-123456789</Bucket>
                <Object>output/out.mp4</Object>
            </Output>
            <UserData>This is my data.</UserData>
            <JobLevel>0</JobLevel>
        </Operation>
        <CallBack>http://callback.demo.com</CallBack>
        <CallBackFormat>JSON<CallBackFormat>
    </Request>
    

    The nodes are described as follows:

    Node Name (Keyword) Parent Node Description Type Required
    Request None Request container Container Yes

    Request has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Tag Request Job type: Watermark String Yes
    Input Request Information about the file to be operated Container Yes
    Operation Request Operation rule Container Yes
    QueueType Request Type of queue for the job. The value is SpeedTranscoding, indicating accelerated transcoding. String No
    CallBackFormat Request Job callback format, which can be JSON or XML (default value). It takes priority over that of the queue. String No
    CallBackType Request Job callback type, which can be Url (default value) or TDMQ. It takes priority over that of the queue. String No
    CallBack Request Job callback address, which takes priority over that of the queue. If it is set to no, no callbacks will be generated at the callback address of the queue. String No
    CallBackMqConfig Request TDMQ configuration for job callback as described in Structure, which is required if CallBackType is TDMQ. Container No

    Input has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Object Request.Input File path String Yes


    Operation has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    WatermarkTemplateId Request.Operation Watermark template ID. A maximum of three watermark template IDs can be passed in. String array No
    Watermark Request.Operation Watermark template parameter, which is the same as Request.Watermark in the watermark template creation API. A maximum of three watermarks can be passed in. Container array No
    Output Request.Operation Result output configuration Container Yes
    UserData Request.Operation The user information passed through, which is printable ASCII codes of up to 1,024 in length. String No
    JobLevel Request.Operation Job priority. The greater the value, the higher the priority. Valid values: 0, 1, 2. Default value: 0. String No
    Note:

    For the watermark parameter, WatermarkTemplateId or Watermark can be used for configuration, and WatermarkTemplateId is used first. At least one of them must be specified.

    Output has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Region Request.Operation.Output Bucket region String Yes
    Bucket Request.Operation.Output Result storage bucket String Yes
    Object Request.Operation.Output Output result filename String Yes

    Request.Operation.Output.Object supports the following wildcards:

    Wildcard Meaning
    ${ext} Container format
    ${jobid} Job ID

    Response

    Response headers

    This API only returns Common Response Headers.

    Response body

    The response body returns application/xml data. The following contains all the nodes:

    <Response>
        <JobsDetail>
            <Code>Success</Code>
            <Message/>
            <JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId>
            <State>Submitted</State>
            <CreationTime>2022-06-27T15:23:10+0800</CreationTime>
            <StartTime>-</StartTime>
            <EndTime>-</EndTime>
            <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
            <Tag>Watermark</Tag>
            <Input>
                <BucketId>test-123456789</BucketId>
                <Object>input/demo.mp4</Object>
                <Region>ap-chongqing</Region>
            </Input>
            <Operation>
                <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe22</WatermarkTemplateId>
                <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe23</WatermarkTemplateId>
                <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe24</WatermarkTemplateId>
                <Output>
                    <Region>ap-chongqing</Region>
                    <Bucket>test-123456789</Bucket>
                    <Object>output/out.mp4</Object>
                </Output>
                <UserData>This is my data.</UserData>
                <JobLevel>0</JobLevel>
            </Operation>
        </JobsDetail>
    </Response>
    

    The nodes are as described below:

    Node Name (Keyword) Parent Node Description Type
    Response None Result storage container Container

    Response has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    JobsDetail Response Job details Container


    JobsDetail has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    Code Response.JobsDetail Error code, which is returned only if State is Failed String
    Message Response.JobsDetail Error message, which is returned only if State is Failed String
    JobId Response.JobsDetail Job ID String
    Tag Response.JobsDetail Job type: Watermark String
    State Response.JobsDetail Job status. Valid values: Submitted, Running, Success, Failed, Pause, Cancel. String
    CreationTime Response.JobsDetail Job creation time String
    StartTime Response.JobsDetail Job start time String
    EndTime Response.JobsDetail Job end time String
    QueueId Response.JobsDetail ID of the queue where the job is in String
    Input Response.JobsDetail Input resource address of the job Container
    Operation Response.JobsDetail Operation rule Container

    Input has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    Region Response.JobsDetail.Input Bucket region String
    Bucket Response.JobsDetail.Input Result storage bucket String
    Object Response.JobsDetail.Input Output result filename String

    Operation has the following sub-nodes:

    Node Name (Keyword) Parent Node Description
    WatermarkTemplateId Response.JobsDetail.Operation Watermark template ID
    Watermark Response.JobsDetail.Operation Same as Request.Operation.Watermark in the request
    Output Response.JobsDetail.Operation Same as Request.Operation.Output in the request
    MediaInfo Response.JobsDetail.Operation Media information of the output file, which will not be returned when the job is not completed
    MediaResult Response.JobsDetail.Operation Basic information of the output file, which will not be returned when the job is not completed
    UserData Response.JobsDetail.Operation The user information passed through
    JobLevel Response.JobsDetail.Operation Job priority

    MediaInfo has the following sub-nodes:
    Same as the Response.MediaInfo node in the Getting Media File Information API.

    MediaResult has the following sub-nodes:
    For more information, see MediaResult.

    Error codes

    No special error message will be returned for this request. For the common error messages, see Error Codes.

    Examples

    Request 1: Using a watermark template ID

    POST /jobs HTTP/1.1
    Authorization: q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0a1ICvR****&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0ea057
    Host: test-1234567890.ci.ap-chongqing.myqcloud.com
    Content-Length: 166
    Content-Type: application/xml
    
    <Request>
        <Tag>Watermark</Tag>
        <Input>
            <Object>input/demo.mp4</Object>
        </Input>
        <Operation>
            <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe22</WatermarkTemplateId>
            <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe23</WatermarkTemplateId>
            <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe24</WatermarkTemplateId>
            <Output>
                <Region>ap-chongqing</Region>
                <Bucket>test-123456789</Bucket>
                <Object>output/out.mp4</Object>
            </Output>
            <UserData>This is my data.</UserData>
            <JobLevel>0</JobLevel>
        </Operation>
        <CallBack>http://callback.demo.com</CallBack>
        <CallBackFormat>JSON<CallBackFormat>
    </Request>
    

    Response 1

    HTTP/1.1 200 OK
    Content-Type: application/xml
    Content-Length: 230
    Connection: keep-alive
    Date: Mon, 28 Jun 2022 15:23:12 GMT
    Server: tencent-ci
    x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****
    
    <Response>
        <JobsDetail>
            <Code>Success</Code>
            <Message/>
            <JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId>
            <State>Submitted</State>
            <CreationTime>2022-06-27T15:23:11+0800</CreationTime>
            <StartTime>-</StartTime>
            <EndTime>-</EndTime>
            <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
            <Tag>Watermark</Tag>
            <Input>
                <BucketId>test-123456789</BucketId>
                <Object>input/demo.mp4</Object>
                <Region>ap-chongqing</Region>
            </Input>
            <Operation>
                <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe22</WatermarkTemplateId>
                <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe23</WatermarkTemplateId>
                <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe24</WatermarkTemplateId>
                <Output>
                    <Region>ap-chongqing</Region>
                    <Bucket>test-123456789</Bucket>
                    <Object>output/out.mp4</Object>
                </Output>
                <UserData>This is my data.</UserData>
                <JobLevel>0</JobLevel>
            </Operation>
        </JobsDetail>
    </Response>
    

    Request 2: Using the watermark parameter

    POST /jobs HTTP/1.1
    Authorization:q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0a1ICvR****&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0ea057
    Host: test-1234567890.ci.ap-chongqing.myqcloud.com
    Content-Length: 166
    Content-Type: application/xml
    
    <Request>
        <Tag>Watermark</Tag>
        <Input>
            <Object>input/demo.mp4</Object>
        </Input>
        <Operation>
            <Watermark>
                <Type>Text</Type>
                <LocMode>Absolute</LocMode>
                <Dx>128</Dx>
                <Dy>128</Dy>
                <Pos>TopRight</Pos>
                <StartTime>0</StartTime>
                <EndTime>100.5</EndTime>
                <Text>
                    <Text>Watermark content</Text>
                    <FontSize>30</FontSize>
                    <FontType>simfang.ttf</FontType>
                    <FontColor>0xRRGGBB</FontColor>
                    <Transparency>30</Transparency>
                </Text>
            </Watermark>
            <Watermark>
                <Type>Image</Type>
                <LocMode>Absolute</LocMode>
                <Dx>128</Dx>
                <Dy>128</Dy>
                <Pos>TopRight</Pos>
                <StartTime>0</StartTime>
                <EndTime>100.5</EndTime>
                <Image>
                    <Url>http://test-1234567890.ci.ap-chongqing.myqcloud.com/shuiyin_2.png</Url>
                    <Mode>Proportion</Mode>
                    <Width>10</Width>
                    <Height></Height>
                    <Transparency>100</Transparency>
                </Image>
            </Watermark>
            <Output>
                <Region>ap-chongqing</Region>
                <Bucket>test-123456789</Bucket>
                <Object>output/out.mp4</Object>
            </Output>
            <UserData>This is my data.</UserData>
            <JobLevel>0</JobLevel>
        </Operation>
        <CallBack>http://callback.demo.com</CallBack>
        <CallBackFormat>JSON<CallBackFormat>
    </Request>
    

    Response 2

    HTTP/1.1 200 OK
    Content-Type: application/xml
    Content-Length: 230
    Connection: keep-alive
    Date: Mon, 28 Jun 2022 15:23:12 GMT
    Server: tencent-ci
    x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****
    
    <Response>
        <JobsDetail>
            <Code>Success</Code>
            <Message/>
            <JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId>
            <State>Submitted</State>
            <CreationTime>2022-06-27T15:23:10+0800</CreationTime>
            <StartTime>-</StartTime>
            <EndTime>-</EndTime>
            <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
            <Tag>Watermark</Tag>
            <Input>
                <BucketId>test-123456789</BucketId>
                <Object>input/demo.mp4</Object>
                <Region>ap-chongqing</Region>
            </Input>
            <Operation>
                <Watermark>
                    <Type>Text</Type>
                    <LocMode>Absolute</LocMode>
                    <Dx>128</Dx>
                    <Dy>128</Dy>
                    <Pos>TopRight</Pos>
                    <StartTime>0</StartTime>
                    <EndTime>100.5</EndTime>
                    <Text>
                        <Text>Watermark content</Text>
                        <FontSize>30</FontSize>
                        <FontType>simfang.ttf</FontType>
                        <FontColor>0xRRGGBB</FontColor>
                        <Transparency>30</Transparency>
                    </Text>
                </Watermark>
                <Watermark>
                    <Type>Image</Type>
                    <LocMode>Absolute</LocMode>
                    <Dx>128</Dx>
                    <Dy>128</Dy>
                    <Pos>TopRight</Pos>
                    <StartTime>0</StartTime>
                    <EndTime>100.5</EndTime>
                    <Image>
                        <Url>http://test-1234567890.ci.ap-chongqing.myqcloud.com/shuiyin_2.png</Url>
                        <Mode>Proportion</Mode>
                        <Width>10</Width>
                        <Height></Height>
                        <Transparency>100</Transparency>
                    </Image>
                </Watermark>
                <Output>
                    <Region>ap-chongqing</Region>
                    <Bucket>test-123456789</Bucket>
                    <Object>output/out.mp4</Object>
                </Output>
                <UserData>This is my data.</UserData>
                <JobLevel>0</JobLevel>
            </Operation>
        </JobsDetail>
    </Response>
    
    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