Flu API Seed Audio 1.0 文档
接口可用 更新于 2026-08-08
Audio Generation API

Seed Audio 1.0

使用自然语言描述对白、音色、环境声与配乐结构,通过一个 HTTP 请求生成可直接交付的音频文件。

POST https://new.fluapi.com/v1/audio/speech
FLU AUDIO API / V1

Overview

一个接口,生成完整声音场景

Seed Audio 1.0 适用于对白、旁白、拟音、环境声和音乐氛围的统一生成。接口采用 Bearer Token 认证,并直接返回音频二进制数据。

模型标识
seed-audio-1.0
计费方式
$0.6 / 秒
最大文本长度
3,000 Unicode 字符
正式请求地址:当前生产 Base URL 为 https://new.fluapi.com/v1,所有请求均通过 HTTPS 发送。

Quickstart

快速开始

将示例中的 YOUR_FLU_API_KEY 替换为你的 Flu API 密钥。成功响应是音频文件,不是 JSON。

生成 MP3 并保存到当前目录
curl --request POST \
  --url 'https://new.fluapi.com/v1/audio/speech' \
  --max-time 300 \
  --header 'Authorization: Bearer YOUR_FLU_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "model": "seed-audio-1.0",
    "text_prompt": "先是一声手机震动,环境中持续传来鸟鸣。男子用低沉严肃的语气说道:我们开始吧。",
    "audio_config": {
      "format": "mp3",
      "sample_rate": 48000,
      "pitch_rate": 0,
      "speech_rate": 0,
      "loudness_rate": 0
    },
    "watermark": {}
  }' \
  --output seed-audio.mp3
不要在生产前端暴露密钥。浏览器示例只适合本地调试。正式业务应由你的服务端保存 FLU_API_KEY,浏览器调用你自己的后端接口。

Authentication

身份认证

所有请求都必须在 HTTP Header 中携带 Flu API Key。密钥格式采用标准 Bearer Token。

HTTP Header
Authorization: Bearer YOUR_FLU_API_KEY
Content-Type: application/json
  • 通过环境变量或密钥管理服务读取 API Key,不要写死在源码中。
  • 不要将包含真实密钥的代码提交到 Git、日志、工单或前端构建产物。
  • 不同环境使用不同密钥,发现泄露后立即停用并更换。

API Reference

请求参数

请求体为 JSON。推荐直接使用 text_prompt 描述需要生成的全部声音内容。

顶层参数

字段 类型 要求 说明
model string 必填 固定填写 seed-audio-1.0
text_prompt string 必填* 完整音频描述,最多 3,000 个 Unicode 字符。传入后优先于 input
input string 可选 OpenAI 兼容字段;未传 text_prompt 时作为生成文本。
instructions string 可选 input 搭配时,会按“instructions + 换行 + input”组合成最终描述。
audio_config object 可选 音频格式、采样率、语速、音高和响度设置。默认格式为 MP3,采样率为 48,000 Hz。
response_format string 可选 OpenAI 兼容格式字段。若 audio_config.format 已设置,以后者为准。
speed number 可选 OpenAI 兼容语速倍率。仅在未设置 audio_config.speech_rate 时生效,并映射到 -50 至 100。
references object | array 可选 高级参考音频或上游参考信息,结构按业务接入约定透传。
watermark object 可选 水印配置。无特殊要求时传空对象 {}
metadata object 高级 用于透传额外上游参数。常规调用无需设置。

audio_config 参数

字段 类型 默认值 说明
format string mp3 输出格式。 mp3wavpcmogg_opus
sample_rate integer 48000 音频采样率,单位 Hz。
pitch_rate number 0 音高调整。使用 0 可保持模型默认音高。
speech_rate number 0 语速调整。使用 0 可保持模型默认语速;兼容映射范围为 -50 至 100。
loudness_rate number 0 响度调整。使用 0 可保持模型默认响度。
格式别名:opusogg 会归一化为 ogg_opus;未识别的格式会回退为 MP3。

