Fish Audio: S1
Fish Audio S1 transforme des scripts multilingues en audio expressif à un seul locuteur au moyen de références vocales et d’indices émotionnels entre parenthèses. Utilisez-le pour la narration, de courtes instructions parlées ou des phrases de personnages, avec des commandes de format et de prosodie pour l’audio terminé.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
S1 est le modèle de synthèse vocale de génération précédente de Fish Audio pour la narration expressive et la sortie vocale à un seul locuteur. Il lit un script fourni et renvoie de l’audio dans une voix choisie ou conditionnée par une référence. Le modèle S1 complet est distinct de S1-mini, le modèle distillé plus petit ; le producteur les présente comme des variantes de 4 milliards et de 0,5 milliard de paramètres respectivement. Ce profil couvre le modèle nommé S1.
Pour une narration, préparez les mots qui doivent réellement être prononcés et repérez les endroits où l’interprétation doit changer. Un script d’explication utile énonce son idée principale en premier, développe une idée à la fois et utilise la ponctuation pour séparer les phrases nécessitant une pause naturelle. Pour une courte instruction, gardez la formulation claire lorsqu’elle est entendue sans écran. Préservez la lecture visée des noms, des abréviations et des unités et vérifiez les nombres dans la sortie parlée, plutôt que de supposer qu’une chaîne lisible visuellement possède une seule prononciation.
S1 utilise des indices d’émotion et d’interprétation entre parenthèses, tels que (angry), (sad), (in a hurry) ou (chuckling). Placez un indice avant la phrase ou l’expression qu’il doit influencer, avec la parole réelle après lui. L’interprétation concerne le texte qui suit ; un changement d’ambiance doit donc apparaître à l’endroit où l’interprétation doit changer. Cette syntaxe diffère des indications entre crochets de S2 ; gardez le script écrit pour la génération sélectionnée, plutôt que de supposer que les deux formes de balisage sont interchangeables.
Une voix peut être choisie au moyen d’un identifiant vocal enregistré ou conditionnée à partir d’un enregistrement de référence et de sa transcription. Pour un processus instantané de référence, le guide général de parole recommande un échantillon propre de 10 à 30 secondes. Choisissez un échantillon dont le style de parole et la qualité d’enregistrement correspondent au résultat visé et faites correspondre la transcription aux mots de cet échantillon. Pour un narrateur récurrent, réutilisez la même référence vocale entre les passages afin qu’un changement de sujet ne devienne pas involontairement un changement de personnage.
La publication S1 cite notamment l’anglais, le chinois, le japonais, l’allemand, le français, l’espagnol, le coréen, l’arabe, le russe, le néerlandais, l’italien, le polonais et le portugais parmi les langues prises en charge et décrit le mélange de langues au sein d’un script. Fournissez la formulation dans la langue cible, plutôt que de traiter la synthèse vocale comme une étape de traduction. Pour un passage comportant un nom emprunté ou un changement de langue, gardez clairs la graphie et le contexte de la phrase environnante et vérifiez comment la voix choisie gère cette transition.
L’interface du producteur de S1 prend en charge un locuteur par requête de synthèse. Un dialogue peut être préparé en segments distincts avec leurs propres références vocales, puis assemblé par l’application ; la synthèse native à plusieurs locuteurs de la famille S2 est une capacité distincte. Gardez le rôle, la voix et le texte associés à chaque segment lorsque vous préparez des phrases de personnages. Le résultat de synthèse est une interprétation audio du script, tandis que le calage temporel d’un échange ou sa combinaison avec de la musique et de la vidéo relèvent d’une étape ultérieure de montage.
Les options de sortie comprennent MP3, WAV, le PCM brut et Opus, avec MP3 par défaut. La sortie documentée est mono ; WAV et PCM utilisent des échantillons de 16 bits et les choix de fréquence d’échantillonnage diffèrent selon le format. MP3 prend en charge 64, 128 et 192 kbps, tandis qu’Opus utilise 48 kHz. La vitesse peut être ajustée de 0.5 à 2.0 avec des commandes de volume. Choisissez un fichier encodé pour un artefact de voix off ou un flux adapté à la lecture et conservez la voix choisie et le script avec le résultat.
Le producteur traite les textes longs par segments, avec une plage documentée de longueur de segment de 100 à 300 et un budget de tokens audio par segment, plutôt qu’une durée globale garantie d’enregistrement. La normalisation textuelle peut développer les nombres anglais et chinois en une lecture naturelle et la pénalité de répétition de S1 peut réduire les motifs audio répétés. La normalisation de sonie de sortie est un réglage différent qui n’a aucun effet sur S1. Examinez la prononciation, les limites de phrases, les sons répétés et le changement émotionnel visé avant d’assembler le passage terminé, puis révisez la phrase ou la référence précise qui nécessite une attention.
Ailoot Ultra · Synthèse vocale POST /v1/audio/speech fish-audio/s1
fish-audio/s1Pour commencer
Fish Audio S1 transforme des scripts multilingues en audio expressif à un seul locuteur au moyen de références vocales et d’indices émotionnels entre parenthèses. Utilisez-le pour la narration, de courtes instructions parlées ou des phrases de personnages, avec des commandes de format et de prosodie pour l’audio terminé.
- Entrées acceptées
- Texte
- Résultats
- Audio
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Synthèse vocale POST /v1/audio/speech
- Entrée
text- Sortie
audio- Format de sortie
- données audio binaires réelles déclarées
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites fish-audio/s1 | Par défaut— |
Champinput | Typestring | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 | Par défaut— |
Champvoice | Typestring | ExigenceObligatoire | Valeurs et limites Exemples : b347db033a6549378b48d00acb0d06cd | Par défaut— |
Champresponse_format | Typestring | ExigenceFacultatif | Valeurs et limites mp3, pcm | Par défautpcm |
Combinaisons d’éléments d’entrée
text_to_speech · Obligatoire : actual UTF-8 script, exact supported voice
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, input, voice |
Paramètrematerial_types | Contrattext |
Paramètrevoice_ids | Contratb347db033a6549378b48d00acb0d06cd |
Paramètrevoice_list_exhaustive | Contratfalse |
Paramètreresponse_format | Contratmp3, pcm |
Paramètredefault_response_format | Contratpcm |
Paramètrequantity | ContratOctets UTF-8 d’une seule chaîne d’entrée décodée ; sans suppression des caractères d’espacement en début ou en fin ni normalisation |
Paramètrenative_byte_quote_controls | ContratLes instructions non vides et l’entrée de tours de parole de plusieurs locuteurs sont rejetées par ce chemin exact de devis fondé sur les octets tant que le texte facturé ajouté n’est pas déclaré. |
Cycle de vie : synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Utilisez le modèle exact et les champs d’entrée documentés.
Conservez la réponse complète, chaque sortie réelle et les identifiants d’origine retournés.
Tarifs
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs Ailoot
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Unité de facturation | Coût |
|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Unité de facturation— | Coût Entrée · Jetons en entrée — / 1K jetons Sortie · Jetons en sortie — / 1K jetons Entrée · Lecture du cache — / 1K jetons Entrée · Écriture dans le cache — / 1K jetons Entrée · Écriture dans le cache, 1 h — / 1K jetons |
| ConfigurationUltra | Barème tarifaire— | Unité de facturationpar octet utf8 d’audio en entrée | Coût Entrée · octet utf8 d’audio en entrée $0.00003 par octet utf8 d’audio en entrée |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Détails du tarif de référence
Les barèmes de référence du modèle ne modifient ni la sélection de méthode, ni les devis, ni les coûts. Les frais actifs utilisent les tarifs de la méthode Ailoot sélectionnée.
Fish Audio: S1
Prix par configuration
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationFish Audio: S1 · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Octets UTF-8 en entrée 0,00003 USD par octet UTF-8 en entrée |
Exemples de requêtes
Ailoot Ultra · Synthèse vocale
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
request={'model': 'fish-audio/s1', 'input': 'Hello world', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}
Path('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o response.bin
# Keep the complete original response and headers. Read every returned segment, word and usage field.
# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.
Recevoir et enregistrer les résultats
Ailoot Ultra · Synthèse vocale
données audio binaires réelles déclarées
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Conserver tous les résultats terminés
Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.
Enregistrez l’intégralité des octets binaires et tous les en-têtes d’origine; conservez le JSON complet s’il est retourné. Les identifiants réels d’opération et de ressource sont conservés.
Si la réponse d’origine doit être vérifiée
Conservez les valeurs operation_id/X-Client-Request-ID d’origine et la réponse d’origine. Consultez les enregistrements réels de tâche et de ressource appartenant à votre compte sans soumettre de nouveau la demande; aucune URL dédiée d’interrogation audio n’est construite.
Champs de la réponse
| Champ | Type |
|---|---|
Champbinary audio | Typebytes |
Champresponse headers | Typeheaders |
Alias
Alias du modèle
Ailoot Ultra fish-audio/s1
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Fish Audio: S1
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/audio/speech·fish-audio/s1:text→audio- Quels champs la requête utilise-t-elle ?
POST /v1/audio/speech·fish-audio/s1:model,input,voice,response_format