Aller au contenu principal

Gemini 2.5 Pro TTS pour l’audio NSFW : test et réglages efficaces

Gemini 2.5 Pro TTS lit les scripts NSFW sans les modifier et joue les indications et dialogues. Voix, requêtes et coût : $0,00045 par seconde.

Auteur
SpicyAPI Engineering
Publié
Lecture
10 min de lecture
Mis à jour
Une femme se penche vers un microphone de studio dans une cabine d’enregistrement peu éclairée

Vous avez un script pour adultes — message vocal, chapitre de fiction ou scène à deux personnages — et vous souhaitez l’entendre tel qu’il est écrit, avec les respirations et les soupirs, tout en sachant combien cela coûtera. Gemini 2.5 Pro TTS le permet sur SpicyAPI. SpicyAPI n’ajoute aucun filtre de contenu : lors de nos tests de septembre 2026, les scripts pour adultes ont produit un audio complet, sans omissions, atténuations ni coupures prématurées.

Pour commencer dans le Playground :

  1. Choisissez une Voice adaptée à l’ambiance : Enceladus (soufflée), Achernar (douce), Sulafat (chaleureuse), Gacrux (mature) ou la voix par défaut Kore (ferme).
  2. Réglez Style (Whisper convient généralement aux contenus intimes), puis ajoutez une ou deux phrases dans Delivery instructions ou Scene pour préciser la situation.
  3. Placez les sons entre crochets dans Text, par exemple [sighs] ou [laughs]. Dans nos exemples, ces indications ont été jouées comme des sons ; si l’une est lue, déplacez sa consigne dans Delivery instructions.
  4. Pour deux personnages, utilisez Dialogue et Speakers plutôt que Text.

Essayer Gemini 2.5 Pro TTS →

Essayez d’abord dans le Playground

Ouvrez Gemini 2.5 Pro TTS, puis l’onglet Playground en vue Form :

  1. Collez votre script dans Text (jusqu’à 5 000 caractères). Les raccourcis Cues insèrent [whispers], [sighs], [laughs], [gasps] et [pause].
  2. Choisissez une Voice (par exemple Enceladus · Breathy), puis réglez Style sur Whisper et Pace sur Unhurried pour une lecture lente qui laisse durer les mots.
  3. Écrivez une ou deux phrases dans Delivery instructions et Scene. Aucun de ces champs n’est prononcé.
  4. Vérifiez l’estimation fondée sur la longueur sous Text, appuyez sur Run model, puis écoutez le résultat dans Output. Téléchargez le WAV depuis ce panneau.

Testez ici votre passage le plus difficile avant d’écrire du code : une indication lue au lieu d’être jouée dans le Playground sera aussi lue via l’API. Les réglages suivants expliquent chaque commande.

Les réglages qui changent le résultat

voice_id accepte l’une des 30 voix prédéfinies. La valeur par défaut est Kore.

AmbianceVoix à écouter
Soufflée, procheEnceladus
Douce, délicateAchernar, Vindemiatrix
ChaleureuseSulafat
Mature, rauqueGacrux, Algenib
FermeKore, Orus
Enjouée, légèrePuck, Aoede

Quatre champs facultatifs façonnent ensuite l’interprétation. Aucun n’est lu à voix haute.

  • style définit la manière générale : whisper, empathetic, vocal_smile, newscaster, promo_hype ou deadpan.
  • pace définit le rythme : natural, rapid_fire (rapide, saccadé), the_drift (lent, étiré) ou staccato (phrases courtes et séparées). Un débit plus lent produit davantage de secondes d’audio, qui constituent l’unité de facturation.
  • instructions (jusqu’à 1 000 caractères) contient des consignes libres sur l’ambiance, la distance au microphone et la personne à qui l’on s’adresse. Une ou deux phrases fonctionnent mieux qu’une liste d’adjectifs : "close to the microphone, unhurried, as if speaking only to the listener".
  • scene (jusqu’à 500 caractères) précise le lieu et le destinataire des paroles, par exemple "a quiet hotel room after midnight".

accent (huit accents anglais, uniquement pour les scripts anglais) et temperature (variation entre les prises) sont facultatifs ; laissez-les non définis tant que vous ne souhaitez pas de variation. Il n’existe aucun champ de langue : le modèle détecte celle du script, et chaque voix conserve son caractère.

