cartesia-sonic

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Cartesia Sonic production skill

Cartesia Sonic 生产级 skill

Use this skill when a media-production agent is choosing, prompting, integrating, or reviewing Cartesia Sonic for speech output. Treat Sonic as a low-latency text-to-speech provider first; use adjacent Cartesia voice APIs only when the production need explicitly requires them.
All volatile facts below were checked against official Cartesia documentation or legal pages on 2026-07-10. Re-check before committing budgets, compliance claims, model IDs, pricing, concurrency, supported languages, or API behavior.
当媒体制作 Agent 需要为语音输出选择、提示、集成或审查 Cartesia Sonic 时,使用此 skill。首先应将 Sonic 视为低延迟文本转语音提供商;仅当具体制作需求明确要求时,才使用相邻的 Cartesia 语音 API。
以下所有可能发生变化的事实均已于 2026-07-10 对照 Cartesia 官方文档或法律页面进行核查。在确定预算、合规声明、模型 ID、定价、并发数、支持的语言或 API 行为之前,应重新核查。

Provider boundary

提供商边界

Documented facts:
  • Sonic is Cartesia's text-to-speech model family. The current production default is
    sonic-3.5
    ; API references also list
    sonic-3
    and
    sonic-latest
    .
  • Sonic takes text and returns generated speech. It is suitable for realtime voice agents, narration, dubbing, avatars, notifications, ads, and localization when the workflow starts from a transcript.
  • Cartesia also documents Ink speech-to-text, Line hosted voice agents, voice cloning, voice localization, infill, and voice changer. Do not present all of these as "Sonic TTS"; name the exact Cartesia surface being used.
  • Voice changer is not TTS: it takes an input speech clip and returns speech with the same intonation in a different target voice.
  • Speech-to-speech or voice conversion claims should be limited to the documented
    voice-changer
    endpoints unless Cartesia's docs explicitly add another supported path.
Production heuristics:
  • Prefer Cartesia Sonic when low time-to-first-byte, conversational pacing, multilingual speech, and API streaming matter more than offline local rendering or maximal post-production editability.
  • Prefer non-realtime batch TTS providers or local TTS when the project requires air-gapped processing, predictable no-network rendering, or a license/security posture not satisfied by Cartesia's current account settings.
  • For a media pipeline, record the selected endpoint, model ID, voice ID, language, output format, Cartesia-Version, generation_config, pronunciation dictionary ID, and source transcript checksum in the asset manifest.
官方文档明确的事实:
  • Sonic 是 Cartesia 的文本转语音模型系列。当前生产环境默认版本为
    sonic-3.5
    ;API 参考文档中还列有
    sonic-3
    和
    sonic-latest
    。
  • Sonic 接收文本并返回生成的语音。它适用于实时语音 Agent、旁白、配音、虚拟形象、通知、广告和本地化场景,前提是工作流从文稿开始。
  • Cartesia 还提供 Ink 语音转文字、Line 托管式语音 Agent、声音克隆、声音本地化、infill 和 voice changer。不要将这些能力全部统称为“Sonic TTS”;应明确说明所使用的具体 Cartesia 产品接口。
  • voice changer 不是 TTS:它接收一段输入语音片段,并返回语调相同、目标声音不同的语音。
  • 除非 Cartesia 文档明确增加了其他受支持的路径,否则有关 speech-to-speech 或语音转换的声明应仅限于已记录的
    voice-changer
    端点。
生产决策建议:
  • 当低首字节时间、对话式节奏、多语言语音和 API 流式传输比离线本地渲染或最大化后期可编辑性更重要时,优先选择 Cartesia Sonic。
  • 当项目要求隔离网络处理、可预测的无网络渲染,或 Cartesia 当前账户设置无法满足许可和安全要求时,优先选择非实时批量 TTS 提供商或本地 TTS。
  • 在媒体流水线中,应在资产清单中记录所选端点、模型 ID、声音 ID、语言、输出格式、Cartesia-Version、generation_config、发音词典 ID 和源文稿校验和。

Capability map

能力地图

Sonic text-to-speech

Sonic 文本转语音

Documented facts:
  • sonic-3.5
    is documented as Cartesia's fastest and most natural TTS model, with sub-90 ms latency and native support for 42 languages.
  • The model is documented as following transcripts faithfully, handling alphanumerics such as order numbers and IDs naturally, and using context-aware English pronunciation for heteronyms.
  • Sonic 3.5 is documented as generally available and production-ready in the 2026 changelog. Older Sonic models and several snapshots/languages were sunsetted on 2026-06-01.
Production heuristics:
  • For new production, start with
    sonic-3.5
    , not old
    sonic
    ,
    sonic-english
    ,
    sonic-multilingual
    ,
    sonic-2
    , or
    sonic-turbo
    identifiers.
  • Use
    sonic-3
    only for regression compatibility or if a specific voice/control path has been validated there.
  • Avoid pinning to
    sonic-latest
    in a locked edit/render pipeline unless the project explicitly wants automatic model changes. Use
    sonic-3.5
    for the latest stable snapshot, and use a dated
    sonic-3.5-YYYY-MM-DD
    snapshot when exact repeatability matters.
官方文档明确的事实:
  • sonic-3.5
    被记录为 Cartesia 速度最快且最自然的 TTS 模型,延迟低于 90 ms,并原生支持 42 种语言。
  • 文档称该模型会忠实遵循文稿内容、自然处理订单号和 ID 等字母数字混排内容,并使用上下文感知的英语发音规则处理同形异音词。
  • 2026 年更新日志记录 Sonic 3.5 已全面可用并可用于生产环境。较旧的 Sonic 模型以及若干快照和语言已于 2026-06-01 下线。
生产决策建议:
  • 对于新的生产项目,应从
    sonic-3.5
    开始,不要使用旧的
    sonic
    、
    sonic-english
    、
    sonic-multilingual
    、
    sonic-2
    或
    sonic-turbo
    标识符。
  • 仅在需要回归兼容性,或已验证特定声音或控制路径可正常工作的情况下使用
    sonic-3
    。
  • 除非项目明确希望模型自动更新,否则不要在锁定编辑或渲染流水线中固定使用
    sonic-latest
    。使用
    sonic-3.5
    获取最新的稳定快照;需要精确可重复性时,使用带日期的
    sonic-3.5-YYYY-MM-DD
    快照。

Voices

声音

