HappyHorse 1 API

video

Video generation by alibaba

Physically realistic, motion-smooth video generation with text, first-frame, and reference-image guidance.

Call HappyHorse 1 from Node.js, Python, or any HTTP client. No GPU provisioning, no cold starts, no Docker images — just an API key and a prompt.

Free credits included. Powering 1M+ generations daily.

Start in 60 seconds

Install the official SDK for Node.js or Python, drop in your API key, and generate your first video.

npm install getimg-ai
import GetimgAI from "getimg-ai";

const client = new GetimgAI();

const submission = await client.videos.generations.create({
    model: "happyhorse-1",
    prompt: "majestic horse, turns to the camera.",
    aspect_ratio: "16:9",
    resolution: "720p",
    duration: 3
  });
const requestId = submission.id;

// Poll
let result;
while (true) {
  result = await client.videos.generations.retrieve(requestId);

  if (result.status === "completed") break;
  if (result.status === "failed") {
    throw new Error(result.error.message);
  }

  await new Promise((r) => setTimeout(r, 5000));
}

console.log(result.data[0].url);

How HappyHorse 1 API works

Submit a generation request, poll for completion, download the video.

1

Get your API key

Create a key in the Developer Dashboard. Free credits included.

2

Send a request

POST to /v2/videos/generations with your prompt, duration, and resolution.

3

Get your video

Poll the status endpoint. When it completes, download the video from the returned URL.

What you can build with HappyHorse 1

Every example uses the same authentication and works with the official getimg-ai and getimg SDKs, or plain HTTP.

Text to video

Generate a video using just a text prompt.

import GetimgAI from "getimg-ai";

const client = new GetimgAI();

const submission = await client.videos.generations.create({
    model: "happyhorse-1",
    prompt: "majestic horse, turns to the camera.",
    aspect_ratio: "16:9",
    resolution: "720p",
    duration: 3
  });
const requestId = submission.id;

// Poll
let result;
while (true) {
  result = await client.videos.generations.retrieve(requestId);

  if (result.status === "completed") break;
  if (result.status === "failed") {
    throw new Error(result.error.message);
  }

  await new Promise((r) => setTimeout(r, 5000));
}

console.log(result.data[0].url);

Image to video

Animate a still image as the starting frame.

import GetimgAI from "getimg-ai";

const client = new GetimgAI();

const submission = await client.videos.generations.create({
    model: "happyhorse-1",
    prompt: "Animate the scene with subtle camera movement and natural motion.",
    aspect_ratio: "16:9",
    resolution: "720p",
    duration: 3,
    images: [
      {
        url: "https://your-bucket.s3.amazonaws.com/first.png",
        role: "first_frame"
      }
    ]
  });
const requestId = submission.id;

// Poll
let result;
while (true) {
  result = await client.videos.generations.retrieve(requestId);

  if (result.status === "completed") break;
  if (result.status === "failed") {
    throw new Error(result.error.message);
  }

  await new Promise((r) => setTimeout(r, 5000));
}

console.log(result.data[0].url);

Reference image

Guide the generation with a character, style, or content reference.

import GetimgAI from "getimg-ai";

const client = new GetimgAI();

const submission = await client.videos.generations.create({
    model: "happyhorse-1",
    prompt: "A cinematic shot inspired by the provided reference image.",
    aspect_ratio: "16:9",
    resolution: "720p",
    duration: 3,
    images: [
      {
        url: "https://your-bucket.s3.amazonaws.com/reference.png",
        role: "reference_image"
      }
    ]
  });
const requestId = submission.id;

// Poll
let result;
while (true) {
  result = await client.videos.generations.retrieve(requestId);

  if (result.status === "completed") break;
  if (result.status === "failed") {
    throw new Error(result.error.message);
  }

  await new Promise((r) => setTimeout(r, 5000));
}

console.log(result.data[0].url);

HappyHorse 1 pricing

Pay per video. No subscriptions, no minimums, no idle GPU costs.

HappyHorse 1

$0.14 – $0.24 /second

/v2/videos/generations

Physically realistic, motion-smooth video generation with text, first-frame, and reference-image guidance.

ResolutionPrice5s videos for $10
720p$0.14 /second14
1080p$0.24 /second8

More from alibaba

Other alibaba models available through the same API.

HappyHorse 1 API — frequently asked questions

How do I use the HappyHorse 1 API?

Install the official Node.js (npm install getimg-ai) or Python (pip install getimg) SDK, or call the endpoint directly over HTTP from any client.

Make a POST request to /v2/videos/generations with your API key and a JSON body containing the model ID (happyhorse-1) and a prompt. The API returns a request ID. Poll the status endpoint until the video is ready.

See the API documentation for the full parameter reference.

Which SDK should I use?

Use getimg-ai for Node.js and TypeScript projects, and getimg for Python. Both wrap the same REST API with typed inputs, retries, and built-in polling for video generations.

For other languages — Go, Rust, Java, Ruby, PHP — call the HTTP endpoints directly. Every example on this page includes a cURL snippet you can port to any HTTP client.

What resolutions does HappyHorse 1 support?

HappyHorse 1 supports the following resolutions: 720p, 1080p across 5 aspect ratios (16:9, 9:16, 1:1, 4:3, 3:4). Videos can be 3 to 15 seconds long.

How much does HappyHorse 1 cost?

HappyHorse 1 uses pay-per-video pricing with no subscriptions or minimum commitments. Rates vary by resolution and sound options. See the pricing table above for exact rates per second.

Does HappyHorse 1 support reference images?

Yes. HappyHorse 1 accepts up to 1 first frame and up to 9 reference images. Reference images guide the generation toward a specific style, composition, or subject. See the example above.

Start building with HappyHorse 1

Grab an API key, install the SDK, ship video generation today.

Looking for other models? View all available models