python调用wan2.6-t2v api文本生成多镜头视频代码
代码语言:python
所属分类:其他
代码描述:python调用wan2.6-t2v api文本生成多镜头视频代码,可传声音作为配音
代码标签: python调用 wan2.6-t2v api 文本 生成 多镜头 视频 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
阿里云 DashScope 文生视频 API 调用示例(支持多镜头)
使用标准库 urllib.request 实现,无需安装第三方依赖
模型:wan2.6-t2v(文本生成视频,支持多镜头)
功能:异步提交任务 + 自动轮询查询 + 返回生成结果
"""
import urllib.request
import urllib.error
import json
import os
import time
from typing import Optional, Dict, Any
def _make_request(
url: str,
method: str = "GET",
data: Optional[Dict] = None,
api_key: Optional[str] = None,
async_mode: bool = True,
timeout: int = 30
) -> Dict[str, Any]:
"""通用请求方法(内部函数)"""
api_key = api_key or os.getenv("DASHSCOPE_API_KEY","sk-")
if not api_key:
return {
"success": False,
"error_type": "auth_error",
"message": "请设置 DASHSCOPE_API_KEY 环境变量或传入 api_key 参数"
}
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
if async_mode:
headers["X-DashScope-Async"] = "enable"
if data is not None:
data = json.dumps(data, ensure_ascii=False).encode("utf-8")
request = urllib.request.Request(
url=url,
data=data,
method=method,
headers=headers
)
try:
with urllib.request.urlopen(request, timeout=timeout) as response:
response_data = response.read().decode("utf-8")
return {
"success": True,
"status_code": response.status,
"data": json.loads(response_data)
}
except urllib.error.HTTPError as e:
error_body = e.read().decode("utf-8")
try:
error_json = json.loads(error.........完整代码请登录后点击上方下载按钮下载查看















网友评论0