Prompting

提示词指南

将“声音出现的顺序、环境、角色音色、说话方式和配乐”写在同一段描述里,模型更容易生成结构完整的音频。

01

先写时间顺序

使用“先是、随后、同时、最后”等词明确各声音出现的先后关系。

02

补充环境与声音层次

描述空间、距离、持续时间和背景声,例如室内混响、远处雷声或持续鸟鸣。

03

定义角色与表演方式

说明年龄、性别、口音、音色、情绪和语气,并用引号标出需要说出的台词。

04

明确配乐和整体情绪

写出主奏乐器、节奏、风格及情绪,例如克制、悬疑、温暖或未来感。

结构化提示词示例
先是一声手机震动,环境中持续传来鸟鸣。
音乐以马林巴为主奏乐器,加入合成器 Lead、电贝斯和打击乐,
整体情绪紧张、悬疑。

男子 1(中青年男性,台湾口音,嗓音低沉浑厚)
用严肃的语气说道:“钟 sir,你是什么时候被收买的?”

Response

响应与文件保存

成功时返回 HTTP 200,响应体是原始音频字节。请根据请求格式写入对应扩展名,不要尝试按 JSON 解析。

输出格式 Content-Type 建议扩展名
mp3 audio/mpeg .mp3
wav audio/wav .wav
pcm audio/pcm .pcm
ogg_opus audio/ogg .ogg
先检查状态,再保存二进制
# 正确:保存原始响应体
response.raise_for_status()
Path("output.mp3").write_bytes(response.content)

# 错误:成功响应不是 JSON
data = response.json()

Billing

按生成时长计费

Seed Audio 1.0 的基础价格为每秒 0.6 美元。系统优先使用上游返回的原始音频时长计费,并应用账号所在分组的倍率。

最终费用 = $0.6 × 音频秒数 × 分组倍率
按实际计费时长计算,金额以平台最终账单为准。
示例音频时长
13.1 秒
基础单价
$0.6 / 秒
倍率为 1 时
$7.86

Errors

错误处理

非 2xx 响应应先记录状态码和响应文本,再根据错误类型决定是否重试。不要对所有错误进行无限重试。

400 请求参数错误 检查必填字段、JSON 格式、文本长度和 audio_config 类型。
401 认证失败 检查 Bearer Token 是否缺失、失效或包含多余空格。
402 余额不足 检查账户余额与分组计费配置,充值后重新调用。
429 请求过于频繁 降低并发,并使用指数退避和随机抖动后重试。
502 上游生成失败 保存请求 ID 和错误文本,短暂等待后有限次数重试。
Python · 有限重试
import random
import time
import requests

retryable_statuses = {429, 500, 502, 503, 504}

for attempt in range(3):
    response = requests.post(url, headers=headers, json=payload, timeout=300)

    if response.ok:
        break
    if response.status_code not in retryable_statuses:
        response.raise_for_status()

    time.sleep((2 ** attempt) + random.random())
else:
    response.raise_for_status()

Production

生产环境建议

音频生成耗时和响应体积都高于普通文本接口。上线前应完善超时、重试、存储与密钥管理。

  • 客户端超时建议设置为 300 秒,并根据实际业务限制单次文本长度。
  • 只对 429 和 5xx 错误进行有限重试,使用指数退避,避免重复生成造成额外费用。
  • 为每次业务请求生成幂等标识,并在应用层缓存已成功生成的结果。
  • 收到响应后检查 HTTP 状态与 Content-Type,再按二进制方式写入文件。
  • 大规模任务使用队列控制并发,将成品上传到对象存储,不要长期占用应用进程内存。
  • 记录模型、耗时、输出格式、文件大小和业务请求 ID,但不要在日志中记录 API Key。
域名配置:建议将 https://new.fluapi.com/v1 放入 FLU_API_BASE_URL 环境变量,避免在业务代码中重复硬编码。