Documented facts:
  • Cartesia offers 500+ out-of-box voices and custom voices.
  • Voices can be selected by ID for TTS requests.
  • Cartesia's voice guidance distinguishes stable voices for production voice agents from more emotive voices for AI characters.
  • Instant Voice Clone is available in the playground and API; it uses an uploaded or recorded clip up to 10 seconds. Training instant clones is documented as fast and free.
  • Professional Voice Clone (PVC) is available on Startup tier or higher. It uses fine-tuning on larger voice data; Cartesia documents a 30-minute minimum and recommends 2 hours for a better quality/effort balance.
  • PVC training is documented as taking about 3 hours; status values include Draft/Failed/Training/Completed in the playground and API fine-tune states include
    created
    ,
    training
    ,
    completed
    , and
    failed
    .
  • PVCs are pinned to the base model used for the fine-tune. A future base model requires retraining, with another fine-tune cost.
  • Professional Voice Clones are now available on Sonic 3.5 according to the 2026 changelog.
Production heuristics:
  • For narration or ads with no rights-approved talent voice, audition several stock voices before cloning. Cloning adds rights, custody, and retention obligations.
  • For interactive agents, test stable/realistic voices before highly emotive voices. A voice that sounds dramatic in a 10-second demo can be tiring or less intelligible in long calls.
  • For character, game, or companion work, audition emotive voices and emotion controls against the actual script; some voices respond better to emotion direction than others.
  • For brand voice clones, treat the voice ID like a licensed talent asset: store consent, allowed use, territory, term, revocation rules, and disclosure requirements alongside the project.
官方文档明确的事实:
  • Cartesia 提供 500 多种开箱即用的声音以及自定义声音。
  • TTS 请求可以通过 ID 选择声音。
  • Cartesia 的声音选择指南区分了适合生产级语音 Agent 的稳定声音,以及更适合 AI 角色的情感型声音。
  • Instant Voice Clone 可在 playground 和 API 中使用;它使用最长 10 秒的上传或录制片段。文档称即时克隆的训练速度快且免费。
  • Professional Voice Clone(PVC)适用于 Startup 套餐及更高套餐。它使用更大规模的声音数据进行微调;Cartesia 文档说明最少需要 30 分钟数据,并建议使用 2 小时,以获得更好的质量与投入平衡。
  • 文档称 PVC 训练约需 3 小时。playground 中的状态包括 Draft/Failed/Training/Completed,API 中的微调状态包括
    created
    、
    training
    、
    completed
    和
    failed
    。
  • PVC 固定到用于微调的基础模型。未来若更换基础模型,则必须重新训练,并会产生另一笔微调费用。
  • 根据 2026 年更新日志,Professional Voice Clone 现已支持 Sonic 3.5。
生产决策建议:
  • 对于旁白或广告,如果尚无获得权利批准的真人配音,应先试听多个预置声音,再决定是否克隆。克隆会额外带来权利、资产保管和保留期限方面的义务。
  • 对于交互式 Agent,应先测试稳定、逼真的声音,再测试高度情感化的声音。一个在 10 秒演示中听起来很有戏剧性的声音,在长时间通话中可能容易引起疲劳或降低可懂度。
  • 对于角色、游戏或伴侣类项目,应使用实际脚本试听情感型声音并测试情感控制;不同声音对情感指令的响应效果并不相同。
  • 对于品牌声音克隆,应将声音 ID 视为获得许可的配音资产:与项目一并保存授权同意、允许的使用范围、适用地区、授权期限、撤销规则和披露要求。

Voice localization

声音本地化

Documented facts:
  • Cartesia documents voice localization: making a voice sound native in new languages and accents.
  • Pricing documentation lists localizing a voice as a one-time 225-credit cost.
Production heuristics:
  • Use localization when the same approved speaker identity must carry across languages.
  • Do not assume localization solves translation, cultural adaptation, script timing, lip-sync, or legal talent consent. Handle those as separate production tasks.
  • QA localized voices with native reviewers for pronunciation, accent acceptability, intelligibility, and brand fit.
官方文档明确的事实:
  • Cartesia 提供声音本地化功能,使一种声音在新语言和口音中听起来更自然。
  • 定价文档列明,声音本地化是一次性消耗 225 credits。
生产决策建议:
  • 当同一个已获批准的发音者身份需要跨语言保持一致时,使用本地化。
  • 不要假定本地化能够解决翻译、文化适配、脚本时长、口型同步或配音人员法律授权问题;这些应作为独立制作任务处理。
  • 应由母语审阅者对本地化声音进行 QA,检查发音、口音可接受性、可懂度和品牌契合度。

Voice changer

voice changer

Documented facts:
  • The
    voice-changer/bytes
    and
    voice-changer/sse
    endpoints take a speech audio file and return speech with the same intonation but a different voice.
  • Supported input audio formats include common containers such as FLAC, MP3/MPEG/MPGA, OGA/OGG, WAV, and WEBM.
  • Output containers include
    raw
    ,
    wav
    , and
    mp3
    ; sample rates include 8000, 16000, 22050, 24000, 44100, and 48000 Hz.
  • Voice changer is priced at 15 credits per second of input audio.
Production heuristics:
  • Use voice changer for voice conversion of already-performed speech when preserving timing, intonation, and performance matters more than reconstructing from text.
  • Use TTS from transcript when you need exact word control, pronunciation dictionaries, clean pickups, or translated/localized copy.
  • For dubbing, decide explicitly between TTS from translated script, voice changer from a guide performance, and a hybrid. Do not silently replace one with another.
官方文档明确的事实:
  • voice-changer/bytes
    和
    voice-changer/sse
    端点接收语音音频文件,并返回语调相同、声音不同的语音。
  • 支持的输入音频格式包括 FLAC、MP3/MPEG/MPGA、OGA/OGG、WAV 和 WEBM 等常见容器格式。
  • 输出容器包括
    raw
    、
    wav
    和
    mp3
    ;采样率包括 8000、16000、22050、24000、44100 和 48000 Hz。
  • voice changer 的价格为输入音频每秒 15 credits。
生产决策建议:
  • 当对已完成的语音表演进行转换,且保留时间轴、语调和表演效果比从文本重新生成更重要时,使用 voice changer。
  • 当需要精确控制字词、使用发音词典、生成干净补录内容或输出翻译及本地化文案时,使用基于文稿的 TTS。
  • 对于配音,应明确选择基于翻译脚本的 TTS、基于引导表演的 voice changer,或两者结合的混合方案。不要在未说明的情况下相互替换。

