PopNowAPI Docs
Main content

HappyHorse 1.1 API reference

1080p clips with sound in nine aspect ratios

Call HappyHorse 1.1 from your own code with one PopNow API key. Below are the exact model IDs to send, every input field the model accepts, what each request costs in credits, and a request you can paste into a terminal.

At a glance

Made by
Alibaba
Output
Video
From
21 credits per second of output ($0.21)

1 credit = $0.01. A task holds the highest possible charge when it is accepted and settles the real amount when it finishes, rounded up to whole credits; failed tasks are not charged. Ask POST /api/v1/jobs/quote for the exact figure before you run.

Create Video

alibaba/happyhorse-1.1/text-to-video

Price

OptionCredits (per second of output)US dollars
720p21$0.21
1080p27$0.27

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring—up to 2,500 charactersDescribe the scene, action, camera movement, and timing.
aspect_ratioOptionalstring16:916:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9Output aspect ratio.
resolutionOptionalstring720p720p, 1080pOutput video resolution.
duration_secondsOptionalinteger53 to 15Output duration in seconds. Any integer from 3 to 15 is accepted; longer clips cost proportionally more.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

POST /api/v1/jobs/createTask
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "alibaba/happyhorse-1.1/text-to-video",
  "input": {
    "prompt": "A paper boat drifts down a rain-soaked street at dusk, neon signs reflecting in the water, slow tracking shot at ground level",
    "duration_seconds": 5,
    "resolution": "720p"
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Image to Video

alibaba/happyhorse-1.1/image-to-video

Price

OptionCredits (per second of output)US dollars
720p21$0.21
1080p27$0.27

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring—up to 2,500 charactersDescribe the scene, action, camera movement, and timing.
image_urlRequiredstring (uri)——Image used as the first video frame.
resolutionOptionalstring720p720p, 1080pOutput video resolution.
duration_secondsOptionalinteger53 to 15Output duration in seconds. Any integer from 3 to 15 is accepted; longer clips cost proportionally more.
seedOptionalinteger—0 to 2147483647Random seed for controlled comparisons. Omit it to let each run pick its own.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

The example uses PopNow sample files in image_url. Replace them with your own public HTTPS links, uploads or saved assets.

POST /api/v1/jobs/createTask
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "alibaba/happyhorse-1.1/image-to-video",
  "input": {
    "prompt": "He lands softly on the rooftop, laughs and turns toward the camera while the balloons sway in the evening breeze; slow push-in",
    "image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
    "duration_seconds": 5,
    "resolution": "720p"
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Reference to Video

alibaba/happyhorse-1.1/reference-to-video

Price

OptionCredits (per second of output)US dollars
720p21$0.21
1080p27$0.27

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring—up to 2,500 charactersDescribe the scene, action, camera movement, and timing.
reference_image_urlsRequiredarray<string (uri)>—up to 9 itemsReference images in the order used by the prompt.
aspect_ratioOptionalstring16:916:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9Output aspect ratio.
resolutionOptionalstring720p720p, 1080pOutput video resolution.
duration_secondsOptionalinteger53 to 15Output duration in seconds. Any integer from 3 to 15 is accepted; longer clips cost proportionally more.
seedOptionalinteger—0 to 2147483647Random seed for controlled comparisons. Omit it to let each run pick its own.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

The example uses PopNow sample files in reference_image_urls. Replace them with your own public HTTPS links, uploads or saved assets.

POST /api/v1/jobs/createTask
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "alibaba/happyhorse-1.1/reference-to-video",
  "input": {
    "prompt": "The man from the reference image jogs across a sunlit rooftop at golden hour and smiles at the camera; smooth tracking shot",
    "reference_image_urls": [
      "https://media.popnow.ai/influencer/examples/ava.webp"
    ],
    "duration_seconds": 5,
    "resolution": "720p"
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Next steps

On this page