docs: guía de autoservicio TTS para Inma/Mixbot (#222) #223
@@ -4,11 +4,10 @@
|
||||
> Rafa (issue [#222](https://gitea.feadulta.com/rafa/feadulta/issues/222)): dejar de pedirle
|
||||
> el audio a Hermes y generarlo y subirlo vosotros mismos, con vuestro propio token de MiniMax.
|
||||
>
|
||||
> **Estado a 2026-08-31:** el proceso de generación (este documento) está completo y probado.
|
||||
> **Subir el resultado al artículo sigue bloqueado** — falta un endpoint REST (`fea/v1/subir-audio`)
|
||||
> para enganchar el mp3 al post, tal como pedía el punto 1 del #222. Ese endpoint lo está
|
||||
> construyendo Codix (ver aviso al final). Hasta que esté desplegado podéis generar y guardar
|
||||
> los mp3, pero no publicarlos en el sitio.
|
||||
> **Estado a 2026-08-31:** completo y **desplegado en producción**. El endpoint
|
||||
> `fea/v1/subir-audio` (PR [#224](https://gitea.feadulta.com/rafa/feadulta/pulls/224)) ya está
|
||||
> en prod y verificado de extremo a extremo por Claudix con una subida real. El punto 1 del
|
||||
> #222 queda cerrado — ver §6 para la llamada real.
|
||||
>
|
||||
> Este documento sustituye, para el caso de uso "Inma/Mixbot generan directamente", a la
|
||||
> sección 4 de `docs/guia-tts-traduccion-inma.md` (que describe el flujo antiguo vía Hermes
|
||||
@@ -198,23 +197,46 @@ este paso y avisad a Rafa/Claudix — es preferible subir un audio sin el acabad
|
||||
nada, pero que quede constancia de que ese paso se saltó (para que quien revise sepa por qué
|
||||
suena ligeramente distinto al resto).
|
||||
|
||||
## 6. Subir el resultado al artículo — BLOQUEADO hoy
|
||||
## 6. Subir el resultado al artículo
|
||||
|
||||
Aquí es donde entra el hueco real que reportó el #222: **no hay forma de enganchar el mp3 al
|
||||
post por REST todavía.** Los campos que necesita el sitio para reproducir el audio
|
||||
(`fea_audio_url`, `fea_audio_done`, más `fea_audio_voice` para saber qué voz sonó) no están
|
||||
expuestos en `/wp/v2/posts/{id}`, y el namespace `fea/v1` no tiene endpoint de audio.
|
||||
El endpoint que faltaba ya está desplegado en producción (#224), con el mismo patrón que
|
||||
`fea/v1/subir-avatar` (#175) que ya usáis:
|
||||
|
||||
**Esto se resuelve con un endpoint `fea/v1/subir-audio`**, con el mismo patrón que
|
||||
`fea/v1/subir-avatar` (#175) que ya usáis: multipart con `post_id` + fichero `audio` (mp3),
|
||||
autenticación igual que el resto de endpoints `fea/v1` (vuestro usuario Editor/Administrator),
|
||||
y como respuesta el valor anterior de esos metas para poder deshacer si algo suena mal.
|
||||
**Codix lo está construyendo** a partir de esta misma información — en cuanto esté
|
||||
desplegado, se actualiza este documento con el ejemplo de llamada real y se cierra el punto 1
|
||||
del #222.
|
||||
```
|
||||
POST https://www.feadulta.com/wp-json/fea/v1/subir-audio
|
||||
Authorization: Basic <usuario:contraseña_de_aplicación> (o el header equivalente que useis)
|
||||
Content-Type: multipart/form-data
|
||||
|
||||
Mientras tanto: generad y guardad los mp3 con normalidad (pasos 1-5), pero no hay manera de
|
||||
publicarlos todavía — no es un fallo vuestro, es infraestructura pendiente.
|
||||
post_id=<ID del artículo>
|
||||
audio=<fichero .mp3, máx. 25 MiB>
|
||||
voice_id=<opcional — el voice_id usado, para que quede registrado>
|
||||
```
|
||||
|
||||
Respuesta (`201`):
|
||||
|
||||
```json
|
||||
{
|
||||
"post_id": 56785,
|
||||
"audio_url": "https://www.feadulta.com/wp-content/uploads/tts/56785.mp3",
|
||||
"voice_id": "NicoFeadulta2026",
|
||||
"sha256": "<huella del mp3 subido>",
|
||||
"previous_audio": {"url": null, "voice": null, "done": null, "sha256": null, "error": null}
|
||||
}
|
||||
```
|
||||
|
||||
`previous_audio` trae el estado de antes de vuestra subida (o todo `null` si el post no tenía
|
||||
audio) — guardadlo si vais a reemplazar un audio ya publicado, por si hay que deshacer.
|
||||
|
||||
**Límite real: 25 MiB por fichero** (`upload_max_filesize`/`post_max_size` del servidor, y el
|
||||
propio endpoint valida lo mismo con un mensaje claro). Los audios de la carta semanal rondan
|
||||
5-6 MB, así que hay margen — pero si algún artículo muy largo genera un mp3 más grande,
|
||||
avisad en vez de forzarlo: el límite se fijó a propósito en 25 MiB (no en los 256 MiB que se
|
||||
había propuesto al principio) porque el caso de 198 MB del #212/#190 era un error de
|
||||
generación a corregir, no un tamaño a soportar.
|
||||
|
||||
Solo admite `.mp3`/`audio/mpeg` — mismo nivel de permiso que el resto de endpoints `fea/v1`
|
||||
de escritura (vuestro usuario Editor/Administrator). Verificado por Claudix el 2026-08-31 con
|
||||
una subida real de extremo a extremo contra prod (post desechable, borrado después).
|
||||
|
||||
## 7. Lo que NO cambia con este traspaso
|
||||
|
||||
|
||||
Reference in New Issue
Block a user