python调用wan2.2 api实现首尾帧图片生成视频代码

代码语言:python

所属分类:其他

代码描述:python调用wan2.2 api实现首尾帧图片生成视频代码

代码标签: python 调用 wan2.2 api 首尾帧 图片 生成 视频 代码

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

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
阿里云 DashScope 首尾帧图片生成视频 API 调用示例
使用标准库 urllib.request 实现,无需安装第三方依赖
模型:wan2.2-kf2v-flash(首尾帧关键帧视频生成)
功能:异步提交任务 + 自动轮询查询 + 返回生成结果
"""

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"
    
    # ✅ 修复:添加条件判断 data is not None
    if data is not None:
        data = json.dumps(data).encode("utf-8")
    
    request = urllib.request.Request(
        url=url,
        data=data,
        method=method,
        headers=headers
    )
    
    try:
        with urllib.request.urlopen(request, timeout=ti.........完整代码请登录后点击上方下载按钮下载查看

网友评论0