Eine Sprachnachricht einer fiktiven Figur funktioniert, wenn die Stimme zum Menschen passt und die Sprechweise zum Moment. Qwen3 TTS verwandelt das Skript einer erwachsenen Figur in eine einzelne MP3 mit nur einer Stimme, und du steuerst die Sprechweise mit einer Notiz in normaler Sprache. Die SpicyAPI-Aufgabe hat neun Preset-Stimmen und kostet $0.068 pro 1.000 Textzeichen, mit einem Minimum von 100 Zeichen pro Anfrage. Auf Basis unserer Tests vom September 2026 wurde explizites Erwachsenen-Vokabular in direkten Passagen und im Hörbuchstil wörtlich vorgelesen. Nutze sie für aufgezeichnete Sprachnachrichten und Narration; dieser Weg bietet weder Stimmenklonen noch Live-Streaming.
Was die gehostete Aufgabe umfasst
| Detail | Qwen3-TTS-Aufgabe |
|---|---|
| Erforderliche Eingabe | text, 1–2.000 Zeichen |
| Sprechregie | instructions, bis zu 1.000 Zeichen; wird nicht vorgelesen, nicht berechnet |
| Standardstimme | Serena |
| Ausgabe | eine 24-kHz-Mono-MP3 |
| Preis | $0.068 pro 1.000 Textzeichen, Minimum 100 Zeichen ($0.0068) |
| Hochgeladene Stimmreferenz | nicht verfügbar |
| Mehrere Sprecher in einer Anfrage | nicht verfügbar; jede Runde einzeln erzeugen |
| Numerische Geschwindigkeit oder Tonhöhe | nicht verfügbar; Sprechweise in instructions beschreiben |
Wähle das Preset und erzeuge auf der Qwen3-TTS-Aufgabenseite. Das Repository des Qwen-Teams deckt außerdem CustomVoice, Base (Klonen) und VoiceDesign ab. Das sind eigenständige Angebote: Ein ref_audio- oder speaker-Argument aus einer Bibliothek ist hier keine Eingabe, denn das Stimmfeld heißt voice_id.
Wähle die passende Stimme für dein Skript
| Preset | Veröffentlichte Stimmbeschreibung | Muttersprache |
|---|---|---|
| Serena | warme, sanfte Frauenstimme | Chinesisch |
| Vivian | helle, leicht raue Frauenstimme | Chinesisch |
| Uncle_Fu | tiefe, weiche Männerstimme | Chinesisch |
| Dylan | deutliche Männerstimme aus Peking | Chinesisch, Pekinger Dialekt |
| Eric | lebendige, leicht heisere Männerstimme | Chinesisch, Sichuan-Dialekt |
| Ryan | rhythmische Männerstimme | Englisch |
| Aiden | deutliche amerikanische Männerstimme | Englisch |
| Ono_Anna | leichte, verspielte Frauenstimme | Japanisch |
| Sohee | warme, ausdrucksstarke Frauenstimme | Koreanisch |
Jedes Preset kann jede unterstützte Sprache lesen, aber das Qwen-Team empfiehlt für beste Qualität die Muttersprache der Stimme. Für eine englische männliche Figur beginne mit Ryan oder Aiden. Für eine englische weibliche Figur probiere Serena oder Vivian; die Sammlung enthält keine englischsprachige Frauenstimme, also höre sie dir an, bevor du dich festlegst.
Höre eine Sprachnachricht mit Serena: eine nächtliche „ruf mich zurück“-Notiz, gelesen mit atemloser, neckischer Regie.
Probiere es zuerst im Playground
Öffne die Qwen3-TTS-Aufgabenseite und nutze den Tab Playground:
- Kopiere in Text nur die Wörter, die vorgelesen werden sollen (das Beispielskript der Seite ist ein guter erster Test).
- Wähle in Voice einen Namen (standardmäßig Serena).
- Schreibe die Regienotiz in Delivery instructions.
- Lass Language auf Auto-detect, oder wähle Englisch für ein englisches Skript, wenn die Erkennung mehrdeutig ist.
- Starte den Lauf, spiele das Ergebnis in Output ab und lade die MP3 herunter.
Eine fiktive erwachsene Person nach einem Date: Text „I had a good time tonight. More than I expected, actually. Call me tomorrow? I'd like to see you again.“, Voice Serena, Delivery instructions „Warm und etwas schüchtern, leise zu einer erwachsenen Person sprechen. Die letzte Frage im Gesprächston lassen.“ Beginne den Text nicht mit Serena: und auch nicht mit „Read this in a soft voice“; beides würde mit vorgelesen. Probiere hier zwei oder drei Stimmen und Notizen aus, bevor du Code schreibst; der Preis steht vor dem Lauf.
language akzeptiert auto, zh, en, de, fr, es, it, pt, ru, ja und ko. Es legt fest, wie dein Text gelesen wird; es übersetzt nicht.
Rufe es dann aus dem Code auf
Installiere das Python-SDK (pip install spicyapi), setze SPICY_API_KEY in der Umgebung und führe aus:
import urllib.request
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
task = client.create_task(
model="alibaba/qwen-3-tts/text-to-speech",
input_data={
"text": "I had a good time tonight. More than I expected, actually. Call me tomorrow? I'd like to see you again.",
"voice_id": "Serena",
"language": "en",
"instructions": "Warm and slightly shy, speaking quietly to one adult listener. Keep the final question conversational.",
},
idempotency_key=str(uuid.uuid4()), # new key per new request; reuse only to retry the same one
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")
urllib.request.urlretrieve(output_assets(final)[0]["url"], "voice-message.mp3")Warten, Wiederholungen, Angebote und Fehler stehen in der Python-SDK-Referenz und im Leitfaden zu asynchronen Aufgaben.
Oder lass einen Agenten laufen
Wenn ein Assistent deine Zeilen sprechen soll, gib ihm die CLI oder den MCP-Server. Beide zeigen den Preis und fragen vor einem kostenpflichtigen Aufruf nach deiner Bestätigung. Der Skill ergänzt Anweisungen für beides.
- CLI.
spicyapiführt eine Aufgabe im Terminal aus (npx @spicyapi/clifunktioniert ohne Installation). Lege dasselbeinput-Objekt ininput.json:
``bash spicyapi tasks create --model alibaba/qwen-3-tts/text-to-speech \ --input-file input.json --idempotency-key voice-message-take-1 --wait ``
- MCP-Server. Füge deinem Assistenten den MCP-Server hinzu und frage: „Lies diese Zeile mit Qwen3 TTS, Serena, warm und etwas schüchtern.“ Er ruft
spicyapi_task_createauf (das für deine Preisfreigabe anhält) und dannspicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillinstalliert den Agent Skill, der einem Coding-Assistenten beibringt, das aktuelle Schema zu lesen und Idempotenzschlüssel wiederzuverwenden. Er kann keine Aufgaben selbst ausführen, also nutze ihn mit CLI oder MCP.
Lenke dieselbe Zeile auf drei Arten
Halte Text und Stimme fest und ändere nur die Notiz. Für „I thought you'd forgotten“:
| Gewünschtes Gefühl | Anweisung zum Ausprobieren |
|---|---|
| Erleichtert | „Sanftes Ausatmen aus Erleichterung, lächelnd, das letzte Wort etwas leiser“ |
| Verletzt | „Leise und zurückhaltend, langsamer, kein Lächeln“ |
| Neckisch | „Leicht und verspielt, am Ende leicht angehoben, als würde ein Grinsen versteckt“ |
Ändere jeweils nur eine Sache. „Nimm das Flüstern heraus“ oder „nach dem ersten Satz langsamer“ korrigiert einen Take; „emotionaler, menschlicher“ nicht. Ist das Ergebnis zu theatralisch, kürze die Notiz auf „Natürliche, gesprächige Sprechweise.“
Kann es ein NSFW-Skript lesen?
Die Tests umfassten eine direkte Erwachsenenpassage, eine im Hörbuchrahmen und eine mit vielen Regieanweisungen, mit Serena oder Ryan und mit Sprechregie. Die direkten und die Hörbuch-Transkripte stimmten Wort für Wort mit dem Skript überein, einschließlich des Erwachsenen-Vokabulars, und der Anweisungstext wurde nie vorgelesen.
Die Passage mit vielen Regieanweisungen behielt ihr Erwachsenen-Vokabular, wich aber wegen der stimmlichen Laute ohne Worte stärker vom Skript ab. Behandle Atemzüge und Lachen als etwas zum Ausprobieren, nicht zum Steuern: Wenn eine Szene davon abhängt, erzeuge zuerst diesen Moment, und nimm nicht an, dass die Klammer- oder Parenthesensyntax eines anderen Modells hier funktioniert.
Baue eine Szene mit zwei Figuren
Eine Anfrage ergibt eine Stimme. Für zwei fiktive Erwachsene erzeuge jede Runde separat:
| Runde | Stimme | Text | Regie |
|---|---|---|---|
| 1 | Serena | „Did you really think I'd leave without saying goodnight?“ | warme, entspannte Frage |
| 2 | Ryan | „No. I was hoping you would come find me.“ | leise, amüsierte Antwort |
ComfyUI-Tutorials mit mehreren Sprechern parsen Sprechernamen, Pausen und Überlappungen in einem zusätzlichen Knoten; diese Tags sind hier keine Eingabefelder. Entferne Namen aus dem gesprochenen Text, sende jede Runde mit eigenem voice_id und setze dann die Pausen in deinem Editor. Beginne mit einer kurzen Pause und verschiebe den zweiten Clip, bis die Antwort natürlich klingt. Beide Namen in ein einziges text-Feld zu schreiben ergibt ein Preset, das die Bezeichnungen und beide Zeilen vorliest. Um die ganze Szene zu skripten und die Clips automatisch zu verbinden, sieh dir den Seed Speech 2.0 Dialog-Workflow an; das Verbindungsskript funktioniert mit jeder Stimme.
Für eine lange Geschichte mit nur einer Stimme teile vor 2.000 Zeichen an Satz- oder Absatzgrenzen und verwende für jeden Abschnitt dieselbe Stimme und Notiz. Um eine Formulierung zu ersetzen, generiere den ganzen umgebenden Satz neu und schneide an den benachbarten Pausen, damit Lautstärke und Tempo weiter zueinander passen.
Das Mindestentgelt zählt bei kurzen Antworten
Die Kosten sind max(text characters, 100) × $0.068 / 1,000, Leerzeichen und Satzzeichen mitgezählt. Anweisungen sind kostenlos.
| Eingabelänge | Berechenbare Zeichen | Kosten |
|---|---|---|
| 40 Zeichen | 100 | $0.0068 |
| 80 Zeichen | 100 | $0.0068 |
| 180 Zeichen | 180 | $0.01224 |
| 1.000 Zeichen | 1.000 | $0.068 |
| 2.000 Zeichen | 2.000 | $0.136 |
Zehn getrennte Antworten mit je 40 Zeichen kosten $0.068, obwohl ihre Texte zusammen nur 400 Zeichen ergeben; eine Anfrage mit 400 Zeichen in derselben Stimme kostet $0.0272. Führe zusammenhängende Narration einer Stimme zusammen, wenn dein Schnitt es erlaubt, aber führe keine verschiedenen Figuren zusammen, um das Minimum zu umgehen.
Behebe ein enttäuschendes Ergebnis
| Problem | Änderung |
|---|---|
| Eine Zeile ist gehetzt | Füge „Ohne Eile, mit einer natürlichen Pause nach dem ersten Satz“ zu instructions hinzu |
| Ein Name wird falsch ausgesprochen | Schreibe ihn phonetisch in text; behalte die korrekte Schreibweise in deinem öffentlichen Transkript |
| Die Notiz ändert die Klangfarbe kaum | Probiere ein anderes Preset; Regienotizen ändern den grundlegenden Charakter einer Stimme nicht |
Die Anfrage lehnt speed, pitch oder ref_audio ab | Entferne sie und nutze die vier Felder oben |
Wenn du Stimmenklonen per Upload oder Live-Gespräche brauchst, wähle eine Aufgabe, die das anbietet; um andere Sprachmodelle für Erwachsenen-Skripte zu vergleichen, sieh dir unseren Vergleich der Text-to-Speech-APIs an.






