6.4 KiB
fal-ai/qwen-image-edit-2511-多角度 使用Qwen图像编辑2511和Lora多角度从不同角度(方位/海拔)生成相同的场景关于 使用触发词系统生成不同的相机角度。 从水平角度、垂直角度和缩放滑块自动构建提示。格式: [angle_description] [elevation_description] [distance_description] 1.调用API
安装客户端
客户端提供了与模型API交互的便捷方式npm install --save @fal-ai/client设置您的API密钥
在运行时将FAL_KEY设置为环境变量。
export FAL_KEY="YOUR_API_KEY" 提交请求
客户端API处理API提交协议。它将处理请求状态更新,并在请求完成后返回结果。
import { fal } from "@fal-ai/client";
const result = await fal.subscribe("fal-ai/qwen-image-edit-2511-multiple-angles", { input: { image_urls: ["https://v3b.fal.media/files/b/0a8973cb/qUbVwDCcMlvX4drBGYB1H.png"] }, logs: true, onQueueUpdate: (update) => { if (update.status === "IN_PROGRESS") { update.logs.map((log) => log.message).forEach(console.log); } }, }); console.log(result.data); console.log(result.requestId);
2.认证
API使用API密钥进行身份验证。建议尽可能在运行时设置FAL_KEY环境变量。 API密钥
如果您的应用程序在无法设置环境变量的环境中运行,您可以手动将API密钥设置为客户端配置。
import { fal } from "@fal-ai/client";
fal.config({ credentials: "YOUR_FAL_KEY" });3.排队
长期运行的请求 对于长期运行的请求,例如培训作业或推理时间较慢的模型,建议检查队列状态并依赖Webhooks,而不是在等待结果时阻止。 提交请求
客户端API提供了向模型提交请求的便捷方式。
import { fal } from "@fal-ai/client";
const { request_id } = await fal.queue.submit("fal-ai/qwen-image-edit-2511-multiple-angles", { input: { image_urls: ["https://v3b.fal.media/files/b/0a8973cb/qUbVwDCcMlvX4drBGYB1H.png"] }, webhookUrl: "https://optional.webhook.url/for/results", }); 获取请求状态
您可以获取请求的状态,以检查它是已完成还是仍在进行中。
import { fal } from "@fal-ai/client";
const status = await fal.queue.status("fal-ai/qwen-image-edit-2511-multiple-angles", { requestId: "764cabcf-b745-4b3e-ae38-1200304cf45b", logs: true, }); 获得结果
请求完成后,您可以获取结果。请参阅输出模式,了解预期结果格式。
import { fal } from "@fal-ai/client";
const result = await fal.queue.result("fal-ai/qwen-image-edit-2511-multiple-angles", { requestId: "764cabcf-b745-4b3e-ae38-1200304cf45b" }); console.log(result.data); console.log(result.requestId);
4.文件
API中的一些属性接受文件URL作为输入。每当这种情况时,您都可以传递您自己的URL或Base64数据URI。 数据URI(base64)
您可以将Base64数据URI作为文件输入传递。API将为您处理文件解码。请记住,对于大文件,这种替代方案虽然方便,但会影响请求性能。 托管文件(URL)
您也可以传递您自己的URL,只要它们可以公开访问。请注意,一些主机可能会阻止跨站点请求、速率限制或将请求视为机器人。 上传文件
我们提供方便的文件存储,允许您上传文件并在请求中使用它们。您可以使用客户端API上传文件,并在请求中使用返回的URL。
import { fal } from "@fal-ai/client";
const file = new File(["Hello, World!"], "hello.txt", { type: "text/plain" }); const url = await fal.storage.upload(file);
自动上传 如果您传递二进制对象,客户端将为您自动上传文件(例如File,Data)。 在我们的文件上传指南中阅读更多有关文件处理的信息。
5.模式
输入
image_urls list 调整相机角度的图像URL。 horizontal_angle float 以度为单位的物体周围的水平旋转角度。0°=正面视图,90°=右侧,180°=后视图,270°=左侧,360°=正面视图。 vertical_angle float 垂直相机角度(以度为单位)。-30°=低角度拍摄(向上看),0°=眼睛水平,30°=高,60°=高角度,90°=鸟瞰图(向下看)。 zoom float 相机变焦/距离。0=广角镜头(远距离),5=中镜头(正常),10=特写(非常近)。默认值:5 lora_scale float LoRA模型的比例因子。控制相机控制效果的强度。默认值:1 image_size ImageSize | Enum 生成的图像的大小。如果没有提供,将使用输入图像的大小。 可能的枚数值: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 注意:对于自定义图像尺寸,您可以将width和height作为对象传递:
"image_size": { "width": 1280, "height": 720 } guidance_scale float CFG(分类器免费指导)量表。默认值:4.5 num_inference_steps integer 要执行的推理步骤的数量。默认值:28 acceleration AccelerationEnum 图像生成的加速水平。默认值:"regular" 可能的枚数值: none, regular negative_prompt string 生成默认值的负提示:"" seed integer 可重复性的随机种子。 sync_mode boolean 如果True,媒体将作为数据URI返回。 enable_safety_checker boolean 是否启用安全检查器。默认值:true output_format OutputFormatEnum 输出图像的格式默认值:"png" 可能的枚数值: png, jpeg, webp num_images integer 要生成的图像数量默认值:1
{ "image_urls": [ "https://v3b.fal.media/files/b/0a8973cb/qUbVwDCcMlvX4drBGYB1H.png" ], "zoom": 5, "lora_scale": 1, "guidance_scale": 4.5, "num_inference_steps": 28, "acceleration": "regular", "enable_safety_checker": true, "output_format": "png", "num_images": 1 } 输出
images list 生成/编辑的图像 seed integer 用于生成的种子 prompt string 用于生成的构造提示
{ "images": [ { "url": "https://v3b.fal.media/files/b/0a8973d9/8Z0xxKdGnoJAWc2tKJ68f.png" } ], "prompt": "" } 其他类型
图像
url string 可以下载文件的URL。 content_type string 文件的Mime类型。 file_name string 文件的名称。如果没有提供,它将自动生成。 file_size integer 文件的大小,以字节为本。 file_data string 文件数据 width integer 图像的宽度,以像素为单位。 height integer 以像素为单位的图像高度。 图像大小
width integer 生成图像的宽度。默认值:512 height integer 生成的图像的高度。默认值:512