跳至主要內容

AssemblyAI

AssemblyAI 的穿透端點 - 以原生格式(不轉換)呼叫 AssemblyAI 端點。

功能支援備註
成本追蹤適用於所有整合
記錄適用於所有整合

支援 所有 AssemblyAI 端點

查看所有 AssemblyAI 端點

支援的路由

AssemblyAI 服務LiteLLM 路由AssemblyAI 基礎 URL
語音轉文字(US)/assemblyai/*api.assemblyai.com
語音轉文字(EU)/eu.assemblyai/*eu.api.assemblyai.com

快速開始

讓我們呼叫 AssemblyAI 的 /v2/transcripts 端點

  1. 將 AssemblyAI API 金鑰加入您的環境
export ASSEMBLYAI_API_KEY=""
  1. 啟動 LiteLLM Proxy
litellm

# RUNNING on http://0.0.0.0:4000
  1. 測試看看!

讓我們呼叫 AssemblyAI 的 /v2/transcripts 端點。包含已註解掉、可切換啟用的 語音理解 功能。

import assemblyai as aai

aai.settings.base_url = "http://0.0.0.0:4000/assemblyai" # <your-proxy-base-url>/assemblyai
aai.settings.api_key = "Bearer sk-1234" # Bearer <your-virtual-key>

# Use a publicly-accessible URL
audio_file = "https://assembly.ai/wildfires.mp3"

# Or use a local file:
# audio_file = "./example.mp3"

config = aai.TranscriptionConfig(
speech_models=["universal-3-pro", "universal-2"],
language_detection=True,
speaker_labels=True,
# Speech understanding features
# sentiment_analysis=True,
# entity_detection=True,
# auto_chapters=True,
# summarization=True,
# summary_type=aai.SummarizationType.bullets,
# redact_pii=True,
# content_safety=True,
)

transcript = aai.Transcriber().transcribe(audio_file, config=config)

if transcript.status == aai.TranscriptStatus.error:
raise RuntimeError(f"Transcription failed: {transcript.error}")

print(f"\nFull Transcript:\n\n{transcript.text}")

# Optionally print speaker diarization results
# for utterance in transcript.utterances:
# print(f"Speaker {utterance.speaker}: {utterance.text}")
  1. 使用 Universal-3 Pro 進行提示(選用)
import assemblyai as aai

aai.settings.base_url = "http://0.0.0.0:4000/assemblyai" # <your-proxy-base-url>/assemblyai
aai.settings.api_key = "Bearer sk-1234" # Bearer <your-virtual-key>

audio_file = "https://assemblyaiassets.com/audios/verbatim.mp3"

config = aai.TranscriptionConfig(
speech_models=["universal-3-pro", "universal-2"],
language_detection=True,
prompt="Produce a transcript suitable for conversational analysis. Every disfluency is meaningful data. Include: fillers (um, uh, er, ah, hmm, mhm, like, you know, I mean), repetitions (I I, the the), restarts (I was- I went), stutters (th-that, b-but, no-not), and informal speech (gonna, wanna, gotta)",
)

transcript = aai.Transcriber().transcribe(audio_file, config)

print(transcript.text)

呼叫 AssemblyAI EU 端點

如果您想將請求傳送到 AssemblyAI EU 端點,可以透過將 LITELLM_PROXY_BASE_URL 設定為 <your-proxy-base-url>/eu.assemblyai 來達成

import assemblyai as aai

aai.settings.base_url = "http://0.0.0.0:4000/eu.assemblyai" # <your-proxy-base-url>/eu.assemblyai
aai.settings.api_key = "Bearer sk-1234" # Bearer <your-virtual-key>

# Use a publicly-accessible URL
audio_file = "https://assembly.ai/wildfires.mp3"

# Or use a local file:
# audio_file = "./path/to/file.mp3"

transcriber = aai.Transcriber()
transcript = transcriber.transcribe(audio_file)
print(transcript)
print(transcript.id)

LLM Gateway

將 AssemblyAI 的 LLM Gateway 作為相容 OpenAI 的提供者來使用——一個統一的 API,適用於 Claude、GPT 與 Gemini 模型,完整支援 LiteLLM 記錄、防護欄與成本追蹤。

查看可用模型

使用方式

LiteLLM Python SDK

import litellm
import os

os.environ["ASSEMBLYAI_API_KEY"] = "your-assemblyai-api-key"

response = litellm.completion(
model="assemblyai/claude-sonnet-4-5-20250929",
messages=[{"role": "user", "content": "What is the capital of France?"}]
)

print(response.choices[0].message.content)

LiteLLM Proxy

  1. 設定
model_list:
- model_name: assemblyai/*
litellm_params:
model: assemblyai/*
api_key: os.environ/ASSEMBLYAI_API_KEY
  1. 啟動 proxy
litellm --config config.yaml

# RUNNING on http://0.0.0.0:4000
  1. 測試看看!
import requests

headers = {
"authorization": "Bearer sk-1234" # Bearer <your-virtual-key>
}

response = requests.post(
"http://0.0.0.0:4000/v1/chat/completions",
headers=headers,
json={
"model": "assemblyai/claude-sonnet-4-5-20250929",
"messages": [
{"role": "user", "content": "What is the capital of France?"}
],
"max_tokens": 1000
}
)

result = response.json()
print(result["choices"][0]["message"]["content"])
🚅
LiteLLM Enterprise
為正式環境打造的 SSO/SAML、稽核記錄、支出追蹤、多團隊管理與防護欄。
深入瞭解 →