SMS Speech

v1.0

Transcription automatique de messages vocaux (MMS audio) en texte, renvoyé par SMS. Supporte AMR, WAV, MP3, OGG.

Base URL : https://sms-speech.s33d.fr

🎙️ Comment ça marche ?

📞
1. Envoyez un message vocal
Laissez un MMS audio ou un message vocal au numéro du service
🔊
2. Transcription automatique
Le service convertit l'audio en texte via speech-to-text
💬
3. Recevez la transcription
Le texte transcrit vous est renvoyé par SMS

Le service gère les formats audio courants (AMR, WAV, MP3, OGG). La transcription est optimisée pour le français.

Authentification

L'API REST d'administration utilise une clé dans le header X-Admin-Key :

# Avec curl
curl -H "X-Admin-Key: VOTRE_ADMIN_KEY" \
https://sms-speech.s33d.fr/health

Les messages vocaux reçus sont traités automatiquement — l'authentification REST concerne uniquement l'API d'administration.

Quotas par plan

Les transcriptions sont limitées selon le plan de l'utilisateur Portal.

Free
5 transcriptions/jour
Pro
50 transcriptions/jour
Enterprise
Illimité

Endpoints

GET /health

Vérifie l'état du service (modem, base de données, boucle de transcription).

Réponse

{
  "status": "ok",
  "modem_connected": true,
  "db_connected": true,
  "speech_loop_running": true,
  "pending_transcriptions": 2
}
GET /stats

Statistiques de transcription (24h, total, durée moyenne).

Requiert X-Admin-Key

Réponse

{
  "total_transcriptions": 847,
  "last_24h": 34,
  "avg_duration_seconds": 12.5,
  "success_rate": 0.96
}
GET /inbox

Liste les messages vocaux reçus avec leur statut de transcription.

Requiert X-Admin-Key

Paramètres query

Paramètre Type Description
limitintNombre max de résultats (défaut 50)
statusstringpending, transcribed, error

Réponse

[
  {
    "id": 42,
    "sender": "+33612345678",
    "received_at": "2026-05-15T10:32:00",
    "status": "transcribed",
    "transcription": "Bonjour, je vous appelle pour...",
    "audio_duration_seconds": 15,
    "replied": true
  }
]
POST /transcribe

Transcription manuelle d'un fichier audio (hors flux SMS automatique).

Requiert X-Admin-Key

Corps (multipart/form-data)

Champ Type Description
filefileFichier audio (AMR, WAV, MP3, OGG — max 10 Mo)
languagestringCode langue (défaut fr)

Exemple

curl -X POST https://sms-speech.s33d.fr/transcribe \
-H "X-Admin-Key: VOTRE_KEY" \
-F "file=@message.amr" \
-F "language=fr"

Réponse

{
  "transcription": "Bonjour, je vous rappelle concernant...",
  "language": "fr",
  "duration_seconds": 8.3,
  "confidence": 0.92
}

Codes d'erreur

Code Description
401Clé admin manquante ou invalide
413Fichier audio trop volumineux (max 10 Mo)
415Format audio non supporté
429Quota de transcriptions dépassé
500Erreur interne du service de transcription
503Service speech-to-text indisponible

Formats audio supportés

AMR
Format natif des MMS vocaux GSM — support optimal
WAV
PCM non compressé — meilleure qualité de transcription
MP3
Compressé — supporté, conversion automatique
OGG
Opus/Vorbis — supporté, conversion automatique

Taille maximale : 10 Mo. Les fichiers sont convertis en WAV 16kHz mono avant transcription.