MarketSupport← Back to app

HappyHorse

HappyHorse models are called through one unified, asynchronous job API. Start a task with POST /api/generate, then poll GET /api/generate/{taskId} until it finishes. This family exposes 7 endpoints.

Overview

Every endpoint shares the same envelope — only model and the input fields change. Run any from the Models Market playground.

Authentication

Create an API key at /api-keys, then send it as a Bearer token. Requests from the browser while logged in also work via the session cookie.

Authorization: Bearer <YOUR_API_KEY>

Create Task

POST
POST https://api.lithovas.com/api/generate

Body: { "model": "<slug>", "input": { … } }

Response: { "taskId": "<id>", "state": "waiting" }

Query Result

GET
GET https://api.lithovas.com/api/generate/<taskId>

Response: { "taskId", "state": "waiting" | "success" | "fail", "resultUrls": [ … ], "creditsConsumed", "failMsg", "balance" }

Asynchronous
A 200 from Create Task only means the task was accepted — not finished. Poll this endpoint until state becomes success or fail. Failed tasks are not billed.

Endpoints

ModelTaskmodel slug
HappyHorseText to Videohappyhorse/text-to-video
HappyHorseImage to Videohappyhorse/image-to-video
HappyHorseVideo to Videohappyhorse/reference-to-video
HappyHorseVideo Editinghappyhorse/video-edit
HappyHorse 1.1Image to Videohappyhorse-1-1/image-to-video
HappyHorse 1.1Text to Videohappyhorse-1-1/text-to-video
HappyHorse 1.1Video to Videohappyhorse-1-1/reference-to-video

HappyHorse · Text to Video

POSTText to Videohappyhorse/text-to-video
input fields
promptstringrequired

Text description of video to generate; max 5000 chars (2500 Chinese)

resolutionenum<string>optional

Output video resolution setting

aspect_ratioenum<string>optional

Output aspect ratio format

durationintegeroptional

Video length in seconds (3-15 range)

seedintegeroptional

Random seed for reproducible generation (0-2147483647)

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "happyhorse/text-to-video",
  "input": {
    "prompt": "A cinematic red panda surfing through neon rain at dusk.",
    "resolution": "1080p",
    "aspect_ratio": "16:9",
    "duration": 5,
    "seed": 0
  }
}'

HappyHorse · Image to Video

POSTImage to Videohappyhorse/image-to-video
input fields
promptstringoptional

Text description for video generation (max 5000 chars)

image_urlsarray<string>required

Exactly one first-frame image URL (JPEG/PNG/WEBP, 300+ px)

resolutionenum<string>optional

Output video resolution

durationintegeroptional

Video length in seconds (3-15 range)

seedintegeroptional

Random seed for reproducibility (0-2147483647)

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "happyhorse/image-to-video",
  "input": {
    "prompt": "Animate the image with natural motion, subtle camera movement, and cinematic lighting.",
    "image_urls": [
      "https://example.com/input.jpg"
    ],
    "resolution": "1080p",
    "duration": 5,
    "seed": 0
  }
}'

HappyHorse · Video to Video

POSTVideo to Videohappyhorse/reference-to-video
input fields
promptstringrequired

Text prompt describing the video to generate (any language)

reference_imagearray<string>required

Reference image URL list. Provide 1-9 images

resolutionenum<string>optional

Output video resolution

aspect_ratioenum<string>optional

Output aspect ratio

durationintegeroptional

Output duration in seconds (integer, 3-15)

seedintegeroptional

Random seed for reproducibility (if supported)

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "happyhorse/reference-to-video",
  "input": {
    "prompt": "Restyle the source footage with richer lighting, cleaner motion, and a cinematic grade.",
    "reference_image": [
      "https://example.com/input.jpg"
    ],
    "resolution": "1080p",
    "aspect_ratio": "16:9",
    "duration": 5,
    "seed": 0
  }
}'

HappyHorse · Video Editing

POSTVideo Editinghappyhorse/video-edit
input fields
promptstringrequired

Edit instruction for intended change; max 5000 chars (2500 Chinese)

video_urlstringrequired

Input video URL (MP4/MOV, 3-60s, max 2160px longer side)

reference_imagearray<string>optional

Optional reference images (0-5 URLs, JPEG/PNG/WEBP, >=300px)

resolutionenum<string>optional

Output video resolution

audio_settingenum<string>optional

Audio handling strategy

seedintegeroptional

Random seed for reproducibility (0-2147483647)

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "happyhorse/video-edit",
  "input": {
    "prompt": "A cinematic red panda surfing through neon rain at dusk.",
    "video_url": "https://example.com/reference.mp4",
    "reference_image": [
      "https://example.com/input.jpg"
    ],
    "resolution": "1080p",
    "audio_setting": "auto",
    "seed": 0
  }
}'

HappyHorse 1.1 · Image to Video

POSTImage to Videohappyhorse-1-1/image-to-video
input fields
promptstringoptional

Describes video content to generate; max 5000 chars

image_urlsarray<string>required

URL of first frame image (JPEG/PNG/WEBP, 300px+ min)

resolutionenum<string>optional

Output video resolution

durationnumberoptional

Video length in seconds; range [3, 15]

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "happyhorse-1-1/image-to-video",
  "input": {
    "prompt": "Animate the image with natural motion, subtle camera movement, and cinematic lighting.",
    "image_urls": [
      "https://example.com/input.jpg"
    ],
    "resolution": "1080p",
    "duration": 5
  }
}'

HappyHorse 1.1 · Text to Video

POSTText to Videohappyhorse-1-1/text-to-video
input fields
promptstringrequired

Text description of the video; max 5000 chars (2500 Chinese)

resolutionenum<string>optional

Output video resolution

aspect_ratioenum<string>optional

Output video aspect ratio

durationnumberoptional

Output video duration in seconds (3-15, whole numbers)

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "happyhorse-1-1/text-to-video",
  "input": {
    "prompt": "A cinematic red panda surfing through neon rain at dusk.",
    "resolution": "1080p",
    "aspect_ratio": "16:9",
    "duration": 5
  }
}'

HappyHorse 1.1 · Video to Video

POSTVideo to Videohappyhorse-1-1/reference-to-video
input fields
promptstringrequired

Description of desired elements and visual style for the video

reference_imagearray<string>required

URLs of reference images (JPEG/PNG/WEBP, min 400px, max 20MB)

resolutionenum<string>optional

Output video resolution tier

aspect_ratioenum<string>optional

Video aspect ratio format

durationnumberoptional

Video length in seconds (integer, 3-15 range)

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "happyhorse-1-1/reference-to-video",
  "input": {
    "prompt": "Restyle the source footage with richer lighting, cleaner motion, and a cinematic grade.",
    "reference_image": [
      "https://example.com/input.jpg"
    ],
    "resolution": "1080p",
    "aspect_ratio": "16:9",
    "duration": 5
  }
}'