happyhorse-1.0-t2v
happyhorse/happyhorse-1.0-t2vGenerate video from a text prompt.
- second
- Price: $0.14Price: $0.24
- Happyhorse
- 5 min
Overview
The request waits for the accepted task. Billing uses measured output seconds at the selected resolution. Outputs include a watermark. Video continuation and supplied audio are unsupported. A timed-out accepted task must be reconciled before another generation is requested.
After COMPLETED, read run.output.video_url, run.output.task_id, run.output.duration and run.output.resolution. Download the temporary video URL promptly.
Input
These go in the input object of the run request.
| Field | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | Scene and movement; up to 2500 Chinese or 5000 non-Chinese characters. Maximum: 5000 |
| ratio | string | No | Output aspect ratio. Allowed: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 Default: "16:9" |
| duration | integer | No | Requested output seconds. Default: 5Minimum: 3 Maximum: 15 |
| resolution | string | No | Output resolution and billing tier. Allowed: 720P, 1080P Default: "720P" |
Requests up to 1 MB.
Example
Use your own API key and a saved idempotency key for each new job. Replace image or media placeholders with your own publicly reachable HTTPS URLs. Keep the same key and request body when recovering a timeout.
# Set once per job; reuse this key and the identical body after a timeout.
: "${AGENTSKY_IDEMPOTENCY_KEY:?Set a unique, saved key for this job}"
curl --fail-with-body https://gateway.agentsky.dev/v1/run \
-H "authorization: Bearer $AGENTSKY_API_KEY" \
-H "content-type: application/json" \
-H "Idempotency-Key: $AGENTSKY_IDEMPOTENCY_KEY" \
-d '{"provider":"happyhorse","endpoint":"happyhorse-1.0-t2v","input":{"prompt":"A blue ceramic cup on a white table","duration":3,"resolution":"720P"}}'
# If status is READY/RUNNING, poll GET /v1/runs/{runId} with the same API key.Pricing
720P (default): $0.14 · 1080P: $0.24 per second using your plan when signed in. Read the final customer charge from price.amount.value after the run finishes. A RUNNING response is not the final bill.