Endpoint selection

端点选择

Documented facts:
  • POST /tts/bytes
    : best when the full transcript is known and the production needs streamed audio bytes in a single HTTP request. It is efficient for batch jobs, cached files, notifications, narration segments, and file export.
  • POST /tts/sse
    : best when the full transcript is known and timestamps are needed without WebSocket, or the stack already consumes Server-Sent Events. Audio chunks are JSON/base64 SSE events.
  • WSS /tts/websocket
    : best for long-lived sessions, text arriving incrementally from an LLM, lowest latency across many turns, timestamps, and multiple utterances on one socket.
  • Bytes and SSE take one complete transcript per request. SSE
    context_id
    is echoed for logs but does not merge multiple HTTP requests into one utterance.
  • WebSocket supports contexts and continuations. Reuse one
    context_id
    for one utterance, send partials with
    continue: true
    , and finalize with
    continue: false
    .
  • Contexts expire automatically 1 second after the last audio output is streamed. Sending another input on an expired context is unsupported.
Decision rule:
  • Use
    bytes
    for produced files: narration, ads, explainer voiceover, in-app notifications, batch localization, cacheable prompts.
  • Use
    sse
    for produced files that need word/phoneme timing but cannot use WebSocket.
  • Use
    websocket
    for live agents, LLM token streaming, barge-in/interruptible experiences, or any case where the full transcript is not available at once.
Failure modes:
  • Sending LLM fragments as separate HTTP requests creates prosody seams. Use WebSocket continuations for one spoken utterance.
  • Splitting a context without spaces or punctuation concatenates text verbatim and can mispronounce joined chunks.
  • Changing model, voice, language, output format, or generation settings within one WebSocket context violates the documented input-format rule that only
    transcript
    ,
    continue
    , and
    duration
    may vary on a context.
  • Leaving idle WebSockets open can hit WebSocket limits and cause 429 errors.
官方文档明确的事实:
  • POST /tts/bytes
    :适用于完整文稿已知,且生产环境需要在单次 HTTP 请求中以流式方式获取音频字节的场景。它适合批量任务、缓存文件、通知、旁白片段和文件导出。
  • POST /tts/sse
    :适用于完整文稿已知,需要时间戳但不能使用 WebSocket,或技术栈已经消费 Server-Sent Events 的场景。音频分块以 JSON/base64 SSE 事件传输。
  • WSS /tts/websocket
    :适用于长连接会话、文本由 LLM 增量生成、需要跨多轮实现低延迟、需要时间戳,以及需要在单个 socket 上传输多段话语的场景。
  • Bytes 和 SSE 每次请求只接受一段完整文稿。SSE 的
    context_id
    会在日志中回显,但不会将多个 HTTP 请求合并为一段话语。
  • WebSocket 支持上下文和连续输入。在一段话语中复用同一个
    context_id
    ,使用
    continue: true
    发送部分文本,并使用
    continue: false
    结束。
  • 上一次音频输出流式传输完成后,上下文会在 1 秒后自动过期。向已过期的上下文发送新输入不受支持。
决策规则:
  • 对于需要产出文件的场景,如旁白、广告、解释类配音、应用内通知、批量本地化和可缓存提示,使用
    bytes
    。
  • 对于需要字词或音素时间戳但无法使用 WebSocket 的文件产出场景,使用
    sse
    。
  • 对于实时 Agent、LLM token 流式传输、可插话或可中断体验,以及无法一次获得完整文稿的场景,使用
    websocket
    。
失败模式:
  • 将 LLM 分片作为独立 HTTP 请求发送会产生韵律衔接痕迹。一段连续话语应使用 WebSocket continuations。
  • 分割上下文时,如果片段之间没有空格或标点,文本会被原样拼接,并可能导致连读发音错误。
  • 在同一个 WebSocket 上下文中更改模型、声音、语言、输出格式或生成设置,会违反已记录的输入格式规则;上下文中只有
    transcript
    、
    continue
    和
    duration
    可以变化。
  • 长时间保持空闲 WebSocket 连接可能触及 WebSocket 限制并导致 429 错误。

Core request fields

核心请求字段

Documented facts:
  • TTS requests require
    model_id
    ,
    transcript
    ,
    voice
    , and
    output_format
    .
  • The language field tells the selected voice which language to speak. The exact availability can depend on the model.
  • TTS supports word timestamps and phoneme timestamps on SSE; WebSocket also supports timestamp use cases. Bytes is audio-only.
  • Pronunciation dictionaries are supported by
    sonic-3
    models and newer through
    pronunciation_dict_id
    .
  • generation_config
    is available on
    sonic-3
    and
    sonic-3.5
    .
  • The older top-level
    speed
    enum is deprecated; use
    generation_config.speed
    instead.
  • API requests should include
    Cartesia-Version
    as the date when the integration was tested. For WebSockets,
    cartesia_version
    can be passed as a query parameter.
Production defaults:
json
{
  "model_id": "sonic-3.5",
  "voice": { "mode": "id", "id": "VOICE_ID_APPROVED_FOR_THIS_PROJECT" },
  "language": "en",
  "output_format": {
    "container": "wav",
    "encoding": "pcm_s16le",
    "sample_rate": 48000
  },
  "generation_config": {
    "speed": 1.0,
    "volume": 1.0
  }
}
Heuristics:
  • Use WAV/48 kHz for video-production masters unless the target pipeline needs another sample rate.
  • Use MP3 only for delivery previews or app assets where smaller files matter more than editing headroom.
  • Use raw PCM only when a realtime player, telephony system, or streaming stack requires it and the downstream encoding/sample-rate expectations are explicit.
  • For telephony, match the downstream codec/sample rate rather than generating high-rate audio and transcoding repeatedly.
官方文档明确的事实:
  • TTS 请求必须包含
    model_id
    、
    transcript
    、
    voice
    和
    output_format
    。
  • language 字段用于告知所选声音应使用哪种语言。具体可用性可能取决于模型。
  • TTS 在 SSE 上支持字词时间戳和音素时间戳;WebSocket 也支持时间戳用例。Bytes 仅返回音频。
  • sonic-3
    及更新模型通过
    pronunciation_dict_id
    支持发音词典。
  • sonic-3
    和
    sonic-3.5
    支持
    generation_config
    。
  • 旧的顶层
    speed
    枚举已弃用;应改用
    generation_config.speed
    。
  • API 请求应包含
    Cartesia-Version
    ,其值应为测试该集成时的日期。对于 WebSocket,可以将
    cartesia_version
    作为查询参数传递。
