Kitta Audio Docs
Référence APISynthèse vocale
Back to site

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/json

Demande

{
  "text": "Hello from Kitta Audio.",
  "voiceId": "00a1b221-6137-4b73-ad62-b0cbce134167",
  "modelId": "fishaudio-s21pro-flash",
  "format": "mp3"
}

Champs communs :

ChampTapezRemarques
textchaîneTexte à synthétiser. Normalisez les espaces avant d’envoyer un texte généré volumineux.
voiceIdchaîneIdentifiant vocal préféré pour les nouvelles intégrations.
modelIdchaîneIdentifiant du modèle du moteur TTS, par exemple fishaudio-s21pro-flash.
formatchaîneConteneur de sortie tel que mp3, selon les modèles activés.
cachebooléenLorsque 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.mp3

Ré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

StatutSignificationActions
400Le texte, l'identifiant vocal, le format ou la forme de la charge utile ne sont pas validesCorrigez la demande avant de réessayer
401La clé API est manquante ou invalideActualiser les informations d'identification côté serveur
402Les crédits ou les quotas sont insuffisantsArrêtez le lot et affichez un état de facturation
429Tarif limitéRéessayez avec interruption
500La génération a échoué après validationRéessayez uniquement si votre produit peut tolérer l'audio en double