python调用wan2.6 api实现多参考视频或图片及文字生成视频代码

代码语言:python

所属分类:其他

代码描述:python调用wan2.6 api实现多参考视频或图片及文字生成视频代码

代码标签: python 调用 wan2.6 api 参考 视频 图片 文字 生成 视频 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
阿里云 DashScope 视频生成 API 调用示例
使用标准库 urllib.request 实现,无需安装第三方依赖
模型:wan2.6-r2v(参考视频生成视频)
功能:异步提交任务 + 自动轮询查询 + 返回生成结果
✅ 已修复:失败状态下从 output 中提取 code/message
"""

import urllib.request
import urllib.error
import json
import os
import time
from typing import List, Optional, Dict, Any


class DashScopeVideoGenerator:
    """DashScope 视频生成客户端(urllib.request 版本)"""
    
    def __init__(self, api_key: Optional[str] = None):
        """初始化客户端"""
        self.api_key = api_key or os.getenv("DASHSCOPE_API_KEY","sk-")
        if not self.api_key:
            raise ValueError("请设置 DASHSCOPE_API_KEY 环境变量或在初始化时传入 api_key")
        
        self.base_url = "https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis"
        self.task_url = "https://dashscope.aliyuncs.com/api/v1/tasks"
    
    def _build_headers(self, async_mode: bool = True) -> Dict[str, str]:
        """构建请求头"""
        headers = {
            "Authorization": f"Bearer {self.api_key}",
            "Content-Type": "application/json"
        }
        if async_mode:
            headers["X-DashScope-Async"] = "enable"
        return headers
    
    def _make_request(
        self,
        url: str,
        method: str = "GET",
        data: Optional[Dict] = None,
        headers: Optional[Dict] = None,
        timeout: int = 3.........完整代码请登录后点击上方下载按钮下载查看

网友评论0