生产环境默认值:
json
{
  "model_id": "sonic-3.5",
  "voice": { "mode": "id", "id": "VOICE_ID_APPROVED_FOR_THIS_PROJECT" },
  "language": "en",
  "output_format": {
    "container": "wav",
    "encoding": "pcm_s16le",
    "sample_rate": 48000
  },
  "generation_config": {
    "speed": 1.0,
    "volume": 1.0
  }
}
实践建议:
  • 除非目标流水线需要其他采样率,否则视频制作母版应使用 WAV/48 kHz。
  • 仅在交付预览或更重视文件体积而非后期编辑余量的应用资产中使用 MP3。
  • 仅当实时播放器、电话系统或流式技术栈明确要求时使用 raw PCM,并且下游编码和采样率预期必须清晰明确。
  • 对于电话系统,应匹配下游 codec 和采样率,不要反复生成高采样率音频后再转码。

Transcript writing for Sonic

Sonic 文稿编写

Documented facts:
  • Sonic 3.5 is designed to work with natural, well-punctuated transcript text with minimal prompt engineering.
  • Cartesia recommends complete phrases and terminal punctuation.
  • Sonic handles conventional written forms for numbers, currency, dates, phone numbers, addresses, email addresses, common acronyms, and initialisms.
  • Heavy preprocessing, punctuation stripping, or forced casing can hurt output quality.
  • All-caps may be interpreted as an initialism; use normal casing except when a token should be read letter-by-letter.
  • <spell>...</spell>
    is recommended for alphanumeric codes and exact character-by-character readout.
  • Break tags can insert fixed pauses, but repeated or chained break tags can reduce naturalness and cause failures.
Production heuristics:
  • Treat the transcript as a performance script, not a prompt. Write what should be spoken, not notes to the model.
  • Avoid markdown, bullets, headers, emoji, raw JSON, asterisks, and hashtags in spoken transcripts unless the symbol is meant to be read aloud.
  • Keep timing notes outside the transcript unless they are valid SSML/Sonic tags that the integration preserves.
  • For ads and social videos, write short sentences with intentional punctuation; do not rely on speed controls to fix an overlong script.
  • For voice agents, constrain upstream LLM output to plain prose, terminal punctuation, no markdown, no unsupported symbols, and explicit
    <spell>
    tags for codes.
官方文档明确的事实:
  • Sonic 3.5 旨在配合自然、标点完善的文稿文本工作,只需极少提示工程。
  • Cartesia 建议使用完整短语和句末标点。
  • Sonic 可以自然处理数字、货币、日期、电话号码、地址、电子邮件、常见缩写和首字母缩写的常规书面形式。
  • 大量预处理、去除标点或强制转换大小写可能损害输出质量。
  • 全大写文本可能会被解读为首字母缩略词;除非要逐字母朗读某个词,否则应使用正常大小写。
  • 对于字母数字代码和需要逐字符精确朗读的内容,推荐使用
    <spell>...</spell>
    。
  • Break 标签可以插入固定停顿,但重复或连续使用 break 标签可能降低自然度并导致失败。
生产决策建议:
  • 应将文稿视为表演脚本,而不是提示词。编写应该被说出的内容,不要编写给模型的注释。
  • 除非某个符号确实需要被朗读,否则应避免在口播文稿中使用 Markdown、项目符号、标题、emoji、原始 JSON、星号和井号。
  • 除非计时说明是有效的 SSML/Sonic 标签且集成流程会保留它们,否则应将其放在文稿之外。
  • 对于广告和社交视频,应编写短句并有意识地使用标点;不要依赖速度控制来修复过长的脚本。
  • 对于语音 Agent,应约束上游 LLM 仅输出纯文本、包含句末标点、不含 Markdown 或不受支持的符号,并使用明确的
    <spell>
    标签处理代码。

Pronunciation, language, and accent control

发音、语言和口音控制

Documented facts:
  • Pronunciation dictionaries are search-and-replace rules that direct Sonic to use another string for matching words or phrases.
  • Dictionary pronunciations can be IPA-like Cartesia syntax or "sounds-like" guidance.
  • Once a dictionary is created, pass its ID as
    pronunciation_dict_id
    in TTS APIs.
  • Sonic 3.5 supports 42 languages. API docs list language codes including
    en
    ,
    fr
    ,
    de
    ,
    es
    ,
    pt
    ,
    zh
    ,
    ja
    ,
    hi
    ,
    it
    ,
    ko
    ,
    nl
    ,
    pl
    ,
    ru
    ,
    sv
    ,
    tr
    ,
    tl
    ,
    bg
    ,
    ro
    ,
    ar
    ,
    cs
    ,
    el
    ,
    fi
    ,
    hr
    ,
    ms
    ,
    sk
    ,
    da
    ,
    ta
    ,
    uk
    ,
    hu
    ,
    no
    ,
    vi
    ,
    bn
    ,
    th
    ,
    he
    ,
    ka
    ,
    id
    ,
    te
    ,
    gu
    ,
    kn
    ,
    ml
    ,
    mr
    , and
    pa
    .
Production heuristics:
  • Use dictionaries for brand names, product names, medical/legal terms, domain jargon, regional place names, and heteronyms that matter.
  • Keep a per-project pronunciation sheet and convert only the tested entries into a Cartesia pronunciation dictionary.
  • Do not pack every possible word into a dictionary. Over-specific replacements can create unnatural delivery or interact badly with context.
  • For multilingual output, pick a voice whose primary language or localized target matches the language. Do not assume one English voice will be equally native in all languages without localization and QA.
官方文档明确的事实:
  • 发音词典是搜索并替换规则,用于指示 Sonic 对匹配到的词或短语使用其他字符串。
  • 词典发音可以采用类似 IPA 的 Cartesia 语法,也可以采用“听起来像”的发音指导。
  • 创建词典后,在 TTS API 中将其 ID 作为
    pronunciation_dict_id
    传递。
  • Sonic 3.5 支持 42 种语言。API 文档列出的语言代码包括
    en
    、
    fr
    、
    de
    、
    es
    、
    pt
    、
    zh
    、
    ja
    、
    hi
    、
    it
    、
    ko
    、
    nl
    、
    pl
    、
    ru
    、
    sv
    、
    tr
    、
    tl
    、
    bg
    、
    ro
    、
    ar
    、
    cs
    、
    el
    、
    fi
    、
    hr
    、
    ms
    、
    sk
    、
    da
    、
    ta
    、
    uk
    、
    hu
    、
    no
    、
    vi
    、
    bn
    、
    th
    、
    he
    、
    ka
    、
    id
    、
    te
    、
    gu
    、
    kn
    、
    ml
    、
    mr
    和
    pa
    。
