Fish Audio: S2.1 Pro Free (free)
S2.1 Pro Free 是 Fish Audio 的 S2.1 語音模型開發版,適合旁白、指定表現的語音輸出與多說話者對話。它共享此模型的合成能力,可用於測試與原型製作。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
S2.1 Pro Free 是 Fish Audio 面向開發者的 S2.1 文字轉語音模型版本。它與 S2.1 Pro 共享底層模型及核心合成能力,包括富有表現力的多語言語音、自然語言表現指示,以及原生多說話者對話。其用途涵蓋測試、原型製作、開發,以及規模較小的應用程式流程。
製作語音助理原型時,先以完整範例回覆評估聲音效果,再測試陸續到達的文字。製作學習產品時,準備簡短解說,包含聽眾需要的確切術語與數字讀法。製作對話原型時,先定義說話者及其聲音參考,再加入表現指示。這些步驟會建立音訊成果與周邊應用流程,而不是讓一次合成請求負責整段對話。
先寫下實際要說出的內容,再把指示放在需要改變表現方式的段落正前方。方括號指示可表達耳語、停頓、反應、強調,或開放式的說話風格。若需在句中改變表現,就把指示放在對應位置,並在描述性指示後接上實際台詞。實用的解說簡報應將事實內容,與希望聽眾感受到的親切感、語速或重點區分開來。
單一說話者可選擇已儲存的聲音識別碼,或提供參考錄音及其逐字稿。開發商的語音指南建議使用乾淨的 10–30 秒樣本進行即時聲音條件設定。選擇語氣與錄音品質適合腳本的參考,並在相關段落中沿用同一份參考。聲音參考提供說話者的音色;文字與行內指示則提供內容及其表現方式。
原生多說話者合成使用 <|speaker:0|> 與 <|speaker:1|> 等標記,搭配依序排列的聲音識別碼陣列,或各自獨立的參考群組。數字說話者標籤必須與排列順序一致。製作教學對話時,先寫下各說話者的台詞,再把表現指示放在對應的說話者標記之後。這可在一次請求中產生對話;其流程不同於 S1 先產生各個單一說話者片段、再行組合的做法。
開發商的流程提供 MP3、WAV、原始 PCM 與 Opus 輸出,預設為 MP3。MP3 支援 64、128 與 192 kbps;WAV 與 PCM 使用文件所述的 16 位元單聲道取樣格式,Opus 則使用 48 kHz。依照要保存的旁白檔、串流播放,或下游音訊處理流程選擇格式。將完整腳本與聲音選擇一併保留,後續才能修改某一句,而不失去原先的表現意圖。
語速可在 0.5 至 2.0 之間調整,並提供音量控制。文字正規化會展開英文與中文數字,使朗讀更自然。輸出響度正規化預設為 true,且適用於 S2 系列;同一欄位對 S1 沒有效果。S1 的 repetition_penalty 不會改變 S2.1 Pro 音訊,因此不能把舊設定當成此模型有效的控制項。應直接檢查重複的聲音與文字,不要依賴沿用的參數來判定結果。
較長腳本會分塊處理。文件所列的區塊長度範圍為 100–300,max_new_tokens 是每個區塊的音訊 token 預算,不是總時長保證。以前一區塊作為條件,可將聲音上下文延續下去。開發商的交付流程涵蓋完整音訊、逐步輸出的音訊區塊,以及腳本陸續到達時的即時文字串流。依應用程式需求選擇接收方式,並保留足夠的腳本上下文,維持下一段的發音與語氣。
要取得實用的最終成果,應聆聽是否有漏字、重複字詞、數字發音問題、說話者切換、停頓,以及指示表現過強或過弱的情況。不同聲音參考可能以不同強度詮釋同一提示,因此應先從簡單的定向台詞開始,再加入可能互相衝突的標籤。處理多語言內容時,提供目標語言腳本,而非要求語音模型自行創作或翻譯內容。針對性修訂應修改造成落差的台詞、提示或參考,同時保留已符合簡報的表現。
Ailoot Ultra · 語音 POST /v1/audio/speech fish-audio/s2.1-pro-free:free
fish-audio/s2.1-pro-free:free入門
S2.1 Pro Free 是 Fish Audio 的 S2.1 語音模型開發版,適合旁白、指定表現的語音輸出與多說話者對話。它共享此模型的合成能力,可用於測試與原型製作。
- 接受的輸入
- 文字
- 結果
- 音訊
Ailoot 可用 · 輸入與方法
Ailoot Ultra · 語音 POST /v1/audio/speech
- 輸入
text- 輸出
audio
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位model | 類型string | 要求必填 | 值與限制 fish-audio/s2.1-pro-free:free | 預設值— |
欄位input | 類型string | 要求必填 | 值與限制 長度下限: 1 | 預設值— |
欄位voice | 類型string | 要求必填 | 值與限制 b347db033a6549378b48d00acb0d06cd 長度下限: 1 | 預設值— |
欄位response_format | 類型string | 要求選填 | 值與限制 mp3, pcm | 預設值pcm |
欄位provider | 類型object | 要求選填 | 值與限制 | 預設值— |
方法參數與生命週期
| 參數 | 規格 |
|---|---|
參數content_type | 規格application/json |
參數required | 規格model, input, voice |
參數material_types | 規格text |
生命週期: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · 實際回傳的 task_id 或媒體庫紀錄
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
方案
費率資訊不會增加請求選項。支援的參數列於所選方法中。
- 快速模式
- 未指定 選取快速模式時
- flex 模式
- 未指定 選取 flex 模式時
- 最高推理強度
- 未指定 最高推理強度採用 default 調整值時
Ailoot 費率
各設定的價格
請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。
| 設定 | 費率表 | 計費數量 | 費用 |
|---|---|---|---|
| 設定基礎 token 費率 | 費率表基本費率 | 計費數量— | 費用 輸入 · 輸入 Token — / 1K Token 輸出 · 輸出 Token — / 1K Token 輸入 · 讀取快取 — / 1K Token 輸入 · 寫入快取 — / 1K Token 輸入 · 寫入快取,1 小時 — / 1K Token |
| 設定每次請求 | 費率表— | 計費數量1 次請求 | 費用 輸入 $0 每次請求 |
Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →
請求範例
Ailoot Ultra · 語音
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_INPUT_TEXT:?Set the actual documented input value}"
export AILOOT_INPUT_TEXT
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
request={'model': 'fish-audio/s2.1-pro-free:free', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}
request['input']=os.environ['AILOOT_INPUT_TEXT']
Path('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o response.bin
# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.
接收並儲存結果
Ailoot Ultra · 語音
完整的二進位音訊或原始 audio_url 回應、標頭,以及每個自有資產。
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
其他內容讀取方式
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
保留所有已完成的結果
請保留所有完整傳回的回應、檔案與內容區塊。
保留完整回應與標頭、所有實際輸出、原始回傳的識別碼,以及所有用量欄位。恢復原始作業時,請勿再次提交建立請求。
需要檢查原始回應時
保留回傳的 X-Client-Request-ID,以供核對。僅讀取實際回傳的 task_id/asset_id 值或自己擁有的媒體庫;請勿以作業 ID 組成任務 URL,也請勿重新提交建立請求。
別名
模型別名
Ailoot Ultra fish-audio/s2.1-pro-free:free
方法路徑別名
請使用上方列出的 API 方法路徑。
相關呼叫用 ID
FAQ · Fish Audio: S2.1 Pro Free (free)
- 可以使用哪些輸入與結果?
POST /v1/audio/speech·fish-audio/s2.1-pro-free:free:text→audio- 請求使用哪些欄位?
POST /v1/audio/speech·fish-audio/s2.1-pro-free:free:model,input,voice,response_format,provider