
Une voix qui tient la distance
Chaque voix porte une graine fixe. Vos cent répliques sonnent comme une seule séance d'enregistrement.
Vous tapez une phrase, vous choisissez une voix, vous l'écoutez. La même API double un jeu entier, lit un journal quotidien ou répond par message vocal.

Chaque voix garde son timbre d'une phrase à l'autre : nous figeons sa graine à la création. Le personnage qui parle cent fois dans votre film garde la même voix jusqu'au générique.
Chargement…
Six raisons de confier vos textes à Voice S33D.

Chaque voix porte une graine fixe. Vos cent répliques sonnent comme une seule séance d'enregistrement.

Vous envoyez la liste des répliques et des rôles. Vous récupérez une archive avec un fichier par réplique, et la bande complète pour l'écoute de contrôle.

WAV pour le montage, MP3 pour le web, OGG pour les jeux, 3GP pour un message vocal envoyé par MMS.

Un sigle, un nom de lieu, un personnage : nous corrigeons la prononciation une fois dans le lexique, et toutes les voix en profitent.

Les voix tournent sur des machines S33D, en France. Vos textes ne partent chez aucun fournisseur tiers.

Nos voix clonées partent d'enregistrements faits pour elles, avec l'accord écrit de chaque locuteur.

Une adresse, une clé, du JSON. La clé passe dans l'en-tête X-API-Key, l'audio revient dans la réponse. Adresse de base : https://voice.s33d.fr/v1.
| Route | Rôle | Clé |
|---|---|---|
GET /v1/catalogue | Les voix publiques, avec leur moteur | non |
POST /v1/demo | Une écoute d'essai de 240 caractères au plus, en MP3 | non |
GET /v1/voices | Les voix accessibles à votre clé | oui |
POST /v1/speech | Un texte et une voix : l'audio en retour | oui |
POST /v1/dub | Un lot de répliques, traité en arrière-plan | oui |
GET /v1/dub/{lot} | L'avancement du lot, réplique par réplique | oui |
GET /v1/dub/{lot}/archive.zip | Le lot complet : un fichier par réplique et le manifeste | oui |
GET /v1/dub/{lot}/bande.wav | Toutes les répliques bout à bout | oui |
curl -X POST https://voice.s33d.fr/v1/speech \
-H "X-API-Key: VOTRE_CLE" \
-H "Content-Type: application/json" \
-d '{"texte": "Bonjour et bienvenue.", "voix": "kokoro-siwis", "format": "mp3"}' \
-o bienvenue.mp3
import { writeFile } from "node:fs/promises";
const reponse = await fetch("https://voice.s33d.fr/v1/speech", {
method: "POST",
headers: { "X-API-Key": process.env.S33D_VOICE_CLE, "Content-Type": "application/json" },
body: JSON.stringify({ texte: "Bonjour et bienvenue.", voix: "kokoro-siwis", format: "mp3" }),
});
if (!reponse.ok) throw new Error((await reponse.json()).detail);
await writeFile("bienvenue.mp3", Buffer.from(await reponse.arrayBuffer()));
import os
import requests
r = requests.post(
"https://voice.s33d.fr/v1/speech",
headers={"X-API-Key": os.environ["S33D_VOICE_CLE"]},
json={"texte": "Bonjour et bienvenue.", "voix": "kokoro-siwis", "format": "mp3"},
timeout=120,
)
r.raise_for_status()
open("bienvenue.mp3", "wb").write(r.content)
# 1. Envoyer le lot : chaque réplique porte son identifiant et sa voix
curl -X POST https://voice.s33d.fr/v1/dub \
-H "X-API-Key: VOTRE_CLE" -H "Content-Type: application/json" \
-d '{"lot": "episode-01", "format": "mp3", "segments": [
{"id": "r001", "voix": "kokoro-siwis", "texte": "Il était une fois un phare."},
{"id": "r002", "voix": "piper-siwis", "texte": "Et personne pour le garder ?"}
]}'
# 2. Suivre l'avancement
curl -H "X-API-Key: VOTRE_CLE" https://voice.s33d.fr/v1/dub/episode-01
# 3. Récupérer l'archive
curl -H "X-API-Key: VOTRE_CLE" -o episode-01.zip \
https://voice.s33d.fr/v1/dub/episode-01/archive.zip
/v1/speech| Champ | Valeur |
|---|---|
texte | Le texte à dire, 5 000 caractères au plus. |
voix | L'identifiant d'une voix, lu dans /v1/voices. |
format | wav (défaut), mp3, ogg ou 3gp pour un MMS. |
normaliser | true pour ramener le volume à −16 LUFS. |
vitesse | Débit des voix Kokoro, de 0,5 à 2. |
graine, exageration, cfg, temperature | Réglages des voix clonées. Sans eux, vous obtenez ceux de la voix, et donc le même son à chaque appel. |
La réponse porte l'en-tête X-Voice-Cache : une phrase déjà dite avec les mêmes réglages revient du cache, sans nouveau calcul. Référence complète : documentation OpenAPI.
S33D délivre les clés une par une, avec un quota journalier compté en caractères. Dites-nous l'usage prévu et le volume mensuel : nous revenons vers vous avec une clé et son quota.