catalogue / happyhorse-1-0
VideoNot routed yet
Happyhorse 1.0
POST https://renderhour.com/api/gateway/v1/videos/generations
ID=$(curl -s -X POST https://renderhour.com/api/gateway/v1/videos/generations \
-H "Authorization: Bearer $RENDERHOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kie/happyhorse/image-to-video",
"prompt": "Slow aerial shot over a foggy coastline at sunrise",
"image_urls": [
"https://example.com/input.png"
]
}' | jq -r '.id')
# 202 Accepted — the render is queued; poll until it finishes.
while :; do
JOB=$(curl -s https://renderhour.com/api/gateway/v1/videos/generations/$ID \
-H "Authorization: Bearer $RENDERHOUR_API_KEY")
case "$(echo "$JOB" | jq -r '.status')" in
succeeded) echo "$JOB" | jq -r '.data[0].url'; break ;;
failed|cancelled) echo "$JOB" | jq -r '.error // .status'; exit 1 ;;
esac
sleep 5
doneNo published rate for this endpoint yet, so it cannot be run — an unpriced model is refused rather than billed at a guess.
Not on the gateway yet: kie/happyhorse/image-to-video has no price in the billing table, so this request is refused with unpriced_model rather than run. The snippet is here so the shape is clear the day it opens.
Or copy the request and run it with your RenderHour API key — the one in your profile.