1. Go to this page and download the library: Download hosmelq/falai library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
hosmelq / falai example snippets
$fal = FalAI::client('your-api-key-here');
use HosmelQ\FalAI\FalAI;
use HosmelQ\FalAI\Queue\Responses\QueueStatusCompleted;
$fal = FalAI::client();
$response = $fal->queue()->submit('fal-ai/fast-sdxl', [
'prompt' => 'a sleeping cat',
]);
$status = $fal->queue()->status('fal-ai/fast-sdxl', $response->requestId);
if ($status instanceof QueueStatusCompleted) {
$result = $fal->queue()->result('fal-ai/fast-sdxl', $response->requestId);
}
use HosmelQ\FalAI\FalAI;
$fal = FalAI::client();
$result = $fal->run('fal-ai/fast-sdxl', [
'prompt' => 'a fluffy cat',
]);
use HosmelQ\FalAI\FalAI;
$fal = FalAI::client();
$status = $fal->queue()->submit('fal-ai/fast-sdxl', [
'prompt' => 'a black cat',
]);
echo $status->requestId;
use HosmelQ\FalAI\FalAI;
use HosmelQ\FalAI\Queue\Responses\QueueStatusCompleted;
use HosmelQ\FalAI\Queue\Responses\QueueStatusInProgress;
use HosmelQ\FalAI\Queue\Responses\QueueStatusQueued;
$fal = FalAI::client();
$status = $fal->queue()->status('fal-ai/fast-sdxl', $requestId);
if ($status instanceof QueueStatusQueued) {
echo 'Status: IN_QUEUE';
} elseif ($status instanceof QueueStatusInProgress) {
echo 'Status: IN_PROGRESS';
} elseif ($status instanceof QueueStatusCompleted) {
echo 'Status: COMPLETED';
}
echo $status->jsonSerialize()['status'];
use HosmelQ\FalAI\FalAI;
$fal = FalAI::client();
$result = $fal->queue()->result('fal-ai/fast-sdxl', $requestId);
use HosmelQ\FalAI\Queue\Responses\QueueStatusCompleted;
foreach ($fal->queue()->streamStatus('fal-ai/fast-sdxl', $requestId) as $status) {
echo 'Status: '.$status->jsonSerialize()['status']."\n";
if ($status instanceof QueueStatusCompleted) {
echo 'Task completed! Result ready.'."\n";
break;
}
}
use HosmelQ\FalAI\FalAI;
$fal = FalAI::client();
$cancelled = $fal->queue()->cancel('fal-ai/fast-sdxl', $requestId);
if ($cancelled) {
echo 'Request cancelled successfully.';
} else {
echo 'Request could not be cancelled (may already be completed).';
}
use HosmelQ\FalAI\FalAI;
$fal = FalAI::client();
$status = $fal->queue()->submit(
endpointId: 'fal-ai/fast-sdxl',
input: ['prompt' => 'a white cat'],
webhookUrl: 'https://your-app.com/webhook'
);
use HosmelQ\FalAI\WebhookVerifier;
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
use Symfony\Component\Cache\Psr16Cache;
$cache = new Psr16Cache(new FilesystemAdapter());
$verifier = new WebhookVerifier($cache);
use HosmelQ\FalAI\FalAI;
$fal = FalAI::client();
$result = $fal->run('fal-ai/fast-sdxl', [
'prompt' => 'a cat with blue eyes',
]);
echo $result['images'][0]['url'];
use HosmelQ\FalAI\FalAI;
use Saloon\Exceptions\Request\FatalRequestException;
use Saloon\Exceptions\Request\RequestException;
$fal = FalAI::client();
try {
$result = $fal->run('fal-ai/fast-sdxl', [
'prompt' => 'a gray cat',
]);
} catch (FatalRequestException $e) {
echo 'Fatal error: '.$e->getMessage();
} catch (RequestException $e) {
echo 'Request error: '.$e->getMessage();
}