marceloeatworld / falai-php
Fal AI API 的 PHP 客户端
v0.1.7
2024-06-14 21:18 UTC
Requires
- php: ^8.1.0
- saloonphp/saloon: ^3.0
Requires (Dev)
- phpunit/phpunit: ^11.0
README
这是一个基于惊人的 Saloon v3 🤠 库构建的,与框架无关的 Fal AI PHP 客户端。使用它,你可以轻松地与 Fal AI API 交互并直接从你的 PHP 应用程序生成图像。
目录
- 快速开始
- 与 Laravel 一起使用
- 响应数据
- Webhooks
- 生成方法
- create
- workflow
🚀 快速开始
使用 composer 安装
composer require marceloeatworld/falai-php
创建新的 FalAI 实例
use MarceloEatWorld\FalAI\FalAI; use MarceloEatWorld\FalAI\Data\GenerationData;
与 Laravel 一起使用:首先将你的 API 密钥添加到你的服务配置文件中
// config/services.php 'falai' => [ 'api_key' => env('FAL_API_KEY'), ],
在服务提供者中绑定 FalAI 类
// app/Providers/AppServiceProvider.php public function register() { $this->app->bind(FalAI::class, function () { return new FalAI( apiKey: config('services.falai.api_key'), ); }); }
响应数据:所有响应都作为数据对象返回。详细信息可以通过检查 GenerationData 类的属性来找到。
GenerationData Webhooks:Fal AI 允许你在图像生成完成后配置一个 webhook。要做到这一点,在调用 create 或 workflow 方法之前,将 withWebhook($url) 连接到你的 FalAI 实例。例如
$falAI->generations()->withWebhook('https://www.example.com/webhook')->create($model, $input); $data->requestId; // bf1bb655-9027-4d01-ac38-f85e0cb007dc
生成方法
使用 create
接下来,使用 create 方法生成图像。请记住始终在模型名称前加上 'fal-ai/'。
use MarceloEatWorld\FalAI\FalAI; use MarceloEatWorld\FalAI\Data\GenerationData; $model = 'fal-ai/modelyouwant'; $input = [ "image_url" => "https://example.com/image.png", "prompt" => "A tender moment between the newlyweds, capturing their happiness with a natural background and soft light.", "negative_prompt" => "nsfw, lowres, bad anatomy", "seed" => 42 ]; $data = $falAI->generations()->create($model, $input); $data->requestId; // bf1bb655-9027-4d01-ac38-f85e0cb007dc
使用 Workflows 和 ComfyUI
除了使用预定义的模型生成图像外,您还可以使用 'workflow' 方法与自定义工作流和 ComfyUI 一起使用。以下是一个示例
use MarceloEatWorld\FalAI\FalAI; use MarceloEatWorld\FalAI\Data\GenerationData; // Replace 'workflows/youraccount/fantasy-character-generator' with your actual workflow ID $workflowId = 'workflows/youraccount/fantasy-character-generator'; // Replace 'comfy/youraccount/fantasy-character-generator' with your actual ComfyUI ID $workflowId = 'comfy/youraccount/fantasy-character-generator'; $input = [ 'input' => [ 'character_description' => 'A brave elven warrior with long, flowing hair and a glowing magical sword.', 'seed' => 42, ], ]; $data = $falAI->generations()->withWebhook($webhookUrl)->workflow($workflowId, $input); $data->requestId; // 5e8f1ab3-2c7d-4e9a-b5d6-8c3a1f9b04e7