简介
Universal-2 是 AssemblyAI 最新生产 STT 模型 —— 流式延迟 <500ms、99 种语言、自动说话人分离、智能格式化(货币 / 日期 / 地址 / 脏话过滤)、OpenAI 兼容 audio.transcriptions endpoint 方便迁移。适合通话语音 agent、会议转录、无障碍字幕、多语言客服流程。兼容 Python / Node / Go SDK、REST、流式 WebSocket、OpenAI 兼容 API。装机时间 5 分钟。
批量转录(文件)
import assemblyai as aai
aai.settings.api_key = os.environ["ASSEMBLYAI_API_KEY"]
transcriber = aai.Transcriber()
transcript = transcriber.transcribe(
"meeting.mp3",
config=aai.TranscriptionConfig(
speaker_labels=True,
language_detection=True,
punctuate=True,
format_text=True,
speech_model=aai.SpeechModel.universal, # Universal-2
),
)
for u in transcript.utterances:
print(f"说话人 {u.speaker}:{u.text}")实时流式(WebSocket)
import assemblyai as aai
def on_data(transcript: aai.RealtimeTranscript):
if isinstance(transcript, aai.RealtimeFinalTranscript):
print(f"最终:{transcript.text}")
else:
print(f"部分:{transcript.text}")
transcriber = aai.RealtimeTranscriber(
sample_rate=16_000,
on_data=on_data,
on_error=lambda e: print(f"错:{e}"),
)
transcriber.connect()
transcriber.stream(mic_audio_iterator()) # 字节迭代器
transcriber.close()OpenAI 兼容(零代码迁移)
from openai import OpenAI
client = OpenAI(
base_url="https://api.assemblyai.com/v1",
api_key=os.environ["ASSEMBLYAI_API_KEY"],
)
transcript = client.audio.transcriptions.create(
model="universal-2",
file=open("audio.mp3", "rb"),
response_format="verbose_json",
)
print(transcript.text)值得知道的功能开关
| 开关 | 作用 |
|---|---|
speaker_labels |
自动分离 2-10 个说话人 |
auto_chapters |
约每 5 分钟生成章节摘要 |
entity_detection |
标记 PII(人 / 组织 / 地点 / 卡号 / 电话) |
pii_redaction |
把检测到的 PII 替换为 [REDACTED] |
sentiment_analysis |
每句情感分数 |
summarization |
自动生成转录摘要 |
language_detection |
检测口语语言,不用预指定 |
FAQ
Q: Universal-2 vs Whisper-large-v3? A: Universal-2 在分离、智能格式化、单语调优上更强 —— 生产英语/西班牙语电话最佳。Whisper-large-v3 低资源语言覆盖更广,权重开源。语音 agent 和呼叫中心 Universal-2 在词错误率和格式化通常赢。
Q: 说话人分离多准? A: 干净双人通话音频约 95%。4+ 人、重叠说话、强背景噪声下降到 ~85-90%。高风险分离(法律转录)在聚类边界要人工审核。
Q: 价格? A: 流式 $0.47/小时。批量异步 $0.37/小时(Universal-2 默认)。加每个功能附加(speaker labels +$0.13/小时、summarization +$0.13/小时 等)。免费 $50 试用 credit。看 assemblyai.com/pricing。