Skip to main content
POST
Pricing: See vibetool.ai/pricing for current rates.
HappyHorse 1.0 is a top-ranked image‑to‑video model that generates high‑resolution videos (720p or 1080p) from a reference image and optional text prompt. It supports realistic motion, dynamic scenes, and per‑second billing via Vibetool’s asynchronous API.

Input Modalities

  • Image – a still image to animate (JPEG or PNG)
  • Text – (optional) a prompt describing the desired motion, scene, or style

Output Modality

  • Video – an MP4 file at 720p or 1080p resolution (duration configurable)

Authorization

string
required
All APIs require Bearer Token authentication. Format: Bearer YOUR_API_KEY

Request Body

string
required
The model identifier. Use "happyhorse-1.0-image-to-video".
string
required
A publicly accessible URL to the input image (JPEG or PNG). The image should be at least 256x256 pixels and no larger than 2048x2048.
string
Optional text description of the desired video content (e.g., “a horse galloping across a meadow, cinematic lighting”).
number
Requested video duration in seconds (defaults to 4, maximum 10). The model may adjust to match its capabilities.

Response Schema

string
required
Unique identifier for the generation task.
string
required
Type of object, always "video.generation".
string
required
The model used, e.g., "happyhorse-1.0-image-to-video".
integer
required
Unix timestamp (seconds) of task creation.
string
required
Initial status: "pending" or "processing". Use the Get Video Status endpoint to poll for completion.
string
required
The task ID to query in the status endpoint.
Once the task is created, use the Get Video Status endpoint to poll for the generated video URL.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
model
enum<string>
required

Use happyhorse-1.0-image-to-video.

Available options:
happyhorse-1.0-image-to-video
image_url
string<uri>
required

Input image used as the starting frame

prompt
string

Optional motion description

duration
number

Duration in seconds

Response

Task created

id
string

Unique identifier for the generation task

object
string
Example:

"video.generation"

model
string
created_at
integer

Unix timestamp (seconds)

status
enum<string>

Initial task status

Available options:
pending,
processing
task_id
string

Task ID for the status polling endpoint