Text to video
curl --request POST \
--url https://gengen.farm/api/gengen/v1/contents/generations/tasks \
--header 'Authorization: Bearer gengen_live_xxxxxxxxxxxxxxxx' \
--header 'Content-Type: application/json' \
--data '{
"model": "happyhorse-1.1",
"mode": "text_to_video",
"prompt": "A paper train crosses a miniature bridge at sunrise.",
"controls": {
"resolution": "720P",
"ratio": "16:9",
"duration": 5,
"watermark": false,
"seed": 1234
}
}'import requests
url = "https://gengen.farm/api/gengen/v1/contents/generations/tasks"
payload = {
"model": "happyhorse-1.1",
"mode": "text_to_video"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'happyhorse-1.1', mode: 'text_to_video'})
};
fetch('https://gengen.farm/api/gengen/v1/contents/generations/tasks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "happyhorse11:task_123",
"model": "happyhorse-1.1",
"status": "pending",
"outputs": {
"videos": [],
"images": []
},
"createdAt": "2026-06-25T02:00:00.000Z",
"updatedAt": "2026-06-25T02:00:00.000Z",
"statusUpdateTime": "2026-06-25T02:00:00.000Z"
}{
"error_code": "<string>",
"error": "<string>",
"error_params": {}
}{
"error_code": "<string>",
"error": "<string>",
"error_params": {}
}{
"error_code": "<string>",
"error": "<string>",
"error_params": {}
}{
"error_code": "<string>",
"error": "<string>",
"error_params": {}
}{
"error_code": "<string>",
"error": "<string>",
"error_params": {}
}Happy Horse
Create a Happy Horse video task
Create a Happy Horse 1.1 text-to-video, first-frame, or reference-to-video task.
POST
/
contents
/
generations
/
tasks
Text to video
curl --request POST \
--url https://gengen.farm/api/gengen/v1/contents/generations/tasks \
--header 'Authorization: Bearer gengen_live_xxxxxxxxxxxxxxxx' \
--header 'Content-Type: application/json' \
--data '{
"model": "happyhorse-1.1",
"mode": "text_to_video",
"prompt": "A paper train crosses a miniature bridge at sunrise.",
"controls": {
"resolution": "720P",
"ratio": "16:9",
"duration": 5,
"watermark": false,
"seed": 1234
}
}'import requests
url = "https://gengen.farm/api/gengen/v1/contents/generations/tasks"
payload = {
"model": "happyhorse-1.1",
"mode": "text_to_video"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'happyhorse-1.1', mode: 'text_to_video'})
};
fetch('https://gengen.farm/api/gengen/v1/contents/generations/tasks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "happyhorse11:task_123",
"model": "happyhorse-1.1",
"status": "pending",
"outputs": {
"videos": [],
"images": []
},
"createdAt": "2026-06-25T02:00:00.000Z",
"updatedAt": "2026-06-25T02:00:00.000Z",
"statusUpdateTime": "2026-06-25T02:00:00.000Z"
}{
"error_code": "<string>",
"error": "<string>",
"error_params": {}
}{
"error_code": "<string>",
"error": "<string>",
"error_params": {}
}{
"error_code": "<string>",
"error": "<string>",
"error_params": {}
}{
"error_code": "<string>",
"error": "<string>",
"error_params": {}
}{
"error_code": "<string>",
"error": "<string>",
"error_params": {}
}Authorizations
A workspace API key beginning with gengen_live_.
Body
application/json
Happy Horse public model ID.
Allowed value:
"happyhorse-1.1"Happy Horse generation mode.
Supported values:
text_to_video— generate a video from a text promptimage_first_frame— animate a supplied first-frame imagereference_to_video— guide generation with reference images
Available options:
text_to_video, image_first_frame, reference_to_video Required for text_to_video and reference_to_video. Optional for
image_first_frame.
Show child attributes
Show child attributes
Show child attributes
Show child attributes