关于 aliyun-video-style-repaint
通过阿里云 DashScope 异步视频生成 API 将输入视频转换为预设艺术风格,适合需要对短视频进行风格化处理的流程。可选择 8 种风格,并配置帧率、分辨率和超分辨率选项。
主要功能
- 01提供 8 种预设艺术风格
- 02支持配置输出帧率与分辨率
- 03支持表情优化和超分辨率选项
- 04异步提交任务并轮询结果
适用场景
- 01将视频转换为漫画或插画风格
- 02为短视频应用国风水墨效果
- 03按需调整视频帧率和输出清晰度
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cinience/ alicloud-skills --skill aliyun-video-style-repaint安装后在 Claude Code 中输入/aliyun-video-style-repaint确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api_reference.mdsources.mdscripts/repaint_video.py详细介绍
视频风格重绘
验证
mkdir -p output/aliyun-video-style-repaint
python -m py_compile skills/ai/video/aliyun-video-style-repaint/scripts/repaint_video.py && echo "py_compile_ok" > output/aliyun-video-style-repaint/validate.txt
通过标准:命令以 0 退出,并生成 output/aliyun-video-style-repaint/validate.txt。
输出与证据
- 将任务 ID、轮询响应和最终视频 URL 保存到
output/aliyun-video-style-repaint/。 - 至少保留一份端到端运行日志,以便排查问题。
前置条件
- 安装 SDK(建议在 venv 中安装):
python3 -m venv .venv
. .venv/bin/activate
python -m pip install requests
- 在环境中设置
DASHSCOPE_API_KEY,或将dashscope_api_key添加到~/.alibabacloud/credentials。 - 此 API 仅在北京地域可用。必须使用北京地域的 API Key。
重要模型名称
video-style-transform-- 支持 8 种预设艺术风格
支持的风格
| 风格 ID | 名称(英文) | 名称(中文) |
|---|---|---|
| 0 | 日式漫画 | 日式漫画 |
| 1 | 美式漫画 | 美式漫画 |
| 2 | 清新漫画 | 清新漫画 |
| 3 | 3D 卡通 | 3D 卡通 |
| 4 | 国风卡通 | 国风卡通 |
| 5 | 纸艺风格 | 纸艺风格 |
| 6 | 简易插画 | 简易插画 |
| 7 | 国风水墨 | 国风水墨 |
API 端点(仅支持异步)
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
必需的请求头:
Authorization: Bearer $DASHSCOPE_API_KEYContent-Type: application/jsonX-DashScope-Async: enable
标准化接口
请求
video_url(字符串,必填)-- 输入视频的公开 HTTP/HTTPS URLstyle(整数,可选)-- 风格 ID,范围为 0-7(默认值:0,日式漫画)video_fps(整数,可选)-- 输出帧率,范围为 [15, 25](默认值:15)animate_emotion(布尔值,可选)-- 面部表情优化(默认值:true)min_len(整数,可选)-- 输出短边像素数,可为 720 或 540(默认值:720)use_SR(布尔值,可选)-- 超分辨率增强(默认值:false)
视频输入限制
- 格式:MP4、AVI、MKV、MOV、FLV、TS、MPG、MXF
- 分辨率:每边为 [256, 4096] 像素,最大宽高比为 1.8:1
- 时长:最多 30 秒
- 最大大小:100MB
- URL:包含非 ASCII 字符时必须进行 URL 编码
响应(创建任务)
output.task_id(字符串)-- 用于轮询,有效期为 24 小时output.task_status(字符串)-- PENDING | RUNNING | SUSPENDED | SUCCEEDED | FAILEDrequest_id(字符串)
响应(任务结果)
output.output_video_url(字符串)-- 结果视频 URLoutput.task_status(字符串)-- 最终状态output.submit_time(字符串)-- 任务提交时间output.scheduled_time(字符串)-- 任务开始执行时间output.end_time(字符串)-- 任务完成时间usage.duration(整数)-- 视频时长,单位为秒usage.SR(整数)-- 使用的分辨率
快速开始(Python + HTTP)
import os
import json
import time
import requests
API_KEY = os.getenv("DASHSCOPE_API_KEY")
BASE_URL = "https://dashscope.aliyuncs.com/api/v1"
def create_style_repaint_task(video_url: str, style: int = 0) -> str:
"""Create a video style repaint task and return task_id."""
payload = {
"model": "video-style-transform",
"input": {
"video_url": video_url,
},
"parameters": {
"style": style,
"video_fps": 15,
},
}
resp = requests.post(
f"{BASE_URL}/services/aigc/video-generation/video-synthesis",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
"X-DashScope-Async": "enable",
},
json=payload,
)
resp.raise_for_status()
data = resp.json()
return data["output"]["task_id"]
def poll_task(task_id: str, interval: int = 15) -> dict:
"""Poll until task completes. Returns final response."""
while True:
resp = requests.get(
f"{BASE_URL}/tasks/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"},
)
resp.raise_for_status()
data = resp.json()
status = data["output"]["task_status"]
if status in ("SUCCEEDED", "FAILED", "CANCELED", "SUSPENDED"):
return data
time.sleep(interval)
错误处理
| 错误 | 可能原因 | 操作 |
|---|---|---|
| 401/403 | 缺少或无效的 DASHSCOPE_API_KEY | 检查环境变量或凭据文件 |
400 InvalidParameter | 不支持的视频格式、尺寸错误或风格无效 | 验证参数 |
| “does not support synchronous calls” | 缺少 X-DashScope-Async: enable 请求头 | 添加必需的请求头 |
| 429 | 速率限制或配额限制 | 退避后重试 |
输出位置
- 默认输出:
output/aliyun-video-style-repaint/videos/ - 使用
OUTPUT_DIR覆盖基础目录。
反模式
- 请勿使用
video-style-transform以外的模型名称。 - 请勿同步调用此 API -- 必须使用异步请求头。
- 请勿使用 0-7 范围之外的风格 ID。
- 视频 URL 会在 24 小时后过期;请立即下载并持久化保存。
- 请勿使用新加坡端点 -- 此 API 仅限北京地域。
工作流
- 确认用户意图:从 8 种预设中选择所需的艺术风格。
- 准备格式和尺寸均有效的视频 URL。
- 配置参数(风格、帧率、分辨率、超分辨率)。
- 创建异步任务并轮询结果。
- 在 URL 过期前下载并保存转换后的视频。
参考资料
- 完整的 HTTP API 详情请参阅
references/api_reference.md。 - 来源链接请参阅
references/sources.md。
评论
支持 Markdown