Para desarrolladores

Inicio rápido de la API

Envía una grabación y el texto con el que debe coincidir. Recibe seis puntuaciones y el desglose de cada palabra y cada sonido. Es la misma evaluación que usan las apps de Spelly.

  1. Tu app envía

    La grabación, el texto con el que debe coincidir y su idioma.

  2. Spelly evalúa

    Cada sonido se compara con el sonido que necesita la palabra.

  3. Recibes JSON

    Seis puntuaciones, cada palabra y cada sonido, listos para mostrar.

Inicio rápido

Cada ruta de esta página va detrás de https://spelly.ch: /api/assess es https://spelly.ch/api/assess. Envía tu clave en la cabecera X-API-Key. Dos llamadas completas para empezar:

Evaluar una grabación guardada como recording.wav

curl
curl https://spelly.ch/api/assess \
  -H 'X-API-Key: YOUR_KEY' \
  -F 'reference_text=The weather is lovely' \
  -F language=en-GB \
  -F audio=@recording.wav

Obtener la voz del modelo con el momento de cada sonido y cada letra

curl
curl https://spelly.ch/api/tts/aligned \
  -H 'X-API-Key: YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "text": "hello",
    "language": "en-GB",
    "audio_format": "mp3"
  }'

Tu clave de API

Envía tu clave en una cabecera X-API-Key con cada petición. La encontrarás en la consola de operador. Guárdala en tu servidor, nunca en una página web.

Los navegadores no pueden llamar a la API desde tus páginas: solo acepta peticiones de otro origen desde los sitios de Spelly, y una clave en una página se podría copiar. Llámala desde tu servidor; para que los alumnos practiquen en una página web, usa el widget.

Cada grabación evaluada usa 1 unidad y cada voz del modelo (/api/tts, /api/tts/aligned, /api/assess/synthesize) 0,5; las demás llamadas son gratuitas. Solo las llamadas que salen bien usan unidades: una llamada rechazada o fallida no usa nada. Las grabaciones y las voces del widget usan las mismas unidades. Una prueba gratuita tiene 100 unidades; cuando se agotan, las llamadas responden 402 con operator.trialExhausted en detail, y remaining y requested al lado.

Límites de uso

Cada dirección puede enviar a la API una media de 50 peticiones por segundo, y hasta 300 más de golpe. Por encima, las llamadas responden 429 request.tooManyRequests. Una clave de prueba gratuita puede enviar 60 peticiones por minuto. Si tu clave tiene su propio límite por minuto, las llamadas que lo superan también responden 429.

Las respuestas 429 y 503 llevan una cabecera Retry-After: los segundos que hay que esperar antes de enviar la misma petición otra vez.

Siguiente