Skip to content
Alibaba logo

HappyHorse 1.0 I2V

Image-to-Video • Alibaba

View as MarkdownAgent setup

Model ID

Use with the Workers AI binding, the AI Gateway REST API, or the Unified API.

Calling the provider directly? Use the provider's model name instead, including with provider-native endpoints or the provider's own SDK. For example, Anthropic's name for anthropic/claude-opus-4.8 is claude-opus-4-8.

  • Third-party
  • Zero data retention

Alibaba's HappyHorse 1.0 image-to-video model. Animates a reference image with an optional text prompt. Supports 720P and 1080P output with durations from 3 to 15 seconds.

Model Info
Terms and Licenselink ↗
More informationlink ↗
Zero data retentionYes
Pricing
  • Default (per second)$0.28
  • @720p (per second)$0.14
  • @1080p (per second)$0.28

Usage

const response = await env.AI.run(
  'alibaba/hh1-i2v',
  {
    image:
      'https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png',
    prompt: 'A gentle camera push-in on the scene with soft ambient lighting',
  },
)
console.log(response)
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
  "model": "alibaba/hh1-i2v",
  "input": {
    "image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png",
    "prompt": "A gentle camera push-in on the scene with soft ambient lighting"
  }
}'
{
  "gatewayMetadata": {
    "keySource": "BYOK"
  },
  "result": {
    "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/alibaba__hh1-i2v/simple-image-to-video.mp4"
  },
  "state": "Completed"
}

Examples

High Resolution — Generate at 1080P with a longer duration
const response = await env.AI.run(
  'alibaba/hh1-i2v',
  {
    image:
      'https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png',
    prompt: 'Subject begins rapping confidently to the beat, head bobbing',
    duration: 10,
    resolution: '1080P',
  },
)
console.log(response)
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
  "model": "alibaba/hh1-i2v",
  "input": {
    "image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png",
    "prompt": "Subject begins rapping confidently to the beat, head bobbing",
    "duration": 10,
    "resolution": "1080P"
  }
}'
{
  "gatewayMetadata": {
    "keySource": "BYOK"
  },
  "result": {
    "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/alibaba__hh1-i2v/high-resolution.mp4"
  },
  "state": "Completed"
}
Reproducible Output — Use a fixed seed for reproducibility
const response = await env.AI.run(
  'alibaba/hh1-i2v',
  {
    image:
      'https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png',
    prompt: 'Camera orbits slowly around the subject under streetlamp light',
    duration: 8,
    resolution: '720P',
    seed: 42,
  },
)
console.log(response)
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
  "model": "alibaba/hh1-i2v",
  "input": {
    "image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png",
    "prompt": "Camera orbits slowly around the subject under streetlamp light",
    "duration": 8,
    "resolution": "720P",
    "seed": 42
  }
}'
{
  "gatewayMetadata": {
    "keySource": "BYOK"
  },
  "result": {
    "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/alibaba__hh1-i2v/reproducible-output.mp4"
  },
  "state": "Completed"
}

Parameters

image
stringrequiredformat: uri
prompt
string
negative_prompt
string
resolution
stringenum: 720P, 1080P
duration
integerminimum: 3maximum: 15
seed
integerminimum: 0maximum: 2147483647
watermark
boolean
video
stringformat: uri

API Schemas (Raw)

Input
Output

Was this helpful?