生产决策建议:
  • 应为品牌名、产品名、医疗或法律术语、行业术语、地区地名以及重要的同形异音词使用发音词典。
  • 维护每个项目的发音表,并且只将经过测试的词条转换为 Cartesia 发音词典。
  • 不要将所有可能用到的词都放入词典。过于具体的替换可能造成不自然的表达,或与上下文产生不良交互。
  • 对于多语言输出,应选择主要语言或本地化目标与目标语言一致的声音。不要在未经过本地化和 QA 的情况下,假定同一个英语声音在所有语言中都同样自然。

Speed, volume, emotion, and nonverbal performance

速度、音量、情感和非语言表达

Documented facts:
  • Sonic supports speed, volume, and emotion controls via the playground,
    generation_config
    , or SSML tags.
  • generation_config.speed
    ranges from 0.6 to 1.5.
  • generation_config.volume
    ranges from 0.5 to 2.0.
  • Emotion controls are marked beta. Cartesia describes them as guidance rather than strict controls.
  • Emotion direction works best when the emotion is consistent with the transcript.
  • Sonic can respond to nonverbalisms and expressive text depending on the voice and content, but production reliability should be tested.
Production heuristics:
  • Use punctuation, script wording, and voice choice first; use speed/volume/emotion as refinements.
  • Test emotion control voice-by-voice. Record accepted values and rejected takes; do not assume the same emotion word works the same across voices.
  • Avoid using volume controls as a substitute for mixing. Normalize and mix in post for video deliverables.
  • For ads, make separate takes for "warm", "confident", "urgent", and "smiling" reads; choose by listening rather than relying on the label.
  • For compliance or customer-support voice agents, avoid exaggerated emotion and keep prosody stable.
官方文档明确的事实:
  • Sonic 支持通过 playground、
    generation_config
    或 SSML 标签控制速度、音量和情感。
  • generation_config.speed
    的范围为 0.6 到 1.5。
  • generation_config.volume
    的范围为 0.5 到 2.0。
  • 情感控制被标记为 beta。Cartesia 将其描述为指导,而不是严格控制。
  • 当情感方向与文稿内容一致时,情感控制效果最佳。
  • Sonic 可以根据声音和内容对非语言表达和富有表现力的文本作出响应,但应测试其生产可靠性。
生产决策建议:
  • 应优先使用标点、脚本措辞和声音选择,再将速度、音量和情感作为后续优化。
  • 应逐一测试不同声音的情感控制。记录已接受的值和被拒绝的版本;不要假定同一个情感词在不同声音中具有相同效果。
  • 不要使用音量控制代替混音。对于视频交付内容,应在后期进行标准化和混音。
  • 对于广告,应分别录制“温暖”“自信”“急切”和“微笑”等不同表演版本,并通过试听进行选择,而不是依赖标签。
  • 对于合规或客户支持类语音 Agent,应避免夸张情感,并保持韵律稳定。

Pricing, quotas, and throughput planning

定价、配额和吞吐量规划

Documented facts:
  • Cartesia meters model usage in credits. Errors do not consume credits.
  • Standard TTS costs approximately 1 credit per character, with slight variance due to transcript preprocessing.
  • TTS with a Pro Voice Clone costs approximately 1.5 credits per character; Instant Voice Clones are billed at the standard TTS rate.
  • Pro Voice Clone fine-tuning costs 1,000,000 credits on successful training.
  • Voice changer costs 15 credits per second of input audio.
  • Plan concurrency limits for TTS are documented as Free 2, Pro 3, Startup 5, Scale 15, Enterprise custom.
  • WebSocket connections are limited to 10x the TTS concurrency limit.
  • TTS concurrency is measured by unique active contexts. For HTTP, each request is one context; for WebSocket, each unique
    context_id
    is one context.
  • Exceeding the TTS concurrency limit or WebSocket limit returns a 429 error.
  • Idle TTS WebSockets close after 5 minutes.
Cost heuristic:
  • Estimate credits before generation from the final transcript character count.
  • For long narration, split by scene/paragraph for editability, but batch work through a queue respecting concurrency.
  • For WebSocket agents, pool connections and close idle sockets. Count active utterance contexts, not just open sockets.
  • For PVC work, get explicit user approval before starting a fine-tune because successful training has a large fixed credit cost.
官方文档明确的事实:
  • Cartesia 使用 credits 计量模型用量。错误请求不会消耗 credits。
  • 标准 TTS 的价格约为每字符 1 credit,具体值可能因文稿预处理略有变化。
  • 使用 Pro Voice Clone 的 TTS 价格约为每字符 1.5 credits;Instant Voice Clone 按标准 TTS 费率计费。
  • Pro Voice Clone 微调在训练成功时消耗 1,000,000 credits。
  • voice changer 的价格为输入音频每秒 15 credits。
  • 文档记录的 TTS 并发限制为:Free 2、Pro 3、Startup 5、Scale 15,Enterprise 套餐自定义。
  • WebSocket 连接数限制为 TTS 并发限制的 10 倍。
  • TTS 并发按唯一活跃 context 计算。对于 HTTP,每个请求都是一个 context;对于 WebSocket,每个唯一的
    context_id
    都是一个 context。
  • 超出 TTS 并发限制或 WebSocket 限制会返回 429 错误。
  • 空闲的 TTS WebSocket 会在 5 分钟后关闭。
成本估算建议:
  • 生成前,应根据最终文稿的字符数估算 credits。
  • 对于长篇旁白,可按场景或段落拆分以提高可编辑性,但应通过队列执行批处理并遵守并发限制。
  • 对于 WebSocket Agent,应使用连接池并关闭空闲 socket。统计活跃话语 context,而不只是统计已打开的 socket。
  • 对于 PVC,在开始微调前必须获得用户的明确批准,因为训练成功会产生高额固定 credit 成本。

