PHPackages                             tristanfrn/falai-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. tristanfrn/falai-php

ActiveLibrary

tristanfrn/falai-php
====================

A PHP client for the Fal AI API - Fork from marceloeatworld

v1.0.5(1y ago)020MITPHPPHP ^8.1.0

Since Dec 17Pushed 1y agoCompare

[ Source](https://github.com/tristanfrn/falai-php)[ Packagist](https://packagist.org/packages/tristanfrn/falai-php)[ RSS](/packages/tristanfrn-falai-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (6)Used By (0)

Fork from marceloeatworld's work

FAL AI PHP Client
=================

[](#fal-ai-php-client)

A lightweight PHP client for [FAL.AI](https://fal.ai) built with Saloon v3. Create AI-powered content with ease.

[![Join FAL.AI Discord]()](https://discord.gg/fal-ai)

Features
--------

[](#features)

- 🎨 Support for all FAL AI models (Recraft, Flux Pro, etc.)
- 🔄 Full queue system with status tracking
- 📡 Webhook support
- 🛠️ ComfyUI &amp; Workflows support
- ⚡ Simple, intuitive API

Installation
------------

[](#installation)

```
composer require Tristanfrn/falai-php
```

Quick Start
-----------

[](#quick-start)

```
use Tristanfrn\FalAI\FalAI;

$falAI = new FalAI('your-api-key');

// Generate an image
$result = $falAI->generations()->create('fal-ai/recraft-v3', [
    'prompt' => 'A beautiful landscape',
    'negative_prompt' => 'low quality',
    'image_size' => 'square_hd'
    'seed' => '42'
]);

// Check generation status using requestId
$status = $falAI->generations()->checkStatus($result->requestId);

// Get final result when completed
$finalResult = $falAI->generations()->getResult($result->requestId);
```

Models &amp; Workflows
----------------------

[](#models--workflows)

```
// FAL AI Models
$result = $falAI->generations()->create('fal-ai/flux-pro/v1.1-ultra', [
    'prompt' => 'A futuristic city',
    'negative_prompt' => 'low quality',
    'image_size' => 'square_hd'
    'seed' => '42'
]);

// ComfyUI Workflows
$result = $falAI->generations()->create('comfy/youraccount/workflow', [
    'loadimage_1' => 'https://example.com/image.jpg',
    'prompt' => 'Make it anime style'
    'seed' => '42'
]);

// Track any generation with requestId
$status = $falAI->generations()->checkStatus($result->requestId);
```

Advanced Usage
--------------

[](#advanced-usage)

```
// Use webhooks
$result = $falAI->generations()
    ->withWebhook('https://your-site.com/webhook')
    ->create('fal-ai/recraft-v3', [
        'prompt' => 'A serene lake'
        'seed' => '42'
    ]);

// Cancel a generation using requestId
$cancelled = $falAI->generations()->cancel($result->requestId);
```

Response Structure
------------------

[](#response-structure)

The `GenerationData` object contains:

- `requestId`: Unique identifier for tracking the generation
- `responseUrl`: URL to fetch the result
- `statusUrl`: URL to check status
- `cancelUrl`: URL to cancel generation
- `status`: Current status (IN\_QUEUE, IN\_PROGRESS, COMPLETED, ERROR)
- `payload`: Generation result data when completed
- `error`: Error message if any

Tracking Generations
--------------------

[](#tracking-generations)

```
// Store the requestId after creation
$requestId = $result->requestId;

// Later, check status
$status = $falAI->generations()->checkStatus($requestId);

if ($status->status === 'COMPLETED') {
    // Get the final result
    $finalResult = $falAI->generations()->getResult($requestId);
    // Access the generated images
    $images = $finalResult->payload['images'] ?? [];
}
```

Laravel Integration
-------------------

[](#laravel-integration)

Add to `config/services.php`:

```
'falai' => [
    'api_key' => env('FAL_API_KEY'),
],
```

Register in a service provider:

```
public function register()
{
    $this->app->singleton(FalAI::class, function () {
        return new FalAI(config('services.falai.api_key'));
    });
}
```

Use in controllers:

```
use Tristanfrn\FalAI\FalAI;

public function generate(FalAI $falAI)
{
    $result = $falAI->generations()->create('fal-ai/recraft-v3', [
        'prompt' => 'A mountain landscape'
        'seed' => '42'
    ]);

    // Store requestId for later use
    $requestId = $result->requestId;
}

public function checkStatus(FalAI $falAI, string $requestId)
{
    return $falAI->generations()->checkStatus($requestId);
}
```

Support &amp; Security
----------------------

[](#support--security)

For security issues, please email .

License
-------

[](#license)

MIT License - see LICENSE.

Credits
-------

[](#credits)

- Built with [Saloon v3](https://github.com/saloonphp/saloon)
- Inspired by [replicate-php](https://github.com/replicate-php)

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance42

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

5

Last Release

508d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b7ab91de83030b8afa8b47ec6396b90d69c69df6fd60105cad86aff02f167803?d=identicon)[tristanfrn](/maintainers/tristanfrn)

---

Top Contributors

[![tristanfrn](https://avatars.githubusercontent.com/u/3899690?v=4)](https://github.com/tristanfrn "tristanfrn (4 commits)")[![marceloeatworld](https://avatars.githubusercontent.com/u/20625497?v=4)](https://github.com/marceloeatworld "marceloeatworld (1 commits)")

---

Tags

phppackagefal-ai

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tristanfrn-falai-php/health.svg)

```
[![Health](https://phpackages.com/badges/tristanfrn-falai-php/health.svg)](https://phpackages.com/packages/tristanfrn-falai-php)
```

###  Alternatives

[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k43.5M5.2k](/packages/larastan-larastan)[nunomaduro/termwind

It's like Tailwind CSS, but for the console.

2.5k239.8M285](/packages/nunomaduro-termwind)[benbjurstrom/replicate-php

A PHP client for the Replicate API

3921.4k1](/packages/benbjurstrom-replicate-php)[marceloeatworld/falai-php

Professional PHP client for the fal.ai serverless AI platform

105.5k](/packages/marceloeatworld-falai-php)[benbjurstrom/cloudflare-images-php

A PHP client for the Cloudflare Images API

1414.6k1](/packages/benbjurstrom-cloudflare-images-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
