Nodes/Comfyui-Wenyi-demo1/HappyHorse 图生视频
ComfyUI Node

HappyHorse 图生视频

Animate a still image — but don't skip the OSS step

By WY-S·Created 4 months ago·Updated 4 months ago· 1
HappyHorse 图生视频
  • image
  • video
  • video_url
  • video_path
api_key
prompt
resolution1080P
duration5
seed0
watermarktrue
OSS_ACCESS_KEY
OSS_SECRET_KEY
bucket
endpointoss-cn-beijing.aliyuncs.com
modelhappyhorse-1.0-i2v

Image-to-video is the community's favorite video workflow for a reason: anchor the first frame to a real image and most of the "who is that" consistency problems disappear. HappyHorse I2V ("HappyHorse 图生视频") brings that to this pack from Alibaba's closed HappyHorse 1.0 model - with one catch worth understanding before you run it.

This node needs Alibaba Cloud OSS. And if you don't configure it, the node doesn't fail. It silently downgrades to text-to-video.

Why OSS?

Alibaba's API won't accept a local image - it wants a public URL. So the node takes your first-frame tensor, converts it to PIL, uploads it to your OSS bucket, and hands the API a signed URL. That's the entire reason for the four OSS fields. T2V skipped them because it has no image; every image-taking node in this pack is on the hook for them.

The inputs that matter

  • api_key - same DashScope key as the rest of the pack; prefilled from config.json once you've set it.
  • image - the first frame (IMAGE type). Feed it from LoadImage or anything that outputs an IMAGE.
  • prompt - describes what happens after the first frame. The image anchors it.
  • resolution - 720P or 1080P, default 1080P.
  • duration - 3 to 15 seconds, default 5.
  • seed, watermark - as in T2V.
  • OSS_ACCESS_KEY / OSS_SECRET_KEY / bucket / endpoint - leave blank to fall back to config.json; fill them on the node and they write back to config.json automatically.

Note there's no ratio dropdown here (T2V and R2V have one) - the frame shape is left to the API given your image.

The degradation trap

If any of the four OSS fields ends up empty, the node prints a warning in the console and silently runs happyhorse-1.0-t2v instead - your image is ignored entirely. You'll get a video, and it will have nothing to do with your picture. It's an intentional "graceful degradation," but it's the #1 way people get surprised here. Two guardrails: if OSS is missing AND the prompt is empty, it raises an error instead of guessing; and you can watch the console for the OSS 配置不完整…降级为文生视频 line to catch it.

Setting up OSS

  1. Create a bucket in the Alibaba OSS console.
  2. Create a RAM user with an AccessKey; note the AK and SK.
  3. Put bucket name, AK, SK, and endpoint into config.json (or the node fields). The endpoint must match the bucket's region - oss-cn-beijing.aliyuncs.com for Beijing.
  4. If uploads fail with AccessDenied, the error's details.Endpoint literally tells you the correct region domain. Copy it, replace it, done. That's the README's Q2 fix and the most common issue this node throws.

Install

Same as the whole pack: ComfyUI Manager, search "Comfyui-Wenyi-demo1"; or clone and pip install -r requirements.txt, then restart. The oss2 dependency from requirements is what actually does the uploading.

There's a ready workflow to learn from: example_workflows/test_i2v.json is LoadImage → I2V. Open it under Workflow → Open, drop in your image, and go.

The outputs

Same triple as every node in the pack: video (native ComfyUI VIDEO, previews inline), video_url (public CDN link, ~24-hour lifetime), and video_path (the mp4 saved under output/happyhorse/).

CategoryHappyHorse

Inputs (12)

NameTypeDefaultDescription
api_keySTRING阿里百炼 API Key(填写后自动保存到 config.json)
imageIMAGE首帧图像
promptSTRING
resolutionCOMBO1080P2 options: 720P, 1080P
durationINT53–15
seedINT00–2147483647
watermarkBOOLEANtrue
OSS_ACCESS_KEYoptSTRING阿里云 OSS AccessKey ID(留空使用 config.json 默认值)
OSS_SECRET_KEYoptSTRING阿里云 OSS AccessKey Secret(留空使用 config.json 默认值)
bucketoptSTRINGOSS Bucket 名称(留空使用 config.json 默认值)
endpointoptSTRINGoss-cn-beijing.aliyuncs.comOSS Endpoint,如 oss-cn-beijing.aliyuncs.com(留空使用 config.json 默认值)
modeloptCOMBOhappyhorse-1.0-i2v模型名称(固定值,不可修改;OSS 不全时自动降级为 t2v)

Outputs (3)

NameTypeDescription
videoVIDEO
video_urlSTRING
video_pathSTRING