You need to enable JavaScript to run this app.
导航
V2.0 SDK 介绍与迁移说明
最近更新时间:2025.06.26 11:04:44首次发布时间:2025.06.26 11:04:44
我的收藏
有用
有用
无用
无用

V2.0 SDK 是火山引擎新一代的 SDK,具有统一的 SDK 架构和更规范的 API 设计,便于维护和使用。视频点播计划将 OpenAPI 逐步迁移至 V2.0 SDK。在迁移期间,您需要同时使用两个版本的 SDK。迁移建议如下:

  1. 逐步迁移:先迁移 V2.0 支持的 OpenAPI,其余 OpenAPI 继续使用 V1.0。
  2. 版本检查:定期检查 V2.0 新增支持的 OpenAPI。
  3. 完全迁移:当所有需要的 OpenAPI 都在 V2.0 中得到支持后,再移除 V1.0 依赖。

本文为您介绍 V2.0 SDK 当前支持的 OpenAPI 列表,并提供接口调用示例,帮助您使用新版 SDK。

V2.0 当前支持的 OpenAPI

目前 V2.0 SDK 支持以下视频点播 OpenAPI:

功能模块

OpenAPI

媒体处理

V2.0 源码地址和集成说明

编程语言

源码地址

集成文档

Java

volcengine-java-sdk

集成 SDK

Python

volcengine-python-sdk

集成 SDK

PHP

volcengine-php-sdk

集成 SDK

Go

volcengine-go-sdk

集成 SDK

Node.js

暂不支持

V2.0 接口调用示例

本节以 StartExecution - 提交媒体处理任务接口为例,展示使用 VOD SDK V2.0 时如何调用点播接口。

Java

import com.volcengine.ApiClient;
import com.volcengine.ApiException;
import com.volcengine.sign.Credentials;
import com.volcengine.vod20250101.Vod20250101Api;
import com.volcengine.vod20250101.model.*;

public class TestVod20250101 {
    public static void main(String[] args) throws Exception {
        // 请在环境变量或本地 ~/.volc/config 文件中配置您的 Access Key ID (AK) 和 Secret Access Key (SK)。详细说明,请见 https://www.volcengine.com/docs/4/65641。
        // SDK 会自动从环境变量或 ~/.volc/config 文件中读取 AK 和 SK。
        // 在测试过程中,您可以使用以下代码片段。但是请勿直接将 AK 和 SK 保存到工程代码中,否则可能导致 AK 和 SK 泄露,威胁您账号下所有资源的安全。
        String ak = "your ak"; // 替换成你自己的 AK
        String sk = "your sk"; // 替换成你自己的 SK
        String region = "cn-north-1";

        ApiClient apiClient = new ApiClient()
                .setCredentials(Credentials.getCredentials(ak, sk))
                .setRegion(region);
        Vod20250101Api vod20250101Api = new Vod20250101Api(apiClient);
        StartExecutionRequest request = new StartExecutionRequest();
        InputForStartExecutionInput input = new InputForStartExecutionInput();
        input.setType("Vid");
        input.setVid("v1234567890test1234567890");
        request.setInput(input);
        OperationForStartExecutionInput operation = new OperationForStartExecutionInput();
        operation.setType("Task");
        TaskForStartExecutionInput task = new TaskForStartExecutionInput();
        task.setType("Highlight");
        HighlightForStartExecutionInput highlight = new HighlightForStartExecutionInput();
        task.setHighlight(highlight);
        operation.setTask(task);
        request.setOperation(operation);
        ControlForStartExecutionInput control = new ControlForStartExecutionInput();
        control.setClientToken("testToken");
        request.setControl(control);


        try {
            StartExecutionResponse response = vod20250101Api.startExecution(request);
            System.out.println(response);
        } catch (ApiException e) {
            System.out.println(e.getResponseBody());
        }
    }
}

Python

from __future__ import print_function
import volcenginesdkvod20250101
import volcenginesdkcore
from pprint import pprint
from volcenginesdkcore.rest import ApiException

if __name__ == '__main__':
    configuration = volcenginesdkcore.Configuration()
    # 请在环境变量或本地 ~/.volc/config 文件中配置您的 Access Key ID (AK) 和 Secret Access Key (SK)。详细说明,请见 https://www.volcengine.com/docs/4/65641。
    # SDK 会自动从环境变量或 ~/.volc/config 文件中读取 AK 和 SK。
    # 在测试过程中,您可以使用以下代码片段。但是请勿直接将 AK 和 SK 保存到工程代码中,否则可能导致 AK 和 SK 泄露,威胁您账号下所有资源的安全。
    configuration.ak = "Your AK"
    configuration.sk = "Your SK"
    configuration.region = "cn-north-1"
    configuration.client_side_validation = True
    # set default configuration
    volcenginesdkcore.Configuration.set_default(configuration)

    # use global default configuration
    api_instance = volcenginesdkvod20250101.VOD20250101Api()
    # use custom configuration
    # api_instance = volcenginesdkvod20250101.VOD20250101Api(volcenginesdkcore.ApiClient(configuration))

    try:
        resp = api_instance.start_execution(
            volcenginesdkvod20250101.StartExecutionRequest(
                input=volcenginesdkvod20250101.InputForStartExecutionInput(
                    type="Vid",
                    vid="v1234567890test1234567890",
                ),
                operation=volcenginesdkvod20250101.OperationForStartExecutionInput(
                    type="Task",
                    task=volcenginesdkvod20250101.TaskForStartExecutionInput(
                        type="Highlight",
                        highlight=volcenginesdkvod20250101.HighlightForStartExecutionInput()
                    )
                ),
                control=volcenginesdkvod20250101.ControlForStartExecutionInput(
                    client_token="testToken"
                )
            ))
        pprint(resp)
    except ApiException as e:
        print("Exception when calling VOD20250101Api->start_execution: %s\n" % e)