Privacy, security, rights, and disclosure

隐私、安全、权利和披露

Documented facts:
  • Server-side integrations should use API keys from trusted environments. Browser or mobile clients should use short-lived access tokens, not embedded API keys.
  • Management endpoints such as usage and API-key metadata require admin API keys.
  • Zero Data Retention (ZDR) is available to Enterprise customers for TTS and STT inference.
  • With ZDR, TTS text input and TTS audio output are documented as not retained, while operational metadata such as request IDs, usage totals, account information, and service health data may be retained.
  • ZDR does not apply to voice cloning, PVC, voice creation, or workflows where customer-provided source material must be retained or processed differently.
  • Cartesia's acceptable use policy prohibits impersonating another person or business and says users may submit only their own voice/audio recordings or those of others with explicit consent and necessary rights.
Production requirements:
  • Do not clone, localize, or voice-change a person, celebrity, employee, customer, or brand voice without documented consent and rights.
  • Do not imply that ZDR covers cloning datasets or voice-creation source material.
  • Keep API keys out of client apps, generated videos, logs, screenshots, and project artifacts.
  • For synthetic or cloned voices in public-facing media, follow the project's disclosure policy and applicable law. At minimum, flag the asset as AI-generated or cloned in the production ledger when the voice identity could affect audience trust.
  • For regulated or sensitive content, verify Enterprise/ZDR, DPA/BAA/compliance requirements, region/deployment needs, and retention expectations with the account owner before sending real content.
官方文档明确的事实:
  • 服务端集成应使用来自可信环境的 API key。浏览器或移动客户端应使用短期 access token,而不能嵌入 API key。
  • 用量统计和 API key 元数据等管理端点需要 admin API key。
  • Enterprise 客户的 TTS 和 STT 推理可使用 Zero Data Retention(ZDR)。
  • 使用 ZDR 时,文档称 TTS 文本输入和 TTS 音频输出不会被保留,但 request ID、用量汇总、账户信息和服务健康数据等运营元数据仍可能被保留。
  • ZDR 不适用于声音克隆、PVC、声音创建,或必须以不同方式保留或处理客户所提供源素材的工作流。
  • Cartesia 的可接受使用政策禁止冒充他人或企业,并规定用户只能提交自己的声音或音频录音,或者在获得明确同意并具备必要权利的情况下提交他人的声音或音频。
生产要求:
  • 未获得明确同意和相应权利时,不得克隆、本地化或变换任何人员、名人、员工、客户或品牌的声音。
  • 不要暗示 ZDR 覆盖克隆数据集或声音创建源素材。
  • 不要将 API key 放入客户端应用、生成的视频、日志、截图或项目制品中。
  • 对于面向公众的媒体中使用合成或克隆的声音,应遵循项目的披露政策和适用法律。当声音身份可能影响受众信任时,至少应在制作台账中将该资产标记为 AI 生成或克隆。
  • 对于受监管或敏感内容,在发送真实内容之前,应与账户负责人确认 Enterprise/ZDR、DPA/BAA/合规要求、区域或部署需求以及保留期限预期。

Artifact custody

制品保管

For every generated or transformed audio asset, store:
  • transcript text or transcript checksum;
  • model ID and Cartesia-Version;
  • endpoint (
    tts/bytes
    ,
    tts/sse
    ,
    tts/websocket
    ,
    voice-changer/bytes
    , etc.);
  • voice ID, voice source class (stock, instant clone, PVC, localized), and rights/consent reference;
  • language code and pronunciation dictionary ID/version;
  • generation_config and SSML/tags used;
  • output format container, encoding, sample rate, bit rate;
  • usage estimate and actual credits if available;
  • request ID or context ID where safe to retain;
  • human QA status and notes;
  • disclosure label if synthetic/cloned voice disclosure is required.
Do not store raw voice-clone source recordings in a project folder unless the production contract explicitly allows it. Prefer a controlled asset store with access logs and deletion policy.
对于每个生成或转换后的音频资产,应保存:
  • 文稿文本或文稿校验和;
  • 模型 ID 和 Cartesia-Version;
  • 端点(
    tts/bytes
    、
    tts/sse
    、
    tts/websocket
    、
    voice-changer/bytes
    等);
  • 声音 ID、声音来源类别(stock、instant clone、PVC、localized),以及权利或授权同意引用;
  • 语言代码和发音词典 ID/版本;
  • generation_config 以及使用的 SSML/标签;
  • 输出格式的容器、编码、采样率和比特率;
  • 用量估算值,以及可用时的实际 credits 消耗;
  • 在安全允许保留时保存 request ID 或 context ID;
  • 人工 QA 状态和备注;
  • 需要披露合成或克隆声音时的披露标签。
除非制作合同明确允许,否则不要在项目文件夹中保存原始声音克隆源录音。优先使用具备访问日志和删除策略的受控资产存储。

Production QA

生产 QA

Listen to every approved take; waveform inspection is not enough.
Check:
  • transcript fidelity: no missing, inserted, repeated, or hallucinated words;
  • pronunciation: names, acronyms, numbers, codes, product terms, addresses, money, dates;
  • language/accent: native reviewer pass for localized output;
  • performance: pace, pauses, emotion, emphasis, fatigue over long runs;
  • technical quality: clicks, distortion, clipping, noise, unnatural silence, sample-rate mismatch;
  • editability: handles at cut points, consistent loudness, scene-level separation;
  • sync: word/phoneme timestamps align with captions, avatar/lip-sync, or UI events;
  • rights: voice source and usage consent match final deliverable;
  • safety/disclosure: cloned or synthetic voice labels and policy requirements are satisfied.
Common repair actions:
  • Mispronunciation: add or revise pronunciation dictionary; rewrite the phrase naturally; test a shorter line with context preserved.
  • Rushed read: shorten the script first; then test
    generation_config.speed
    below 1.0.
  • Flat read: try a more expressive voice; add emotion guidance consistent with the text; revise punctuation and wording.
  • Overacted read: remove emotion tags, choose a stable voice, and simplify punctuation.
  • Prosody seam in live output: switch to WebSocket continuations with one context per utterance.
  • Timestamps missing: use SSE or WebSocket and request timestamps; do not use bytes for timestamp-dependent workflows.
  • Concurrency errors: queue requests, reduce parallel contexts, close idle WebSockets, or upgrade plan.
