承接 marceloeatworld/falai-php 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

marceloeatworld/falai-php

最新稳定版本:v1.1.0

Composer 安装命令:

composer require marceloeatworld/falai-php

包简介

A PHP client for the Fal AI API

README 文档

README

A lightweight PHP client for FAL.AI built with Saloon v3. Create AI-powered content with ease.

Join FAL.AI Discord

Features

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

Installation

composer require marceloeatworld/falai-php

Quick Start

use MarceloEatWorld\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 & 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

// 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

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

// 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

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 MarceloEatWorld\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 & Security

For security issues, please email diagngo@gmail.com.

License

MIT License - see LICENSE.

Credits

统计信息

  • 总下载量: 4.99k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 2
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-03-18