更新时间:2026-06-16 GMT+08:00
分享

文生视频

文生视频,简单来说就是“通过提示词生成视频”。你只需要输入一段描述性的文字,比如“一只猫在夕阳下的草地上奔跑”,文生视频功能就能自动理解你的意思,并生成一段对应的动态视频画面。

MaaS支持模型以及相关参数,请参见支持模型

支持模型

表1 通义万相模型

模型名称

版本

Model参数

支持输入类型

支持输出类型

最大输入长度

支持输入图片格式

支持帧率

支持分辨率

生成视频时长

调用方式

默认限流

支持地域

Wan2.2-T2V-A14B

20250912

Wan2.2-T2V-A14B

文本

视频

文本:1000字符

不涉及

16、24、30(默认16)

480P、720P

3s、5s(默认5s)

V1视频生成API

RPM: 60

西南-贵阳一

表2 三方模型

模型系列

模型名称

版本

model参数

支持输入类型

支持输出类型

最大输入长度

支持帧率(fps)

输出视频最高分辨率

输出最大视频时长

默认限流

支持地域

生数科技

ViduQ3-Pro T2V

20260127

vidu/viduq3-pro_text2video

文本

视频

文本:5000 字符

24

1080p

16s

RPM: 300

西南-贵阳一

ViduQ3-Turbo T2V

20260211

vidu/viduq3-turbo_text2video

文本

视频

文本:5000 字符

24

1080p

16s

RPM: 300

API说明

模型调用的完整参数列表请见通义万相创建视频生成任务生数科技创建文生视频任务

使用限制

  • 任务数据(如任务状态、视频URL等)仅保留24小时,超时后会被自动清除。请您务必及时保存生成的视频。
  • 不同模型的限制值不同,具体限制值请以MaaS控制台“在线推理>预置服务”页面的模型限流列为准 。
    • TPM:每分钟处理的Tokens数(输入+输出)。
    • RPM:每分钟处理的请求数。

前提条件

  • 已获取模型服务的model参数值。详情请见支持模型

输入输出示例

通过一句话即可生成视频,视频呈现丰富的艺术风格及影视级画质。

表3 输入输出示例

输入示例

输出视频

小猫在散步

创建文生视频(通义万相)

此处以使用Wan2.2-T2V-A14B模型通过Python、Curl、Java生成视频为例,展示文本生成视频的基本用法。

1. 创建视频生成任务。

import requests
import json

if __name__ == '__main__':
    url = "https://api.modelarts-maas.com/v1/video/generations"  # API地址
    api_key = "MAAS_API_KEY"  # 把MAAS_API_KEY替换成已获取的API Key

    # Send request.
    headers = {
        'Content-Type': 'application/json',
        'Authorization': f'Bearer {api_key}'
    }
    data = {
        "model": "Wan2.2-T2V-A14B",  # model参数
        "input": {
            "prompt": "小猫在散步",
        },
        "parameters": {
            "size": "720x1280",   # 参照输入输出示例填写相应的分辨率。
            "fps": 16,
            "duration": 5,
            "seed": 0
        }
    }
    response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)

    # Print result.
    print(response.status_code)
    print(response.text)

响应示例

{
  "task_id": "e0cc914f-66bb-402a-912b-990fa1e4ab42",
}
curl -X POST "https://api.modelarts-maas.com/v1/video/generations" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MAAS_API_KEY" \
  -d '{
    "model": "Wan2.2-T2V-A14B",
    "input": {
        "prompt": "小猫在散步"
    },
    "parameters": {
        "size": "720x1280",
        "fps": 16,
        "duration": 5,
        "seed": 0
    }
}'

响应示例

{
  "task_id": "e0cc914f-66bb-402a-912b-990fa1e4ab42",
}

建议JDK版本为15+。

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

