marceloeatworld/falai-php

Fal AI API 的 PHP 客户端

v0.1.7 2024-06-14 21:18 UTC

This package is auto-updated.

Last update: 2024-09-05 16:27:51 UTC


README

FAL.AI FAL.AI Discord

这是一个基于惊人的 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