The HappyHorse PHP SDK is the language-specific package for HappyHorse on RunAPI. Use this package when your application needs Composer installs, associative-array request bodies, task status lookup, and consistent RunAPI errors in PHP.
This README is the PHP package guide for the public happyhorse-php split
repository. For model details, use https://runapi.ai/models/happyhorse; for API
reference, use https://runapi.ai/docs/api/happyhorse/text-to-video; for SDK docs, use
https://runapi.ai/docs/resources/sdks.
composer require runapi-ai/happyhorse<?php
require __DIR__ . "/vendor/autoload.php";
use RunApi\Happyhorse\HappyhorseClient;
$client = new HappyhorseClient(); // reads RUNAPI_API_KEY
$imageToVideoTask = $client->imageToVideo->create([
'model' => 'happyhorse-1.0-i2v',
'duration_seconds' => 1,
'first_frame_image_url' => 'https://cdn.runapi.ai/public/samples/image.jpg',
'output_resolution' => '720p',
'prompt' => 'Make it golden hour',
'seed' => 1,
]);
$task = $client->textToVideo->create([
'model' => 'happyhorse-1.0-r2v',
'aspect_ratio' => '16:9',
'duration_seconds' => 1,
'output_resolution' => '720p',
'prompt' => 'A precise product render on white marble',
'reference_image_urls' => ['https://cdn.runapi.ai/public/samples/image.jpg'],
'seed' => 1,
]);
$status = $client->textToVideo->get($task->id);
$result = $client->textToVideo->run([
'model' => 'happyhorse-1.0-r2v',
'aspect_ratio' => '16:9',
'duration_seconds' => 1,
'output_resolution' => '720p',
'prompt' => 'A serene mountain lake at dawn',
'reference_image_urls' => ['https://cdn.runapi.ai/public/samples/image.jpg'],
'seed' => 1,
]);
echo $result->videos[0]->url . PHP_EOL;Use create() to submit a task and return quickly, get() to fetch the latest
task state, and run() when a script should create and poll until completion.
In web request handlers, prefer create() plus webhook or later get()
polling so a worker is not held open.
RunAPI-generated file URLs are temporary. Download and store generated files in your own durable storage within the retention window; do not treat returned URLs as long-term assets.
Pass request parameters as associative arrays with snake_case keys. The
available resources are textToVideo, imageToVideo, editVideo. Keep RUNAPI_API_KEY in the environment
or your secret manager; never commit API keys or callback secrets.
- Model page: https://runapi.ai/models/happyhorse
- SDK docs: https://runapi.ai/docs/resources/sdks
- Product docs: https://runapi.ai/docs/api/happyhorse/text-to-video
- Pricing and rate limits: https://runapi.ai/models/happyhorse/edit-video
- Full catalog: https://runapi.ai/models
- GitHub repository: https://github.com/runapi-ai/happyhorse-php
- Multi-language SDK repository: https://github.com/runapi-ai/happyhorse-sdk
Licensed under the Apache License, Version 2.0.