public class VideoGeneration {
    public static void main(String[] args) {
        // 接口地址
        String apiUrl = "https://api.modelarts-maas.com/v1/video/generations";
        // 把MAAS_API_KEY替换成已获取的API Key
        String apiKey = "MAAS_API_KEY";
        // 替换为你要调用的模型名称,例如 "Wan2.2-T2V-A14B"
        String modelName = "Wan2.2-T2V-A14B";
        // 构造请求体
        String requestBody = String.format(
                """
                    {
                        "model": "%s",
                        "input":{"prompt": "小猫在散步"},
                        "parameters": {
                            "size": "720x1280",
                            "fps": 16,
                            "duration": 5,
                            "seed": 0
                        }
                    }""", modelName);
        // 创建 HttpClient
        HttpClient client = HttpClient.newBuilder()
                .connectTimeout(Duration.ofSeconds(10))
                .build();
        // 创建请求
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(apiUrl))
                .header("Content-Type", "application/json")
                .header("Authorization", "Bearer " + apiKey)
                .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                .build();
        try {
            // 发送请求并打印结果
            HttpResponse<String> response = client.send(
                    request, HttpResponse.BodyHandlers.ofString());
            System.out.println("HTTP Status: " + response.statusCode());
            System.out.println("Response Body:\n" + response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

响应示例:

{
  "task_id": "ae745bc2163957a967e52ee4b9bfbbb6",
}

2. 根据视频生成任务id获取视频。

视频生成为异步接口,您需要先创建视频生成任务,再通过视频生成任务的ID去查询视频生成结果。视频生成过程耗时较长,查询结果时请您耐心等待。

import requests 
import json

if __name__ == '__main__': 
    url = "https://api.modelarts-maas.com/v1/video/generations/task_id" # API地址。请将task_id替换为实际的ID,您可以通过创建视频生成任务API获取。
    api_key = "MAAS_API_KEY"  # 把yourApiKey替换成已获取的API Key  

    # Send request. 
    headers = { 
        'Content-Type': 'application/json', 
        'Authorization': f'Bearer {api_key}'  
    } 
    response = requests.get(url, headers=headers, verify=False) 

    # Print result. 
    print(response.status_code) 
    print(response.text)
响应示例
{
    "task_id": "330b74a382a6d42044f146f389cd698e",
    "status": "succeeded",
    "error": {
        "code": 0,
        "message": ""
    },
    "content": {
        "result_url": "https://modelarts.obs.com/example.mp4"
    },
    "usage": {
        "model_latency": 43564,
        "completion_tokens": 124800,
        "prompt_tokens": 0,
        "total_tokens": 124800
    },
    "created_at": 1751894112234,
    "updated_at": 1751894156753
}
curl -X GET 'https://api.modelarts-maas.com/v1/video/generations/task_id' \ 
  -H "Content-Type: application/json" \ 
  -H "Authorization: Bearer $MAAS_API_KEY"
响应示例
{
    "task_id": "330b74a382a6d42044f146f389cd698e",
    "status": "succeeded",
    "error": {
        "code": 0,
        "message": ""
    },
    "content": {
        "result_url": "https://modelarts.obs.com/example.mp4"
    },
    "usage": {
        "model_latency": 43564,
        "completion_tokens": 124800,
        "prompt_tokens": 0,
        "total_tokens": 124800
    },
    "created_at": 1751894112234,
    "updated_at": 1751894156753
}

建议JDK版本为15+。

mport java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
/**
 * 视频生成,根据taskid获取视频
 * */
public class GetVideoByTaskId{
    public static void main(String[] args) {
        // 接口地址,将task_id替换为实际的ID
        String apiUrl = "https://api.modelarts-maas.com/v1/video/generations/{task_id}";
        // 把MAAS_API_KEY替换成已获取的API Key
        String apiKey = "MAAS_API_KEY";
        // 创建 HttpClient
        HttpClient client = HttpClient.newBuilder()
                .connectTimeout(Duration.ofSeconds(10))
                .build();
        // 创建请求
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(apiUrl))
                .header("Content-Type", "application/json")
                .header("Authorization", "Bearer " + apiKey)
                .GET().build();
        try {
            // 发送请求并打印结果
            HttpResponse<String> response = client.send(
                    request, HttpResponse.BodyHandlers.ofString());
            System.out.println("HTTP Status: " + response.statusCode());
            System.out.println("Response Body:\n" + response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

创建文生视频(生数科技)

此处以使用ViduQ3-Pro T2V模型通过Python脚本和Curl命令生成视频为例,展示文本生成视频的基本用法。

1. 创建视频生成任务。

import requests
import json

if __name__ == '__main__':
    url = "https://api.modelarts-maas.com/v1/video/generations"  # API地址
    api_key = "MAAS_API_KEY"  # 把 MAAS_API_KEY 替换成已获取的API Key

    # Send request.
    headers = {
        'Content-Type': 'application/json',
        'Authorization': f'Bearer {api_key}'
    }
    data = {
		"model": "vidu/viduq3-pro_text2video",
		"input": {
		   "prompt": "小猫在散步"
		},
		"parameters": {
		  "size": "1280*720",
		  "duration": 5,
		  "audio": False
      }
    }
    response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)

    # Print result.
    print(response.status_code)
    print(response.text)

响应示例

{
  "task_id" : "964395715545571329"
}
curl -X POST "https://api.modelarts-maas.com/v1/video/generations" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MAAS_API_KEY" \
  -d '{
		"model": "vidu/viduq3-pro_text2video",
		"input": {
		   "prompt": "小猫在散步"
		},
		"parameters": {
		  "size": "1280*720",
		  "duration": 5,
		  "audio": false
      }
    }'

响应示例

{
  "task_id" : "964395715545571329"
}

2. 根据视频生成任务id获取视频。

视频生成为异步接口,您需要先创建视频生成任务,再通过视频生成任务的ID去查询视频生成结果。视频生成过程耗时较长,查询结果时请您耐心等待。

import requests 
import json

if __name__ == '__main__': 
    url = "https://api.modelarts-maas.com/v1/video/generations/task_id" # API地址。请将task_id替换为实际的ID,您可以通过创建视频生成任务API获取。
    api_key = "MAAS_API_KEY"  # 把yourApiKey替换成已获取的API Key  

    # Send request. 
    headers = { 
        'Content-Type': 'application/json', 
        'Authorization': f'Bearer {api_key}'  
    } 
    response = requests.get(url, headers=headers, verify=False) 

    # Print result. 
    print(response.status_code) 
    print(response.text)
响应示例
{
  "task_id" : "962939796957712384",
  "status" : "succeeded",
  "error" : null,
  "content" : {
    "result_url" : "https://example.com/example.mp4"
  },
  "usage" : {
    "duration" : 5,
    "size" : "720*1280",
    "audio" : false,
    "shot_type" : "single"
  },
  "created_at" : 1780281309530,
  "updated_at" : 1780281338634
}
curl -X GET 'https://api.modelarts-maas.com/v1/video/generations/task_id' \ 
  -H "Content-Type: application/json" \ 
  -H "Authorization: Bearer $MAAS_API_KEY"
响应示例
{
  "task_id" : "962939796957712384",
  "status" : "succeeded",
  "error" : null,
  "content" : {
    "result_url" : "https://example.com/example.mp4"
  },
  "usage" : {
    "duration" : 5,
    "size" : "720*1280",
    "audio" : false,
    "shot_type" : "single"
  },
  "created_at" : 1780281309530,
  "updated_at" : 1780281338634
}

相关文档