public function createThumbnailJob($pipelineName, array $source, $options = array()) {
        list($config, $target, $capture) = $this->parseOptions(
            $options,
            'config',
            'target',
            'capture'
        );

        if (empty($pipelineName)) {
            throw new BceClientException("The parameter pipelineName " 
                ."should NOT be null or empty string");
        }

        if (empty($source)) {
            throw new BceClientException("The parameter source " 
                ."should NOT be null or empty string");
        }
        
        $body = array(
            'pipelineName' => $pipelineName,
            'source' => $source,
        );

        if ($target !== null) {
            $body['target'] = $target;
        }
        if ($capture !== null) {
            $body['capture'] = $capture;
        }

        return $this->sendRequest(
            HttpMethod::POST,
            array(
                'config' => $config,
                'body' => json_encode($body),
            ),
            '/job/thumbnail'
        );
    }