应试听每一条已批准的版本;仅检查波形是不够的。
检查:
  • 文稿保真度:没有遗漏、插入、重复或幻觉词语;
  • 发音:人名、缩写、数字、代码、产品术语、地址、金额和日期;
  • 语言/口音:本地化输出应通过母语审阅者检查;
  • 表演:语速、停顿、情感、强调,以及长时间播放时的疲劳感;
  • 技术质量:爆音、失真、削波、噪声、不自然的静音和采样率不匹配;
  • 可编辑性:切口处理、响度一致性和场景级分离;
  • 同步:字词/音素时间戳与字幕、虚拟形象口型同步或 UI 事件对齐;
  • 权利:声音来源和使用同意与最终交付物相匹配;
  • 安全/披露:满足克隆或合成声音的标签和政策要求。
常见修复措施:
  • 发音错误:添加或修改发音词典;自然地改写短语;在保留上下文的情况下测试更短的句子。
  • 语速过快:先缩短脚本;然后再测试低于 1.0 的
    generation_config.speed
    。
  • 朗读平淡:尝试表现力更强的声音;添加与文本一致的情感指导;修改标点和措辞。
  • 表演过度:移除情感标签,选择稳定的声音,并简化标点。
  • 实时输出出现韵律衔接痕迹:改用 WebSocket continuations,并确保每段话语使用一个 context。
  • 缺少时间戳:使用 SSE 或 WebSocket 并请求时间戳;不要在依赖时间戳的工作流中使用 bytes。
  • 并发错误:将请求加入队列、减少并行 context、关闭空闲 WebSocket,或升级套餐。

Complete examples

完整示例

Example: batch narration for a 90-second product explainer

示例:为 90 秒产品介绍视频制作批量旁白

Production intent: create edit-ready scene narration files for a product video.
Workflow:
  1. Finalize script by scene. Keep each line as a complete sentence with terminal punctuation.
  2. Audition 3 stock voices in the target language with the first 2 scenes.
  3. Choose
    POST /tts/bytes
    because the transcript is complete and the output will be edited as files.
  4. Generate one WAV per scene at 48 kHz.
  5. Store model, voice, language, output format, transcript checksum, and request ID in the asset manifest.
  6. QA every line against the final script.
Example request body:
json
{
  "model_id": "sonic-3.5",
  "transcript": "Meet Acme Lens, the field camera that tags every inspection before your team leaves the site.",
  "voice": { "mode": "id", "id": "APPROVED_STOCK_VOICE_ID" },
  "language": "en",
  "output_format": {
    "container": "wav",
    "encoding": "pcm_s16le",
    "sample_rate": 48000
  },
  "generation_config": {
    "speed": 0.96,
    "volume": 1.0,
    "emotion": "confident"
  }
}
Expected result: one clean narration file with natural product-announcement pacing and no markdown or spoken production notes.
Failure modes:
  • The line is too long for the shot: shorten copy rather than forcing high speed.
  • Brand name is wrong: add pronunciation dictionary and regenerate only affected lines.
  • Emotion sounds exaggerated: remove emotion setting and rely on voice choice/punctuation.
Variations:
  • Use MP3 for lightweight app previews.
  • Use SSE if the same line must drive word-level kinetic captions.
  • Use a PVC only after rights approval and cost approval.
制作意图:为产品视频创建可供后期编辑的场景旁白文件。
工作流:
  1. 按场景确定最终脚本。每一行都应是带句末标点的完整句子。
  2. 使用前两个场景试听目标语言中的 3 个 stock 声音。
  3. 选择
    POST /tts/bytes
    ,因为文稿完整且输出将作为文件进行编辑。
  4. 每个场景生成一个 48 kHz WAV 文件。
  5. 在资产清单中存储模型、声音、语言、输出格式、文稿校验和和 request ID。
  6. 根据最终脚本对每一行进行 QA。
示例请求体:
json
{
  "model_id": "sonic-3.5",
  "transcript": "Meet Acme Lens, the field camera that tags every inspection before your team leaves the site.",
  "voice": { "mode": "id", "id": "APPROVED_STOCK_VOICE_ID" },
  "language": "en",
  "output_format": {
    "container": "wav",
    "encoding": "pcm_s16le",
    "sample_rate": 48000
  },
  "generation_config": {
    "speed": 0.96,
    "volume": 1.0,
    "emotion": "confident"
  }
}
预期结果:生成一个干净、自然且具有产品公告节奏的旁白文件,不包含 Markdown 或口播制作注释。
失败模式:
  • 句子对于镜头而言过长:应缩短文案,而不是强行提高速度。
  • 品牌名称发音错误:添加发音词典,并只重新生成受影响的行。
  • 情感听起来过于夸张:移除情感设置,依赖声音选择和标点。
变体:
  • 使用 MP3 生成轻量级应用预览。
  • 如果同一行还需要驱动逐字动态字幕,则使用 SSE。
  • 仅在获得权利批准和费用批准后使用 PVC。

Example: realtime LLM voice agent

示例:实时 LLM 语音 Agent

Production intent: speak assistant responses as the LLM streams tokens.
Workflow:
  1. Configure the LLM to output plain speakable prose with no markdown, no bullets, no emoji, and terminal punctuation.
  2. Open one Cartesia WebSocket per worker/session pool.
  3. For each assistant turn, create one
    context_id
    .
  4. Send chunks with
    continue: true
    ; finalize the turn with
    continue: false
    .
  5. Keep voice/model/language/output settings identical within the context.
  6. Close idle sockets or recycle after idle periods.
Example chunk sequence:
json
{
  "model_id": "sonic-3.5",
  "transcript": "I found three available appointment times: ",
  "voice": { "mode": "id", "id": "APPROVED_AGENT_VOICE_ID" },
  "language": "en",
  "context_id": "turn-8472",
  "continue": true,
  "output_format": {
    "container": "raw",
    "encoding": "pcm_f32le",
    "sample_rate": 44100
  }
}
json
{
  "transcript": "Monday at 9:30 AM, Tuesday at 2:00 PM, or Thursday at 11:15 AM.",
  "context_id": "turn-8472",
  "continue": false
}
Expected result: one seamless utterance with stable prosody across the two chunks.
Failure modes:
  • Missing space after the first chunk produces joined words.
  • Reusing the same context after it expires is unsupported.
  • Opening too many idle sockets triggers 429 errors.
