Synchroniser HTTP
Générez de la parole de manière synchrone avec Open API v1.
Synchroniser HTTP
Utilisez le point de terminaison de synchronisation TTS lorsque le texte est suffisamment court pour un flux demande-réponse et que votre produit peut attendre l'audio avant de continuer. Pour les textes longs, le travail par lots ou les files d'attente visibles par l'utilisateur, utilisez Tâches asynchrones.
Si votre client attend la forme de requête OpenAI /v1/audio/speech, utilisez plutôt le point de terminaison OpenAI-Compatible TTS.
POST /api/open/v1/speech/tts
Authorization: Bearer KITTA_API_KEY
Content-Type: application/jsonDemande
{
"text": "Hello from Kitta Audio.",
"voiceId": "00a1b221-6137-4b73-ad62-b0cbce134167",
"modelId": "fishaudio-s21pro-flash",
"format": "mp3"
}Champs communs :
| Champ | Tapez | Remarques |
|---|---|---|
text | chaîne | Texte à synthétiser. Normalisez les espaces avant d’envoyer un texte généré volumineux. |
voiceId | chaîne | Identifiant vocal préféré pour les nouvelles intégrations. |
modelId | chaîne | Identifiant du modèle du moteur TTS, par exemple fishaudio-s21pro-flash. |
format | chaîne | Conteneur de sortie tel que mp3, selon les modèles activés. |
cache | booléen | Lorsque cela est vrai, la réponse peut renvoyer des métadonnées JSON et une URL audio. |
Les nouvelles intégrations doivent utiliser voiceId de GET /api/open/v1/voices. Pour un test de connexion rapide, utilisez la voix du système public 00a1b221-6137-4b73-ad62-b0cbce134167.
Ne mélangez pas les champs d’anciens SDK ou d’autres variantes de site dans le contrat Open API actuel à l’étranger.
curl https://kittaai.com/api/open/v1/speech/tts \
-H "Authorization: Bearer KITTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello from Kitta Audio.","voiceId":"00a1b221-6137-4b73-ad62-b0cbce134167","modelId":"fishaudio-s21pro-flash","format":"mp3"}' \
--output speech.mp3Réponse
Lorsque cache est false ou omis, les réponses réussies renvoient un audio binaire. Lorsque cache est true, les réponses réussies renvoient les métadonnées JSON :
{
"audio_url": "https://example.com/generated.mp3",
"credits_used": 12,
"quota_remaining": 987988
}Votre client doit créer une branche sur l'en-tête Content-Type au lieu d'adopter une seule forme de réponse. Stockez l'audio généré dans votre propre stockage durable si l'URL est de courte durée.
Facturation et crédits
Sync TTS consomme des crédits en fonction du contenu généré et de la configuration du modèle. Étant donné que le point de terminaison effectue la génération dans la requête HTTP, un délai d'attente du client ne signifie pas toujours que le serveur a annulé le travail. Utilisez l'idempotence dans votre propre couche d'application lorsque vous réessayez les actions de l'utilisateur.
Si vous avez besoin d'un solde post-génération exact, appelez Profil une fois la demande terminée. Pour les gros lots, préférez les tâches asynchrones afin que chaque tâche ait un identifiant et un statut durables.
Erreurs
| Statut | Signification | Actions |
|---|---|---|
400 | Le texte, l'identifiant vocal, le format ou la forme de la charge utile ne sont pas valides | Corrigez la demande avant de réessayer |
401 | La clé API est manquante ou invalide | Actualiser les informations d'identification côté serveur |
402 | Les crédits ou les quotas sont insuffisants | Arrêtez le lot et affichez un état de facturation |
429 | Tarif limité | Réessayez avec interruption |
500 | La génération a échoué après validation | Réessayez uniquement si votre produit peut tolérer l'audio en double |