跳转到主要内容

fal.ai的Python客户端

项目描述

fal.ai Python客户端

这是与部署在fal.ai上的ML模型交互的Python客户端库。

开始使用

要安装客户端,运行

pip install fal-client

要使用客户端,您需要一个API密钥。您可以在fal.ai注册以获取一个,一旦获得,将其设置为环境变量

export FAL_KEY=your-api-key

现在您可以使用客户端与您的模型进行交互。以下是如何使用它的示例

import fal_client

response = fal_client.run("fal-ai/fast-sdxl", arguments={"prompt": "a cute cat, realistic, orange"})
print(response["images"][0]["url"])

异步请求

客户端还支持开箱即用的异步请求。以下是一个示例

import asyncio
import fal_client

async def main():
    response = await fal_client.run_async("fal-ai/fast-sdxl", arguments={"prompt": "a cute cat, realistic, orange"})
    print(response["images"][0]["url"])


asyncio.run(main())

上传文件

如果模型需要文件作为输入,您可以直接将它们上传到fal.media(我们的CDN)并将URL传递给客户端。以下是一个示例

import fal_client

audio_url = fal_client.upload_file("path/to/audio.wav")
response = fal_client.run("fal-ai/whisper", arguments={"audio_url": audio_url})
print(response["text"])

将文件编码为内存中的数据URL

如果您不想将文件上传到我们的CDN服务(例如,出于延迟原因),可以将它编码为数据URL并直接传递给客户端。以下是一个示例

import fal_client

audio_data_url = fal_client.encode_file("path/to/audio.wav")
response = fal_client.run("fal-ai/whisper", arguments={"audio_url": audio_data_url})
print(response["text"])

排队请求

当您想发送请求并持续接收其状态更新时,可以使用submit方法。以下是一个示例

import asyncio
import fal_client

async def main():
    response = await fal_client.submit_async("fal-ai/fast-sdxl", arguments={"prompt": "a cute cat, realistic, orange"})

    logs_index = 0
    async for event in response.iter_events(with_logs=True):
        if isinstance(event, fal_client.Queued):
            print("Queued. Position:", event.position)
        elif isinstance(event, (fal_client.InProgress, fal_client.Completed)):
            new_logs = event.logs[logs_index:]
            for log in new_logs:
                print(log["message"])
            logs_index = len(event.logs)

    result = await response.get()
    print(result["images"][0]["url"])


asyncio.run(main())

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

fal_client-0.4.2.tar.gz (10.3 kB 查看哈希值)

上传时间

构建分布

fal_client-0.4.2-py3-none-any.whl (7.0 kB 查看哈希值)

上传时间 Python 3

由以下支持