PHP

<?php
require(__DIR__ . '/vendor/autoload.php');

$config = \Volcengine\Common\Configuration::getDefaultConfiguration()
    // 请在环境变量或本地 ~/.volc/config 文件中配置您的 Access Key ID (AK) 和 Secret Access Key (SK)。详细说明,请见 https://www.volcengine.com/docs/4/65641。
    // SDK 会自动从环境变量或 ~/.volc/config 文件中读取 AK 和 SK。
    // 在测试过程中,您可以使用以下代码片段。但是请勿直接将 AK 和 SK 保存到工程代码中,否则可能导致 AK 和 SK 泄露,威胁您账号下所有资源的安全。
    ->setAk("your ak")
    ->setSk("your sk")
    ->setRegion("cn-north-1");
$apiInstance = new \Volcengine\Vod20250101\API\VOD20250101Api(
    /*
     * If you want to use a custom HTTP client, pass your client which implements `GuzzleHttp\ClientInterface`.
     * This is optional; `GuzzleHttp\Client` will be used as default.
     */
    new GuzzleHttp\Client(),
    $config
);

$body = new \Volcengine\Vod20250101\Model\StartExecutionRequest();
$input = new \Volcengine\Vod20250101\Model\InputForStartExecutionInput();
$input->setType("Vid");
$input->setVid("v1234567890test1234567890");
$body->setInput($input);
$operation = new \Volcengine\Vod20250101\Model\OperationForStartExecutionInput();
$operation->setType("Task");
$task = new \Volcengine\Vod20250101\Model\TaskForStartExecutionInput();
$task->setType("Highlight");
$highlight = new \Volcengine\Vod20250101\Model\HighlightForStartExecutionInput();
$task->setHighlight($highlight);
$operation->setTask($task);
$body->setOperation($operation);
$control = new \Volcengine\Vod20250101\Model\ControlForStartExecutionInput();
$control->setClientToken("testToken");
$body->setControl($control);


try {
    $result = $apiInstance->startExecution($body);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling VOD20250101Api->startExecution: ', $e->getMessage(), PHP_EOL;
}

?>

Go

package main

import (
    "fmt"
    "github.com/volcengine/volcengine-go-sdk/service/vod20250101"
    "github.com/volcengine/volcengine-go-sdk/volcengine"
    "github.com/volcengine/volcengine-go-sdk/volcengine/credentials"
    "github.com/volcengine/volcengine-go-sdk/volcengine/session"
)

func main() {
    var (
       ak     string
       sk     string
       region string
       config *volcengine.Config
       sess   *session.Session
       client *vod20250101.VOD20250101
       resp   *vod20250101.StartExecutionOutput
       err    error
    )
    // 请在环境变量或本地 ~/.volc/config 文件中配置您的 Access Key ID (AK))和 Secret Access Key (SK)。详细说明,请见 https://www.volcengine.com/docs/4/65641。
    // SDK 会自动从环境变量或 ~/.volc/config 文件中读取 AK 和 SK。
    // 在测试过程中,您可以使用以下代码片段。但是请勿直接将 AK 和 SK 保存到工程代码中,否则可能导致 AK 和 SK 泄露,威胁您账号下所有资源的安全。
    ak = "your ak"
    sk = "your sk"
    region = "cn-north-1"
    config = volcengine.NewConfig().
       WithCredentials(credentials.NewStaticCredentials(ak, sk, "")).
       WithRegion(region)

    sess, err = session.NewSession(config)
    if err != nil {
       panic(err)
    }

    client = vod20250101.New(sess)

    resp, err = client.StartExecution(&vod20250101.StartExecutionInput{
       Input: &vod20250101.InputForStartExecutionInput{
          Type: volcengine.String("Vid"),
          Vid:  volcengine.String("v1234567890test1234567890"),
       },
       Operation: &vod20250101.OperationForStartExecutionInput{
          Type: volcengine.String("Task"),
          Task: &vod20250101.TaskForStartExecutionInput{
             Type:      volcengine.String("Highlight"),
             Highlight: &vod20250101.HighlightForStartExecutionInput{},
          },
       },
       Control: &vod20250101.ControlForStartExecutionInput{
          ClientToken: volcengine.String("testToken"),
       },
    })
    if err != nil {
       panic(err)
    }

    fmt.Println(resp)

}