HappyHorse Tasks API Integration and Usage
The HappyHorse Tasks API is used to query the video generation or editing tasks created by the HappyHorse Videos API.
¶ Application Process
To use the HappyHorse Videos API, first obtain your API Token from the Ace Data Cloud Console for future reference.

If you are not logged in or registered, you will be automatically redirected to the login page inviting you to register and log in, and after completion, you will be automatically returned to the current page.
One API Token is sufficient to call all services on the platform, and there is no need to apply separately for each service. The first application will grant a free quota for a trial experience; when the quota is insufficient, you can recharge the general balance in the console.
📘 Complete Documentation: HappyHorse Videos API →
¶ Request Example
The HappyHorse Tasks API can be used to query the results of the HappyHorse Videos API.
¶ Setting Request Headers and Request Body
Request Headers include:
accept: Specifies that the response result should be in JSON format, set toapplication/json.authorization: The key to call the API, which can be selected directly after application.
Request Body includes:
id: The task ID to query.action: The operation method for the task, set toretrievefor a single query.
¶ CURL Code Example
curl -X POST 'https://api.acedata.cloud/happyhorse/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
"id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea",
"action": "retrieve"
}'
¶ Response Example
Upon successful request, the API will return the details of the task. The request field contains the request body when the task was created, and the response field contains the response body returned after the task is completed, for example:
{
"id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea",
"request": {
"action": "generate",
"model": "happyhorse-1.1-t2v",
"prompt": "A cinematic shot of a white horse running across a moonlit beach",
"resolution": "720P",
"duration": 5
},
"type": "videos",
"response": {
"success": true,
"task_id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea",
"trace_id": "fb751e1e-4705-49ea-9fd4-5024b7865ea2",
"data": [
{
"id": "1469cfc3-3004-4d9e-ab10-xxxxxx",
"video_url": "https://cdn.acedata.cloud/happyhorse/c8cbf53aa0.mp4",
"state": "succeeded",
"duration": 5,
"resolution": "720P",
"ratio": "16:9"
}
]
}
}
Field descriptions are as follows:
id: The ID of the generated task, used to uniquely identify this generation task.request: The request information when the task was created.response: The current or final return information of the task.
¶ Batch Query Operation
When querying task details for multiple task IDs, set the action to retrieve_batch and pass the task ID array through ids:
curl -X POST 'https://api.acedata.cloud/happyhorse/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
"ids": ["b8976e18-32dc-4718-9ed8-1ea090fcb6ea"],
"action": "retrieve_batch"
}'
The returned result will include the items and count fields, where items is the array of task details, and count is the number of tasks matched in this query.
