@antseed/productor-fal-video (英语)
中继视频生成请求 Fal.ai 模型端点通过 Fal 的 队列 API。 。 。 .
配置
antseed plugin add @antseed/provider-fal-video
export FAL_VIDEO_API_KEY=<seller-fal-key>
FAL_VIDEO_API_KEY: fal API 密钥,作为Authorization: Key <key>FAL_VIDEO_BASE_URL: 可选,默认为https://queue.fal.runANTSEED_ALLOWED_SERVICES: fal 端点 ID 如fal-ai/kling-video/v2.1/standard/text-to-video(最多64个字符)ANTSEED_SERVICE_UNIT_BILLING_MODELS_JSON数字 :fal-video使用video_generations或者说video_secondsANTSEED_SERVICE_CAPABILITIES_JSON: 广告的可选视频选项FAL_VIDEO_MIN_BALANCE_USD: 可选,默认0。模型在叶片平衡处于或低于时停止发布广告(需要以下许可)
每一次销售者健康扫描都读取了Fal的模型清单(GET https://api.fal.ai/v1/models,用卖主的钥匙,因为fal 速率限制匿名检查:一个终点fal不再列出,或者不再报告为: active停止广告 A 类 deprecated 端点会发出警告.
余额检查
为了停止广告 当Fal账户的信用用完,给 FAL_VIDEO_API_KEY 页:1 billing:usage:read 权限(假密钥预设 BILLLING, READONLY 或 FULLL, 或自定义键, 也可以运行模型)。 一种键是两者兼而有之;没有单独的计费键。 启动时,卖方阅读余额(GET https://api.fal.ai/v1/account/billing?expand=credits)并记录:
fal balance check is on: $<balance>; ...:每次健康检查都会检查平衡,而模型在上架后会再次被公示.fal balance check is off: FAL_VIDEO_API_KEY lacks the billing:usage:read permission ...:卖出者还卖出,但信贷用完并不能阻止其广告. 添加权限并重新启动打开检查 .
键叶拒绝为无效( E)401停止销售者推销其模型.
服务ID为fal端点ID;别名不支持.
请求
买家将Fal的模型输入作为JSON发送,端点ID为 model数字 :
| 蚂蚁种子路径 | 发号施令 |
|---|---|
POST /fal/v1/video/queue | POST {base}/{model} 身体减值 model编号 :service; 返回 {model, request_id, status} |
POST /fal/v1/video/retrieve 与 {model, request_id} | GET {base}/{owner}/{alias}/requests/{id}/status,然后结果 video.url |
获取回Fal的 IN_QUEUE 编号 : IN_PROGRESS 作为JSON, {"status":"FAILED"} 当Fal报告出错,然后流出完成的MP4通过卖方一次Fal报告 COMPLETED飞毛腿 status_url编号 :response_url 他们需要卖方的钥匙。 媒体是从 https URL在结果中没有销售者密钥. 取消和网络呼号没有被转发 .
身体被传到Fal没有改变,所以字段名称是Fal自己的并因型号而异(例如: start_image_url 用于克林V3, image_url 为种子。 在启动时,卖方读取每个终点的输入方案: https://fal.ai/api/openapi/queue/openapi.json (没有卖方的密钥)并宣布其字段名称为 supportedParameters,因此买家可以按模型的预期点出字段. 一个已经设置的服务 supportedParameters 内 ANTSEED_SERVICE_CAPABILITIES_JSON 留着吧 无法阅读的,无需阅读即可宣布服务。 当服务宣布时 video.inputs 及其领域包括框架字段(image_url, (中文(简体) ), start_image_url, (中文(简体) ), end_image_url, (中文(简体) ), tail_image_url, , ...), 匹配 first_frame 或者说 last_frame 添加到 video.inputs,因此买家可以选取它为第一+后帧视频.
视频编辑
端点为 a video_url 字段是一个视频编辑(视频到视频)端点,例如 minimax/h3-max/recast, (中文(简体) ), kling/v4/video-to-video/edit 或者说 fal-ai/kling-video/v3/standard/motion-control卖方还从其计划中阅读了所需的字段和 resolution 数值。 它会宣布 video 字符图像为 video.inputs 财务报告和审定财务报表 video.requiredInputs,决议如下: video.resolutions选项 ANTSEED_SERVICE_CAPABILITIES_JSON 赢了.
买方支付 duration,它必须是整秒的源长度,并被四舍五入。 每个编辑至少整个源的fal帐单,以及一个需要 a的结束点 duration (Kling v4 编辑, Wan 2. 7 编辑) 将输出切入源,所以更长 duration 将交付短而从未充电。 因此,卖方衡量内在来源和答案 422 invalid_video_duration,没有叫fal,除非 duration 是该长度; 来源必须是内置的 (data:video/mp4;base64,...) (中文(简体) ). 终点为无 duration 字段( 重铸, 运动控制) 输出, 只要来源, 卖方删除 duration 在提交Fal之前。 卖方上传内线 video_url 到 fal 的文件存储器(kept for a day),并给予 fal 该 URL,因为一些端点,如克林运动控制,只取一个 URL. 当Fal的 x-fal 元数据 video_url 给出一个 min_duration 财务报告和审定财务报表 max_duration卖方宣布他们之间的整秒钟为 video.durationsSeconds。 。 。 .
说话的浮雕
需要结束点 audio_url没有 video_url,没有设置长度的字段(duration, (中文(简体) ), num_frames) 制作视频,例如其音频 fal-ai/kling-video/ai-avatar/v2/pro 财务报告和审定财务报表 /standard每秒一次的录像费 卖方宣布 first_frame (脸, image_url和 audio 作为 video.inputs 财务报告和审定财务报表 video.requiredInputs。 。 。 .
买方支付 duration,这必须是音频的长度 在整秒,四舍五入。 卖方测量内置音频(MP3或PCM WAV) data:audio/...;base64 URL; 字节决定格式)和答案 422 invalid_video_duration,没有叫fal,除非 duration 是那个长度。 URL或另一种音频格式同样被拒绝. 然后删除 duration 并将音频上传到 fal 文件存储器( 一天保存) , 因为这些结尾部分 audio_url 仅作为 URL 。 如果Fal的计画启动时无法读取,则请求使用 audio_url 没有 video_url 除非服务配置 supportedParameters 包含 duration 或者说 num_frames。 。 。 .
antseed config seller add-service fal fal-ai/kling-video/ai-avatar/v2/pro \
--capabilities '{"video":{"audio":true}}' \
--unit-billing-models '{"fal-video":{"version":1,"components":[{"unit":"video_seconds","priceUsd":0.13}]}}'
长度检查(编辑和交谈等)在付款前也通过提供者的 checkRequest,所以一个被拒绝的创建会打开任何支付通道.
否则,卖方不检查来源;Fal公司不检查,并报告拒绝的工作为: FAILED 和Fal的理由,所以工作支付渠道立刻关闭. 创建的飞鹰没有及时回答( 每256 KB, 最多10分钟60 s+1 s) 504 upstream_upload_timeout。 。 。 .
video_seconds 定价使用请求的 duration (单位:千美元)5, (中文(简体) ), "5" 或者说 "5s"; 使用情况 video_generations 用于没有数字长度的模型.
请检查fal的条件 允许你的献礼。 蚂蚁种子销售者必须增加价值,而不是转售原始API访问.