Variations:
  • Use
    <spell>
    tags for confirmation codes.
  • Use a telephony sample rate/encoding if the audio is streamed directly into a phone call.
  • Use access tokens for browser clients; never expose the API key.
制作意图:在 LLM 流式输出 token 时播报助手回复。
工作流:
  1. 配置 LLM 仅输出可直接朗读的纯文本,不含 Markdown、项目符号、emoji,并包含句末标点。
  2. 每个 worker/会话池打开一个 Cartesia WebSocket。
  3. 每轮助手回复创建一个
    context_id
    。
  4. 使用
    continue: true
    发送文本分块;使用
    continue: false
    结束该轮。
  5. 在同一个 context 内保持声音、模型、语言和输出设置完全一致。
  6. 关闭空闲 socket,或在空闲一段时间后回收连接。
示例分块序列:
json
{
  "model_id": "sonic-3.5",
  "transcript": "I found three available appointment times: ",
  "voice": { "mode": "id", "id": "APPROVED_AGENT_VOICE_ID" },
  "language": "en",
  "context_id": "turn-8472",
  "continue": true,
  "output_format": {
    "container": "raw",
    "encoding": "pcm_f32le",
    "sample_rate": 44100
  }
}
json
{
  "transcript": "Monday at 9:30 AM, Tuesday at 2:00 PM, or Thursday at 11:15 AM.",
  "context_id": "turn-8472",
  "continue": false
}
预期结果:两个文本分块形成一段韵律稳定、无缝衔接的话语。
失败模式:
  • 第一个分块后缺少空格会导致词语粘连。
  • context 过期后继续复用不受支持。
  • 打开过多空闲 socket 会触发 429 错误。
变体:
  • 使用
    <spell>
    标签处理确认码。
  • 如果音频直接流入电话通话,请使用适合电话系统的采样率和编码。
  • 浏览器客户端应使用 access token;绝不能暴露 API key。

Example: localization with brand voice

示例:使用品牌声音进行本地化

Production intent: localize an English product ad into Spanish and Japanese using the same approved speaker identity.
Workflow:
  1. Confirm the talent agreement covers cloned/localized voice use in Spanish and Japanese, paid media, regions, and campaign term.
  2. Localize or select voices for each target language. Do not assume the English voice is native in each language.
  3. Translate/adapt the script for each market and re-time to the edit.
  4. Create pronunciation entries for product names and region-specific words.
  5. Generate takes with
    language: "es"
    and
    language: "ja"
    using
    POST /tts/bytes
    or SSE if caption timing is required.
  6. Native reviewers score pronunciation, accent, emotional fit, and compliance.
Expected result: language-specific files that preserve the brand identity while sounding natural to native listeners.
Failure modes:
  • Direct translation overfills the timing. Rewrite copy, do not just speed it up.
  • Product name pronounces differently by market. Use a separate pronunciation dictionary per locale.
  • Consent covers English only. Stop before voice localization or cloning.
Variations:
  • Use voice changer from a human guide performance if preserving intonation/timing is more important than exact transcript control.
  • Use separate stock voices per locale if brand identity is less important than native naturalness.
制作意图:使用同一个已获批准的发音者身份,将英语产品广告本地化为西班牙语和日语。
工作流:
  1. 确认配音协议涵盖克隆或本地化声音在西班牙语和日语、付费媒体、特定地区及活动期限中的使用。
  2. 为每种目标语言进行声音本地化或选择对应声音。不要假定英语声音在每种语言中都足够自然。
  3. 针对每个市场翻译或改编脚本,并重新匹配剪辑时间轴。
  4. 为产品名称和地区特定词语创建发音词条。
  5. 使用
    POST /tts/bytes
    并设置
    language: "es"
    或
    language: "ja"
    生成版本;如果需要字幕时间戳,则使用 SSE。
  6. 由母语审阅者对发音、口音、情感契合度和合规性进行评分。
预期结果:生成针对不同语言的文件,在保留品牌身份的同时,让母语听众感到自然。
失败模式:
  • 直接翻译导致内容超出时间轴。应重写文案,而不是只提高速度。
  • 产品名称在不同市场中的发音不同。每个 locale 应使用独立的发音词典。
  • 授权仅覆盖英语。此时应停止声音本地化或克隆。
变体:
  • 如果保留语调和时间轴比精确控制文稿更重要,可以使用基于真人引导表演的 voice changer。
  • 如果品牌身份不如母语自然度重要,可以为每个 locale 使用独立的 stock 声音。

Example: voice changer for a performed line

示例:对已表演台词使用 voice changer

Production intent: preserve an actor's comic timing but convert the voice to an approved character voice.
Workflow:
  1. Confirm rights to the source performance and target voice.
  2. Clean the source clip: one speaker, no background music, no overlapping speech, no clipping.
  3. Use
    POST /voice-changer/bytes
    with the target
    voice[id]
    and a production output format.
  4. Compare output to the source clip for timing and intonation retention.
  5. Mix in post; do not use volume controls as the final loudness process.
Expected result: same line timing and intonation in the target voice.
Failure modes:
  • Background music/noise is carried into or disrupts the conversion.
  • Multiple speakers confuse the conversion.
  • Legal review rejects the target voice rights.
Variations:
  • Use
    voice-changer/sse
    when a streaming event shape is useful.
  • Use TTS from a transcript when exact wording, pronunciation dictionary, or clean pickups matter more than preserving the original performance.
制作意图:保留演员的喜剧节奏,同时将声音转换为已获批准的角色声音。
工作流:
  1. 确认拥有源表演和目标声音的使用权利。
  2. 清理源片段:只保留一名说话者,不含背景音乐、重叠语音或削波。
  3. 使用
    POST /voice-changer/bytes
    ,传入目标
    voice[id]
    和生产输出格式。
  4. 将输出与源片段进行比较,检查时间轴和语调保留情况。
  5. 在后期进行混音;不要将音量控制作为最终响度处理流程。
预期结果:目标声音具有与源片段相同的时间轴和语调。
失败模式:
  • 背景音乐或噪声会被带入转换结果或干扰转换。
  • 多名说话者会导致转换混乱。
  • 法律审查未通过目标声音的权利检查。
变体:
  • 当流式事件结构有优势时,使用
    voice-changer/sse
    。
  • 当精确措辞、发音词典或干净补录比保留原始表演更重要时,使用基于文稿的 TTS。

Source anchors verified 2026-07-10

已于 2026-07-10 核查的来源锚点