Écrivez le script pour qu’il soit interprété

Dans text, de courtes indications entre crochets signalent où produire un son ou changer de manière de parler. [sighs] et [laughs] ont été joués dans nos exemples. Utilisez style: "whisper" ou instructions pour diriger un passage plus long ; si une balise est lue comme un mot, utilisez plutôt ces champs. Les points de suspension suggèrent des pauses.

Deux habitudes sont utiles :

  • Écrivez pour l’oreille. Écrivez en toutes lettres ce qui doit être dit, utilisez des points de suspension et des virgules pour les pauses, et faites des phrases courtes.
  • Placez les consignes dans les champs, pas dans le texte. Si vous écrivez "she whispers breathlessly" dans text, ces mots seront lus. Placez cette consigne dans style ou instructions.

Appelez ensuite le modèle depuis le code

Ce bloc crée la tâche, attend sa fin et affiche le lien WAV (pip install spicyapi, avec SPICY_API_KEY défini) :

python
import uuid

from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

task = client.create_task(
    model="google/gemini-2.5-pro-tts/text-to-speech",
    input_data={
        "text": "Hey... it is me. [sighs] I know it is late. Stay on the line a little longer?",
        "voice_id": "Enceladus",
        "style": "whisper",
        "pace": "the_drift",
        "scene": "A quiet bedroom after midnight, speaking to one listener",
        "instructions": "Close to the microphone, unhurried, a little tired.",
    },
    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']}")

print(output_assets(final)[0]["url"])  # a 24 kHz, 16-bit mono WAV; copy it to your own storage

L’audio est conservé pendant 14 jours ; aucun minutage des mots ni sous-titre n’est fourni. L’attente, les nouvelles tentatives, l’expiration des liens de résultat et la gestion des erreurs sont décrites dans la référence du SDK Python, la documentation des tâches et la politique de conservation.

Ou laissez un Agent s’en charger

Si un assistant doit générer les messages vocaux, donnez-lui la CLI ou le serveur MCP : tous deux affichent le prix et demandent votre confirmation avant un appel payant. Le Skill ajoute des instructions à l’un ou l’autre.

  • CLI. spicyapi (npx @spicyapi/cli fonctionne sans installation) ; input.json contient l’objet input du bloc ci-dessus :

``bash spicyapi tasks create --model google/gemini-2.5-pro-tts/text-to-speech \ --input-file input.json --wait ``

  • Serveur MCP. Ajoutez le serveur MCP, puis demandez : "Read this script in a whispered Enceladus voice with Gemini 2.5 Pro TTS." Il appelle spicyapi_task_create (qui attend votre confirmation du prix), puis spicyapi_task_wait.
  • Skill. npx skills add spicyapi-ai/spicy-skill installe l’Agent Skill, qui apprend à un assistant de programmation à lire le schéma actuel et à réutiliser les clés d’idempotence. Il ne peut pas exécuter de tâches seul : utilisez-le avec la CLI ou MCP.

Deux personnages dans un seul clip

Pour une scène entre deux personnages, envoyez dialogue plutôt que text (jamais les deux), ainsi que speakers pour définir les voix. Chaque locuteur possède un name auquel les répliques font référence et un voice_id. Il peut aussi définir ses propres accent, style et pace, ainsi qu’un court profile décrivant qui parle (non lu). Les valeurs omises par un locuteur reprennent celles du niveau supérieur. Chaque réplique prend la forme {speaker, text} et est jouée dans l’ordre, avec jusqu’à 20 répliques de 250 caractères chacune et au maximum deux locuteurs. Reprenez l’appel ci-dessus en remplaçant l’objet input par celui-ci.

json
{
  "speakers": [
    { "name": "Mara", "voice_id": "Sulafat", "style": "whisper", "profile": "Warm, close, unhurried" },
    { "name": "Jonah", "voice_id": "Charon", "profile": "Low, amused" }
  ],
  "dialogue": [
    { "speaker": "Mara", "text": "Stay a little longer." },
    { "speaker": "Jonah", "text": "[laughs] You say that every time." },
    { "speaker": "Mara", "text": "And every time you do." }
  ],
  "scene": "A quiet apartment after midnight"
}

La conversation revient sous la forme d’un seul WAV mixé. Pour modifier séparément les répliques d’un personnage par la suite, générez chaque personnage dans une tâche à voix unique distincte, puis assemblez les fichiers dans votre éditeur. Pour des scènes plus longues, plus de deux voix ou une voix clonée à partir d’un extrait de référence, consultez le comparatif TTS et le guide des références vocales Chatterbox.

Combien cela coûte

La facturation porte sur les secondes d’audio réellement renvoyées, mesurées dans le fichier, à $0,00045 par seconde. La durée dépend de la voix, du style et du rythme : un paragraphe de 270 caractères dure entre 23 et 29 secondes. Le coût approximatif correspond donc au nombre de caractères divisé par 10, puis multiplié par $0,00045.

Durée du clipCoûtQuantité de texte approximative
15 secondes$0,0068150 caractères
30 secondes$0,0135300 caractères
60 secondes$0,027600 caractères
5 minutes$0,1353 000 caractères
7 à 9 minutes$0,19 à $0,245 000 caractères, la limite de text

Pendant l’exécution d’une tâche, environ $0,30 sont réservés sur votre solde (660 secondes au tarif par seconde, ce qui couvre le clip le plus long que le modèle peut produire, environ 655 secondes). La partie inutilisée est libérée une fois l’audio mesuré. Une requête échouée n’est pas facturée. Gardez au moins cette somme disponible avant de lancer un lot : les réservations des tâches précédentes peuvent empêcher la suivante de démarrer.

Les difficultés courantes

  • Une indication est lue comme un mot. Reformulez-la, ou déplacez la consigne dans style ou instructions en ne gardant que le son entre crochets.
  • Une consigne semble ignorée. accent ne concerne que les scripts anglais ; style et pace définis au niveau supérieur s’appliquent à chaque locuteur qui ne définit pas ses propres valeurs.
  • Vous avez envoyé à la fois text et dialogue. Choisissez l’un des deux ; dialogue nécessite aussi speakers.

Quand préférer une voix Gemini plus récente

Gemini 3.8 Flash TTS ($0,00032 par seconde) et Gemini 3.8 Flash-Lite TTS ($0,00021 par seconde) acceptent les mêmes champs, dont dialogue, à un prix inférieur. Flash-Lite a tendance à lire certaines indications entre crochets ; choisissez Pro lorsque les respirations et les soupirs comptent. Flash joue généralement aussi les indications entre crochets : testez d’abord un court passage. Le guide de narration Gemini 3.8 détaille ces deux modèles.

Questions fréquentes

Gemini 2.5 Pro TTS est-il sans censure ?

Les scripts pour adultes que nous avons testés ont été renvoyés intégralement, sans mots omis ni atténués. SpicyAPI n’ajoute aucun filtre de contenu supplémentaire. Vous restez responsable de vos scripts et de l’usage de l’audio, notamment de ne pas le présenter comme les paroles d’une personne réelle. Utilisez des personnages fictifs et adultes.

Les indications comme [sighs] ou [laughs] sont-elles lues à voix haute ?

Dans les exemples testés, [sighs] et [laughs] ont été joués comme des sons. Si une autre indication est lue, placez-la dans instructions ou utilisez style. Les autres modèles se comportent différemment, comme l’explique le comparatif TTS ci-dessus.

Quelle différence entre instructions, scene et style ?

style propose une liste fixe de manières de parler. instructions donne des consignes libres sur l’interprétation, et scene précise où et à qui les paroles sont adressées. Commencez par style, puis ajoutez instructions ou scene pour préciser la situation.

Combien coûte une minute d’audio ?

Environ $0,027, facturés selon les secondes renvoyées plutôt que la longueur du script.

Puis-je cloner une voix ?

Pas sur cet endpoint. Choisissez parmi les 30 voix prédéfinies ou utilisez un modèle acceptant un extrait de référence.

Commencez dans le Playground (créez d’abord un compte) : Enceladus, Whisper et un court script contenant une indication [sighs] permettent de voir comment les consignes sont interprétées.

Aussi en English · 日本語 · 한국어 · Deutsch · Español · Português (Brasil) · Русский · Italiano · Polski

Essayez par vous-même

Vous ne payez que ce que vous lancez : ni forfait, ni abonnement.

Créé avec MiniMax H3 · ByteDance Seedance 2.0 Fast