curl --request POST \
--url https://api.evolink.ai/v1/audios/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "qwen-audio-3.1-tts-flash",
"prompt": "我家的后面有一个很大的花园。"
}
'{
"created": 1790000000,
"id": "task-unified-1790000000-abcd1234",
"model": "qwen-audio-3.1-tts-flash",
"object": "audio.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 3,
"audio_type": "tts"
},
"type": "audio",
"usage": {
"credits_reserved": 0.0144
}
}Qwen Audio 3.1 TTS Flash – Sprachsynthese
- Text in Sprache umwandeln, höchstens
5000Zeichen pro Anfrage - 68 Systemstimmen; siehe Stimmenliste. Auch eigene, mit Voice Enrollment geklonte oder entworfene Stimmen sind verwendbar
- Benutzerdefinierte Stimmen laufen standardmäßig
6 Stundennach Abschluss der Erstellung ab. Danach gibt die Synthese404(voice_expired) zurück; mit Voice Enrollment eine neue Stimme erstellen - Unterstützt natürlichsprachliche Anweisungen (
instruction), Emotions- und paralinguistische Tags im Text, SSML und benutzerdefinierte Aussprache (hot_fix) - Nur die unten aufgeführten Parameter werden akzeptiert; andere ergeben
400(unsupported_parameter) - Asynchrone Verarbeitung; mit der zurückgegebenen Aufgaben-ID das Ergebnis abfragen
- Nach dem Einreichen ist kein Abbruch möglich
- Erzeugte Audiolinks sind 24 Stunden gültig; zeitnah speichern
Abrechnung:
- Nach tatsächlichem Token-Verbrauch: Eingabe-Tokens (abhängig von der Textlänge) und Ausgabe-Tokens (abhängig von der Audiodauer) werden separat berechnet
- Beim Einreichen werden anhand der Textlänge Credits reserviert (
usage.credits_reserved). Nach Abschluss wird der tatsächliche Verbrauch abgerechnet, mit Erstattung des Überschusses oder Nachberechnung des Fehlbetrags. Bei Fehlschlag vollständige Erstattung - Zahlen, Buchstaben und Symbole können einzeln vorgelesen werden. Dadurch entstehen längere Audios und mehr Ausgabe-Tokens als bei gleich langer Prosa; der tatsächliche Verbrauch kann die Reservierung übersteigen
- Anweisungen oder Tags für langsames Sprechen, etwa
[very slowly], können bei gleichem Text deutlich mehr Ausgabe-Tokens erzeugen.speech_rateund SSML-Pausen erhöhen die Anzahl der Ausgabe-Tokens nicht
Aufgabenergebnis (bei status: completed):
| Feld | Beschreibung |
|---|---|
results[0] | Audio-URL |
result_data[0].audio_url | Audio-URL, identisch mit results[0] |
result_data[0].format | Audioformat |
result_data[0].sample_rate | Abtastrate (Hz) |
usage.input_tokens / usage.output_tokens / usage.total_tokens | Token-Verbrauch dieser Synthese |
usage.credits_used | Tatsächlich verbrauchte Credits |
curl --request POST \
--url https://api.evolink.ai/v1/audios/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "qwen-audio-3.1-tts-flash",
"prompt": "我家的后面有一个很大的花园。"
}
'{
"created": 1790000000,
"id": "task-unified-1790000000-abcd1234",
"model": "qwen-audio-3.1-tts-flash",
"object": "audio.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 3,
"audio_type": "tts"
},
"type": "audio",
"usage": {
"credits_reserved": 0.0144
}
}Autorisierungen
Alle Endpunkte erfordern Bearer-Token-Authentifizierung
API-Key erhalten:
Den API-Key auf der Seite API-Key-Verwaltung abrufen
Diesen Anfrageheader hinzufügen:
Authorization: Bearer YOUR_API_KEY
Body
- Option 1
- Option 2
Mindestens eines der Textfelder prompt oder input muss nicht leer sein. Sind beide angegeben, müssen ihre Inhalte übereinstimmen. Sind response_format und format beide angegeben, müssen auch ihre Werte übereinstimmen.
Zu synthetisierender Text
Vorgaben:
- Höchstens
5000Zeichen - Bei langen Texten Satzzeichen beibehalten: lange Passagen ohne Satzgrenzen können upstream auf etwa
1500Ausgabe-Tokens (etwa 120 Sekunden Audio) gekürzt werden. Die Aufgabe gilt dennoch als erfolgreich und wird nach den tatsächlich erzeugten Tokens berechnet; das Gateway kann diese Kürzung nicht erkennen - Alternativ
inputverwenden. Mindestens ein nicht leeres Textfeld ist erforderlich; möglichst nur eines übergeben. Abweichende Inhalte ergeben400(parameter_conflict) - Der Text muss in einer von der Stimme unterstützten Sprache sein, sonst sind Aussprachefehler möglich
Emotions- und paralinguistische Tags: Direkt in den Text einfügen, ohne zusätzliche Parameter; der Tag-Text zählt als Abrechnungszeichen
- Steuerungstags: Legen die Emotion oder den Stil des folgenden Textes bis zum nächsten Steuerungstag fest.
[sad]traurig,[amazed]erstaunt,[deep and loud shouting]tiefes, lautes Schreien,[trembling]zitternd,[angry]wütend,[excited]aufgeregt,[sarcastic]sarkastisch,[curious]neugierig,[like dracula]tief und unheimlich,[bored]gelangweilt,[tired]müde,[scornful]verächtlich,[shouting]schreiend,[asmr]sanftes ASMR-Flüstern,[panicked]panisch,[mischievously]schelmisch,[empathetic]einfühlsam,[whispers]flüsternd,[reluctantly]widerwillig,[crying]weinend,[serious]ernst,[very slowly]sehr langsam,[very fast]sehr schnell - Paralinguistische Tags: Fügen an dieser Stelle einen Stimmeffekt ein, ohne die Emotion des umgebenden Textes zu ändern.
[gasp]nach Luft schnappen,[sighing]seufzen,[clears throat]räuspern,[giggles]kichern,[laughing]lachen,[cough]husten,[snorts]schnauben
Beispiel: [excited]今天的天气真不错![laughing]我们一起出去玩吧!
Bei enable_ssml: true wird dieses Feld als SSML verarbeitet
5000\S"我家的后面有一个很大的花园。"
Modellname
qwen-audio-3.1-tts-flash "qwen-audio-3.1-tts-flash"
Alias für prompt mit denselben Längen- und Nutzungsregeln
- Mindestens
promptoderinputals nicht leeren Text angeben - Bei Angabe beider Felder müssen die Inhalte übereinstimmen, sonst
400(parameter_conflict)
5000"我家的后面有一个很大的花园。"
Stimmenname, Groß-/Kleinschreibung beachten
- 68 Systemstimmen; Namen, Geschlecht und Einsatzgebiete siehe Stimmenliste
- Ohne Angabe wird
longanhuan_v3.1verwendet - Eigene Stimmen aus Voice Enrollment sind ebenfalls möglich: geklont
qwen-audio-3.1-tts-flash-{prefix}-{32-character-id}, entworfenqwen-audio-3.1-tts-flash-vd-{prefix}-{32-character-id}. Nur das erstellende Konto kann sie verwenden. Stimmen anderer Modelle, etwaqwen-tts-vd-…vonqwen-voice-design, ergeben400(invalid_voice). Nicht vorhandene oder fremde Stimmen ergeben404(voice_not_found) - Benutzerdefinierte Stimmen laufen standardmäßig
6 Stundennach Abschluss der Erstellung ab. Danach gibt die Synthese404(voice_expired) zurück; mit Voice Enrollment eine neue Stimme erstellen
"longanhuan_v3.1"
Audioausgabeformat: mp3, wav oder opus, Standard mp3
opusverwendet einen Ogg-Opus-Container- Alternativ
formatverwenden. Möglichst nur ein Feld übergeben; unterschiedliche Werte ergeben400(parameter_conflict)
mp3, wav, opus "mp3"
Alias für response_format; unterstützt mp3, wav und opus
- Ohne beide Felder wird
mp3verwendet - Bei Angabe beider Felder müssen die Werte übereinstimmen, sonst
400(parameter_conflict)
mp3, wav, opus "mp3"
Ausgabe-Abtastrate (Hz)
- Bei
response_format: opuswerden22050und44100nicht unterstützt - Ohne Angabe oder bei
nullgilt der Standardwert;0oder Werte außerhalb der Liste ergeben400
8000, 12000, 16000, 22050, 24000, 44100, 48000, null 24000
Lautstärke von 0 bis 100
0 <= x <= 10050
Sprechgeschwindigkeitsfaktor
1.0: normale Geschwindigkeit (Standard)2.0: doppelte Geschwindigkeit;0.5: halbe Geschwindigkeit
Bereich 0.5 bis 2.0. Eine Änderung beeinflusst die Anzahl der Ausgabe-Tokens nicht
0.5 <= x <= 21
Tonhöhenfaktor
1.0: Standardtonhöhe- Über
1.0höher, unter1.0tiefer
Bereich 0.5 bis 2.0
Eine Tonhöhenänderung verändert auch Sprechgeschwindigkeit und Audiodauer
- Höhere Tonhöhe beschleunigt und verkürzt, tiefere verlangsamt und verlängert. Die Dauer verändert sich ungefähr umgekehrt proportional zum Quadrat des Tonhöhenwerts
- Bei einem Satz von etwa 2.8 Sekunden bei
1.0:0.8etwa 4.3 Sekunden,1.2etwa 2.1 Sekunden,0.5etwa 10.9 Sekunden,2.0etwa 0.7 Sekunden - Kleine Änderungen zwischen
0.8und1.2empfohlen; nahe0.5oder2.0ist die Sprache deutlich zu langsam oder zu schnell - Ist gleichzeitig
speech_rateungleich1.0gesetzt, bleibtpitchwirkungslos; beide lassen sich nicht kombinieren - Die Tonhöhe verändert die Anzahl der Ausgabe-Tokens nicht
0.5 <= x <= 21
Natürlichsprachliche Anweisungen für Emotion, Tonfall, Rolle, Dialekt und Ausdruck
Vorgaben:
- Höchstens
100Abrechnungszeichen: Han-Zeichen (einschließlich japanischer Kanji und koreanischer Hanja) zählen als 2; alle anderen Zeichen, einschließlich Kana und Hangul, als 1 (etwa 50 Han-Zeichen oder 100 englische Zeichen). Überschreitung ergibt400
Beispiele:
用欢快、热情的语气说(fröhlich und begeistert sprechen)请用上海话表达(Shanghaier Dialekt; mehrsprachige und Dialektstimmen)Speak slowly in a calm and gentle tone
Anweisungen zählen nicht als Eingabe-Tokens, können aber die Audiodauer und damit die Ausgabe-Tokens beeinflussen
Der Parameter heißt
instruction(Singular);instructionsergibt400
"用欢快、热情的语气说"
Hinweis zur Zielsprache für bessere Aussprache von Zahlen, Abkürzungen und Symbolen sowie bessere Synthese weniger verbreiteter Sprachen
Bei zh wird beispielsweise 110 in hello, this is 110 chinesisch als „yao yao ling“ gelesen
| Wert | Sprache | Wert | Sprache |
|---|---|---|---|
zh | Chinesisch | th | Thailändisch |
en | Englisch | id | Indonesisch |
fr | Französisch | vi | Vietnamesisch |
de | Deutsch | es | Spanisch |
ja | Japanisch | it | Italienisch |
ko | Koreanisch | ms | Malaiisch |
ru | Russisch | fil | Filipino |
pt | Portugiesisch | ar | Arabisch |
Ohne Angabe erkennt das Modell die Sprache automatisch; dieser Parameter übersetzt den Text nicht
zh, en, fr, de, ja, ko, ru, pt, th, id, vi, es, it, ms, fil, ar "zh"
prompt als SSML verarbeiten
Wenn aktiviert, sind SSML-Tags möglich, etwa <break time="1s"/> für eine Pause:
<speak>欢迎收听今天的节目。<break time="1s"/>我们马上开始。</speak>
SSML-Pausen zählen nicht als Ausgabe-Tokens
false
Benutzerdefinierte Aussprache und Textersetzung zur Korrektur mehrdeutiger Zeichen, Eigennamen und anderer Aussprachen
pronunciation: Wörter mit Pinyin versehen; Silben durch Leerzeichen trennen, Töne als Ziffern angeben, etwatian1 qi4replace: Wörter vor der Synthese ersetzen. Synthese und Abrechnung erfolgen anhand des ersetzten Texts; auch dieser darf höchstens5000Zeichen haben, sonst400(prompt_too_long)
Beide Listen zusammen dürfen höchstens 200 Einträge enthalten, gezählt als Schlüssel-Wert-Paare in den Objekten. Überschreitung ergibt 400 (invalid_parameter)
Mindestens eine Liste angeben. Jede angegebene Liste muss ein nicht leeres Array von Objekten der Form {"Wort": "Wert"} sein
Beispiel:
{
"pronunciation": [{"天气": "tian1 qi4"}],
"replace": [{"今天": "金天"}]
}
Show child attributes
Show child attributes
Unsichtbare AIGC-Kennzeichnung in das erzeugte Audio einbetten (für wav / mp3 / opus)
false
HTTPS-Callback-URL für das Aufgabenergebnis
Zeitpunkt:
- Bei Abschluss (
completed) oder Fehlschlag (failed); dieses Modell unterstützt keinen Abbruch - Versand nach Bestätigung der Abrechnung
Sicherheitsvorgaben:
- Nur HTTPS
- Keine privaten IP-Adressen (127.0.0.1, 10.x.x.x, 172.16–31.x.x, 192.168.x.x usw.)
- URL mit höchstens
2048Zeichen
Zustellung:
- Timeout:
10Sekunden - Bei Fehlschlag höchstens
3Wiederholungen nach1/2/4Sekunden - Callback-Inhalt im gleichen Format wie die Aufgabenabfrage
- 2xx gilt als Erfolg; andere Statuscodes lösen Wiederholungen aus
"https://your-domain.com/webhooks/tts-completed"
Antwort
Aufgabe zur Sprachsynthese erfolgreich erstellt
Zeitstempel der Aufgabenerstellung
1790000000
Aufgaben-ID
"task-unified-1790000000-abcd1234"
Tatsächlich verwendetes Modell
"qwen-audio-3.1-tts-flash"
Konkreter Typ des Aufgabenobjekts
audio.generation.task Aufgabenfortschritt in Prozent (0–100)
0 <= x <= 1000
Aufgabenstatus
pending, processing, completed, failed "pending"
Details der Audioaufgabe
Show child attributes
Show child attributes
Ausgabetyp der Aufgabe
audio "audio"
Verbrauchs- und Abrechnungsinformationen
Show child attributes
Show child attributes