Loading...
Loading...
Compare original and translation side by side
mkdir -p output/aliyun-wan-video
python -m py_compile skills/ai/video/aliyun-wan-video/scripts/generate_video.py && echo "py_compile_ok" > output/aliyun-wan-video/validate.txtoutput/aliyun-wan-video/validate.txtmkdir -p output/aliyun-wan-video
python -m py_compile skills/ai/video/aliyun-wan-video/scripts/generate_video.py && echo "py_compile_ok" > output/aliyun-wan-video/validate.txtoutput/aliyun-wan-video/validate.txtoutput/aliyun-wan-video/video.generateoutput/aliyun-wan-video/video.generatewan2.6-t2vwan2.6-t2v-uswan2.2-t2v-pluswan2.2-t2v-flashwan2.6-i2v-flashwan2.6-i2vwan2.6-i2v-uswanx2.1-t2v-turbowan2.6-t2vwan2.6-t2v-uswan2.2-t2v-pluswan2.2-t2v-flashwan2.6-i2v-flashwan2.6-i2vwan2.6-i2v-uswanx2.1-t2v-turbopython3 -m venv .venv
. .venv/bin/activate
python -m pip install dashscopeDASHSCOPE_API_KEYdashscope_api_key~/.alibabacloud/credentialspython3 -m venv .venv
. .venv/bin/activate
python -m pip install dashscopeDASHSCOPE_API_KEYdashscope_api_key~/.alibabacloud/credentialspromptnegative_promptdurationfpssize1280*720seedreference_imagemotion_strengthpromptnegative_promptdurationfpssize1280*720seedreference_imagemotion_strengthvideo_urldurationfpsseedvideo_urldurationfpsseedwan2.6-t2vreference_imageimport os
from dashscope import VideoSynthesiswan2.6-t2vreference_imageimport os
from dashscope import VideoSynthesisif req.get("reference_image"):
# DashScope expects img_url for i2v models; local files are auto-uploaded.
payload["img_url"] = req["reference_image"]
response = VideoSynthesis.call(**payload)
# Some SDK versions require polling for the final result.
# If a task_id is returned, poll until status is SUCCEEDED.
result = response.output.get("results", [None])[0]
return {
"video_url": None if not result else result.get("url"),
"duration": response.output.get("duration"),
"fps": response.output.get("fps"),
"seed": response.output.get("seed"),
}undefinedif req.get("reference_image"):
# DashScope的i2v模型需要传入img_url参数;本地文件会自动上传
payload["img_url"] = req["reference_image"]
response = VideoSynthesis.call(**payload)
# 部分SDK版本需要轮询获取最终结果
# 如果返回了task_id,需要轮询直到状态变为SUCCEEDED
result = response.output.get("results", [None])[0]
return {
"video_url": None if not result else result.get("url"),
"duration": response.output.get("duration"),
"fps": response.output.get("fps"),
"seed": response.output.get("seed"),
}undefinedimport os
from dashscope import VideoSynthesis
task = VideoSynthesis.async_call(
model=req.get("model", "wan2.6-i2v-flash"),
prompt=req["prompt"],
img_url=req["reference_image"],
duration=req.get("duration", 4),
fps=req.get("fps", 24),
size=req.get("size", "1280*720"),
api_key=os.getenv("DASHSCOPE_API_KEY"),
)
final = VideoSynthesis.wait(task)
video_url = final.output.get("video_url")import os
from dashscope import VideoSynthesis
task = VideoSynthesis.async_call(
model=req.get("model", "wan2.6-i2v-flash"),
prompt=req["prompt"],
img_url=req["reference_image"],
duration=req.get("duration", 4),
fps=req.get("fps", 24),
size=req.get("size", "1280*720"),
api_key=os.getenv("DASHSCOPE_API_KEY"),
)
final = VideoSynthesis.wait(task)
video_url = final.output.get("video_url")(prompt, negative_prompt, duration, fps, size, seed, reference_image hash, motion_strength)reference_imageField required: input.img_urlwan2.6-t2vwan2.6-t2v-us(prompt, negative_prompt, duration, fps, size, seed, reference_image哈希值, motion_strength)reference_imageField required: input.img_urlwan2.6-t2vwan2.6-t2v-usWxH1280*720宽x高1280*720output/aliyun-wan-video/videos/OUTPUT_DIRoutput/aliyun-wan-video/videos/OUTPUT_DIRreferences/api_reference.mdreferences/sources.mdreferences/api_reference.mdreferences/sources.md