mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Convierte entre mono y estéreo o intercambia los canales izquierdo y derecho."
|
||||
i18n_source_hash: 4f5cd6b38c83
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: dbd971db7fc5
|
||||
---
|
||||
|
||||
# Canales de audio {#audio-channels}
|
||||
|
||||
Convierte el audio entre disposiciones mono y estéreo, o intercambia los canales izquierdo y derecho de un archivo estéreo.
|
||||
|
||||
## Endpoint de la API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-channels`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | Sí | - | Operación de canal: `stereo-to-mono`, `mono-to-stereo`, `swap` |
|
||||
|
||||
## Solicitud de ejemplo {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/audio-channels \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"mode": "stereo-to-mono"}'
|
||||
```
|
||||
|
||||
## Respuesta de ejemplo {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 2300000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- `stereo-to-mono` mezcla ambos canales en una única pista mono.
|
||||
- `mono-to-stereo` duplica el canal mono en el izquierdo y el derecho.
|
||||
- `swap` intercambia los canales izquierdo y derecho de un archivo estéreo.
|
||||
- La salida suele conservar el contenedor de entrada. La entrada AAC se escribe como M4A, y las entradas de solo decodificación no compatibles recurren a MP3.
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
description: "Consulta, edita o elimina las etiquetas de metadatos de audio (ID3)."
|
||||
i18n_source_hash: 0717018e11cb
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 0045ce4e1a17
|
||||
---
|
||||
|
||||
# Metadatos de audio {#audio-metadata}
|
||||
|
||||
Consulta, edita o elimina las etiquetas de metadatos de audio como el título, el artista y el álbum (ID3 y formatos de etiqueta similares).
|
||||
|
||||
## Endpoint de la API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-metadata`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| strip | boolean | No | `false` | Elimina todas las etiquetas de metadatos existentes |
|
||||
| title | string | No | - | Establece la etiqueta de título (máx. 500 caracteres) |
|
||||
| artist | string | No | - | Establece la etiqueta de artista (máx. 500 caracteres) |
|
||||
| album | string | No | - | Establece la etiqueta de álbum (máx. 500 caracteres) |
|
||||
|
||||
## Solicitud de ejemplo {#example-request}
|
||||
|
||||
Editar etiquetas de metadatos:
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/audio-metadata \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"title": "My Song", "artist": "Artist Name", "album": "Album Name"}'
|
||||
```
|
||||
|
||||
Eliminar todos los metadatos:
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/audio-metadata \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"strip": true}'
|
||||
```
|
||||
|
||||
## Respuesta de ejemplo {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4480000,
|
||||
"metadata": {
|
||||
"container": "mp3",
|
||||
"durationS": 245.3,
|
||||
"bitrateKbps": 192,
|
||||
"tags": {
|
||||
"title": "My Song",
|
||||
"artist": "Artist Name",
|
||||
"album": "Album Name"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- La respuesta incluye un objeto `metadata` con el formato del contenedor, la duración, la tasa de bits y las etiquetas actuales.
|
||||
- Cuando `strip` es `true`, todos los campos de etiqueta se ignoran y se elimina cada etiqueta existente.
|
||||
- Solo se actualizan las etiquetas que proporcionas; las etiquetas no especificadas permanecen sin cambios.
|
||||
- El formato de salida coincide con el formato de entrada.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Acelera o ralentiza la reproducción de audio con un multiplicador."
|
||||
i18n_source_hash: e39ba662e594
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: baa6db77e49d
|
||||
---
|
||||
|
||||
# Velocidad de audio {#audio-speed}
|
||||
|
||||
Acelera o ralentiza la reproducción de audio aplicando un multiplicador de velocidad.
|
||||
|
||||
## Endpoint de la API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-speed`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| factor | number | No | `1.5` | Multiplicador de velocidad (0.25 a 4). Los valores por debajo de 1 ralentizan; por encima de 1 aceleran. |
|
||||
|
||||
## Solicitud de ejemplo {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/audio-speed \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"factor": 2}'
|
||||
```
|
||||
|
||||
## Respuesta de ejemplo {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 2250000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- Un factor de `0.25` reproduce a un cuarto de velocidad (4 veces más largo). Un factor de `4` reproduce al cuádruple de velocidad (4 veces más corto).
|
||||
- El tono se conserva mientras cambia la velocidad (estiramiento temporal). Usa el cambio de tono para ajustar el tono de forma independiente.
|
||||
- La salida suele conservar el contenedor de entrada. La entrada AAC se escribe como M4A, y las entradas de solo decodificación no compatibles recurren a MP3.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Convierte audio entre los formatos MP3, WAV, OGG, FLAC y M4A."
|
||||
i18n_source_hash: fd02c059e6a9
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 762c2572e3e8
|
||||
---
|
||||
|
||||
# Convertir audio {#convert-audio}
|
||||
|
||||
Convierte archivos de audio entre formatos comunes como MP3, WAV, OGG, FLAC y M4A, con tasa de bits de salida configurable.
|
||||
|
||||
## Endpoint de la API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/convert-audio`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | No | `"mp3"` | Formato de salida: `mp3`, `wav`, `ogg`, `flac`, `m4a` |
|
||||
| bitrateKbps | integer | No | `192` | Tasa de bits de salida en kbps (32 a 320) |
|
||||
|
||||
## Solicitud de ejemplo {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/convert-audio \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"format": "flac", "bitrateKbps": 256}'
|
||||
```
|
||||
|
||||
## Respuesta de ejemplo {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.flac",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 8200000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- Los formatos de entrada admitidos incluyen MP3, WAV, OGG, FLAC, AAC, M4A, WMA, AIFF y OPUS.
|
||||
- La tasa de bits solo se aplica a los formatos con pérdida (MP3, OGG, M4A). Los formatos sin pérdida como WAV y FLAC ignoran esta configuración.
|
||||
- El nombre del archivo de salida conserva el nombre original con la nueva extensión.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Añade efectos de fundido de entrada y de salida al audio."
|
||||
i18n_source_hash: 86856451ecb8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: b388d2677de3
|
||||
---
|
||||
|
||||
# Fundido de audio {#fade-audio}
|
||||
|
||||
Añade efectos de fundido de entrada y de salida al principio y al final de un archivo de audio.
|
||||
|
||||
## Endpoint de la API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/fade-audio`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| fadeInS | number | No | `1` | Duración del fundido de entrada en segundos (0 a 30) |
|
||||
| fadeOutS | number | No | `1` | Duración del fundido de salida en segundos (0 a 30) |
|
||||
|
||||
## Solicitud de ejemplo {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/fade-audio \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"fadeInS": 2, "fadeOutS": 3}'
|
||||
```
|
||||
|
||||
## Respuesta de ejemplo {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- Establece cualquiera de los valores en `0` para omitir ese sentido del fundido. Al menos uno debe ser mayor que 0.
|
||||
- La duración del fundido se limita a la longitud del audio si la supera.
|
||||
- La salida suele conservar el contenedor de entrada. La entrada AAC se escribe como M4A, y las entradas de solo decodificación no compatibles recurren a MP3.
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
description: "Combina varios archivos de audio en una sola pista secuencial."
|
||||
i18n_source_hash: defa993d3f87
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: b69faa944b80
|
||||
---
|
||||
|
||||
# Combinar audio {#merge-audio}
|
||||
|
||||
Combina dos o más archivos de audio en una sola pista secuencial, concatenados en el orden en que se suben.
|
||||
|
||||
## Endpoint de la API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/merge-audio`
|
||||
|
||||
Acepta datos de formulario multipart con varios archivos de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | No | `"mp3"` | Formato de salida: `mp3`, `wav`, `flac`, `m4a` |
|
||||
|
||||
## Solicitud de ejemplo {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/merge-audio \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@intro.mp3" \
|
||||
-F "file=@main.mp3" \
|
||||
-F "file=@outro.mp3" \
|
||||
-F 'settings={"format": "mp3"}'
|
||||
```
|
||||
|
||||
## Respuesta de ejemplo {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/merged.mp3",
|
||||
"originalSize": 9500000,
|
||||
"processedSize": 9200000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- Acepta de 2 a 10 archivos de audio por solicitud.
|
||||
- Los archivos se concatenan en el orden de subida.
|
||||
- Todos los archivos de entrada se recodifican al formato de salida y la frecuencia de muestreo elegidos para una unión sin fisuras.
|
||||
- Se admiten formatos de entrada mixtos (por ejemplo, un WAV y un MP3).
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Reduce el ruido de fondo del audio con eliminación de ruido basada en FFT."
|
||||
i18n_source_hash: 57cbdbd449aa
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 50c5eafed157
|
||||
---
|
||||
|
||||
# Reducción de ruido {#noise-reduction}
|
||||
|
||||
Reduce el ruido de fondo de un archivo de audio mediante eliminación de ruido basada en FFT con intensidad seleccionable.
|
||||
|
||||
## Endpoint de la API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/noise-reduction`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| strength | string | No | `"medium"` | Intensidad de eliminación de ruido: `light`, `medium`, `strong` |
|
||||
|
||||
## Solicitud de ejemplo {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/noise-reduction \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"strength": "strong"}'
|
||||
```
|
||||
|
||||
## Respuesta de ejemplo {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- `light` conserva más detalle pero elimina menos ruido. `strong` elimina más ruido pero puede introducir artefactos sutiles.
|
||||
- Mejores resultados en grabaciones con ruido de fondo constante (zumbido de ventilador, aire acondicionado, estática).
|
||||
- La salida suele conservar el contenedor de entrada. La entrada AAC se escribe como M4A, y las entradas de solo decodificación no compatibles recurren a MP3.
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "Uniformiza el volumen a niveles estándar de radiodifusión (EBU R128)."
|
||||
i18n_source_hash: 794d8cfa5ad8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: c1703a8b038f
|
||||
---
|
||||
|
||||
# Normalizar audio {#normalize-audio}
|
||||
|
||||
Uniformiza el volumen del audio a niveles estándar de radiodifusión mediante la normalización EBU R128 (-16 LUFS).
|
||||
|
||||
## Endpoint de la API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/normalize-audio`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
Esta herramienta no tiene parámetros configurables. Aplica la normalización de volumen EBU R128 automáticamente.
|
||||
|
||||
## Solicitud de ejemplo {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/normalize-audio \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3"
|
||||
```
|
||||
|
||||
## Respuesta de ejemplo {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- Usa el estándar de volumen EBU R128, con un objetivo de -16 LUFS.
|
||||
- Ideal para podcasts, audiolibros y contenido de radiodifusión donde importa un volumen constante.
|
||||
- La frecuencia de muestreo de origen se conserva en la salida.
|
||||
- La salida suele conservar el contenedor de entrada. La entrada AAC se escribe como M4A, y las entradas de solo decodificación no compatibles recurren a MP3.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Sube o baja el tono del audio en semitonos sin cambiar la velocidad."
|
||||
i18n_source_hash: 2804d0eeecc8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 927685c707fa
|
||||
---
|
||||
|
||||
# Cambio de tono {#pitch-shift}
|
||||
|
||||
Sube o baja el tono de un archivo de audio en una cantidad de semitonos sin cambiar su velocidad de reproducción.
|
||||
|
||||
## Endpoint de la API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/pitch-shift`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| semitones | integer | No | `3` | Semitonos a desplazar (-12 a 12). Debe ser distinto de cero. |
|
||||
|
||||
## Solicitud de ejemplo {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/pitch-shift \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"semitones": -5}'
|
||||
```
|
||||
|
||||
## Respuesta de ejemplo {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- Los valores positivos suben el tono; los negativos lo bajan.
|
||||
- Un desplazamiento de 12 semitonos equivale a una octava hacia arriba; -12 equivale a una octava hacia abajo.
|
||||
- La duración de reproducción se mantiene igual independientemente del desplazamiento.
|
||||
- La salida suele conservar el contenedor de entrada. La entrada AAC se escribe como M4A, y las entradas de solo decodificación no compatibles recurren a MP3.
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
description: "Invierte un archivo de audio para que se reproduzca al revés."
|
||||
i18n_source_hash: 5c2017661803
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 7d981bdfc304
|
||||
---
|
||||
|
||||
# Invertir audio {#reverse-audio}
|
||||
|
||||
Invierte un archivo de audio para que se reproduzca al revés.
|
||||
|
||||
## Endpoint de la API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/reverse-audio`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
Esta herramienta no tiene parámetros configurables. Se invierte el archivo de audio completo.
|
||||
|
||||
## Solicitud de ejemplo {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/reverse-audio \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3"
|
||||
```
|
||||
|
||||
## Respuesta de ejemplo {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- La pista de audio completa se invierte de fin a principio.
|
||||
- La salida suele conservar el contenedor de entrada. La entrada AAC se escribe como M4A, y las entradas de solo decodificación no compatibles recurren a MP3.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Crea un clip de tono de llamada a partir de cualquier archivo de audio."
|
||||
i18n_source_hash: 8fcdcc545fbc
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: a41b65bae5a2
|
||||
---
|
||||
|
||||
# Creador de tonos de llamada {#ringtone-maker}
|
||||
|
||||
Crea un clip de tono de llamada (.m4r) a partir de cualquier archivo de audio seleccionando una hora de inicio y una duración.
|
||||
|
||||
## Endpoint de la API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/ringtone-maker`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| startS | number | No | `0` | Hora de inicio en segundos (mínimo 0) |
|
||||
| durationS | number | No | `30` | Duración del clip en segundos (1 a 30) |
|
||||
|
||||
## Solicitud de ejemplo {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/ringtone-maker \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"startS": 15, "durationS": 20}'
|
||||
```
|
||||
|
||||
## Respuesta de ejemplo {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.m4r",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 620000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- La salida siempre está en formato M4R, compatible con los tonos de llamada del iPhone.
|
||||
- La duración máxima del tono de llamada es de 30 segundos (límite de Apple).
|
||||
- Se puede usar cualquier formato de audio como entrada.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "Elimina las secciones silenciosas de un archivo de audio."
|
||||
i18n_source_hash: a7624fc99b50
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 41d9bfafe31a
|
||||
---
|
||||
|
||||
# Eliminación de silencios {#silence-removal}
|
||||
|
||||
Detecta y elimina las secciones silenciosas de un archivo de audio según un umbral y una duración mínima configurables.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/silence-removal`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| thresholdDb | number | No | `-50` | Umbral de silencio en dB (-80 a -20). El audio por debajo de este nivel se considera silencio. |
|
||||
| minSilenceS | number | No | `0.5` | Duración mínima del silencio en segundos que se debe eliminar (0.1 a 5) |
|
||||
|
||||
## Ejemplo de solicitud {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/silence-removal \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"thresholdDb": -45, "minSilenceS": 1}'
|
||||
```
|
||||
|
||||
## Ejemplo de respuesta {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 3200000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- Un umbral más alto (menos negativo) es más agresivo y elimina también los pasajes más silenciosos, además del silencio real.
|
||||
- Aumenta `minSilenceS` para eliminar solo las pausas más largas y conservar las breves pausas naturales.
|
||||
- Útil para limpiar grabaciones de podcasts, conferencias y notas de voz.
|
||||
- La salida suele mantener el contenedor de entrada. La entrada AAC se escribe como M4A, y las entradas de solo decodificación no compatibles recurren a MP3.
|
||||
@@ -0,0 +1,64 @@
|
||||
---
|
||||
description: "Divide el audio por intervalos de tiempo, partes iguales o detección de silencios."
|
||||
i18n_source_hash: c062a395dbac
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 513bc508c04a
|
||||
---
|
||||
|
||||
# Dividir audio {#split-audio}
|
||||
|
||||
Divide un archivo de audio en segmentos por intervalos de tiempo fijos, partes iguales o detección automática de silencios. Devuelve un archivo ZIP con los segmentos.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/split-audio`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | No | `"time"` | Estrategia de división: `time`, `parts`, `silence` |
|
||||
| segmentS | number | No | `60` | Longitud del segmento en segundos, 1 a 3600 (se usa cuando mode es `time`) |
|
||||
| parts | integer | No | `2` | Número de partes iguales, 2 a 20 (se usa cuando mode es `parts`) |
|
||||
| thresholdDb | number | No | `-40` | Umbral de silencio en dB, -80 a -20 (se usa cuando mode es `silence`) |
|
||||
| minSilenceS | number | No | `0.3` | Intervalo mínimo de silencio en segundos, 0.1 a 10 (se usa cuando mode es `silence`) |
|
||||
|
||||
## Ejemplo de solicitud {#example-request}
|
||||
|
||||
Dividir en segmentos de 30 segundos:
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/split-audio \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"mode": "time", "segmentS": 30}'
|
||||
```
|
||||
|
||||
Dividir por detección de silencios:
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/split-audio \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"mode": "silence", "thresholdDb": -35, "minSilenceS": 0.5}'
|
||||
```
|
||||
|
||||
## Ejemplo de respuesta {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio_parts.zip",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4600000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- El `downloadUrl` apunta a un archivo ZIP que contiene todos los segmentos.
|
||||
- Solo se usan los parámetros relevantes para el `mode` elegido; los demás se ignoran.
|
||||
- Los nombres de archivo de los segmentos están numerados secuencialmente (p. ej. `part-000.mp3`, `part-001.mp3`).
|
||||
- El formato de salida coincide con el formato de entrada.
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
description: "Convierte voz en texto con transcripción impulsada por IA."
|
||||
i18n_source_hash: ae98c4c0aed2
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 60aea729c253
|
||||
---
|
||||
|
||||
# Transcribir audio {#transcribe-audio}
|
||||
|
||||
Convierte voz en texto mediante transcripción impulsada por IA (faster-whisper). Admite formatos de salida de texto plano, SRT y VTT con selección de idioma automática o manual.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/transcribe-audio`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| language | string | No | `"auto"` | Idioma: `auto`, `en`, `de`, `fr`, `es`, `zh`, `ja`, `ko`, `id`, `th`, `vi` |
|
||||
| outputFormat | string | No | `"txt"` | Formato de salida: `txt`, `srt`, `vtt` |
|
||||
|
||||
## Ejemplo de solicitud {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/transcribe-audio \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"language": "en", "outputFormat": "srt"}'
|
||||
```
|
||||
|
||||
## Ejemplo de respuesta {#example-response}
|
||||
|
||||
Esta es una herramienta asíncrona. La API devuelve `202 Accepted` de inmediato:
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
Sigue el progreso mediante SSE en `GET /api/v1/jobs/{jobId}/progress`. Cuando el trabajo termina, el flujo SSE entrega el resultado final con un `downloadUrl`.
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- Requiere que esté instalado el paquete de funciones **transcription**. Devuelve `501` con el código `FEATURE_NOT_INSTALLED`, el `feature` que falta, `featureName` y `estimatedSize` si el paquete no está disponible.
|
||||
- Usa faster-whisper para la transcripción. El idioma `auto` detecta automáticamente el idioma hablado.
|
||||
- Los formatos `srt` y `vtt` incluyen marcas de tiempo para cada segmento, adecuados para subtítulos.
|
||||
- El formato `txt` devuelve texto plano sin marcas de tiempo.
|
||||
- Esta es una herramienta de IA de ejecución prolongada; el tiempo de procesamiento depende de la duración del audio y del hardware del servidor.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "Recorta una sección de un archivo de audio especificando los tiempos de inicio y fin."
|
||||
i18n_source_hash: 8b80c5c8a711
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 576433461bd2
|
||||
---
|
||||
|
||||
# Recortar audio {#trim-audio}
|
||||
|
||||
Recorta una sección de un archivo de audio especificando los tiempos de inicio y fin en segundos.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/trim-audio`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| startS | number | No | `0` | Tiempo de inicio en segundos (mínimo 0) |
|
||||
| endS | number | Sí | - | Tiempo de fin en segundos (debe ser posterior al inicio) |
|
||||
|
||||
## Ejemplo de solicitud {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/trim-audio \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"startS": 10, "endS": 45}'
|
||||
```
|
||||
|
||||
## Ejemplo de respuesta {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 1575000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- Los tiempos se especifican en segundos y pueden incluir decimales (p. ej. `10.5`).
|
||||
- El valor `endS` debe ser mayor que `startS`.
|
||||
- Si `endS` supera la duración del audio, el archivo se recorta hasta el final.
|
||||
- La salida suele mantener el contenedor de entrada. La entrada AAC se escribe como M4A, y las entradas de solo decodificación no compatibles recurren a MP3.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Aumenta o reduce el volumen del audio con una ganancia fija en decibelios."
|
||||
i18n_source_hash: b9bc1de2c9ef
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: e79985230aa5
|
||||
---
|
||||
|
||||
# Ajustar volumen {#volume-adjust}
|
||||
|
||||
Aumenta o reduce el volumen de un archivo de audio aplicando una ganancia fija en decibelios.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/volume-adjust`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| gainDb | number | No | `3` | Ajuste de volumen en decibelios (-30 a 30) |
|
||||
|
||||
## Ejemplo de solicitud {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/volume-adjust \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"gainDb": 6}'
|
||||
```
|
||||
|
||||
## Ejemplo de respuesta {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- Los valores positivos aumentan el volumen; los negativos lo reducen.
|
||||
- Las ganancias positivas grandes pueden causar recorte (clipping). Usa normalize-audio para una nivelación segura de la sonoridad.
|
||||
- La salida suele mantener el contenedor de entrada. La entrada AAC se escribe como M4A, y las entradas de solo decodificación no compatibles recurren a MP3.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "Genera una visualización de la forma de onda como imagen PNG a partir de un archivo de audio."
|
||||
i18n_source_hash: 5480106dfe48
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 7e306027290b
|
||||
---
|
||||
|
||||
# Imagen de forma de onda {#waveform-image}
|
||||
|
||||
Genera una visualización de la forma de onda como imagen PNG a partir de un archivo de audio, con dimensiones y color configurables.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/waveform-image`
|
||||
|
||||
Acepta datos de formulario multipart con un archivo de audio y un campo JSON `settings`.
|
||||
|
||||
## Parámetros {#parameters}
|
||||
|
||||
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| width | integer | No | `1024` | Ancho de la imagen en píxeles (256 a 3840) |
|
||||
| height | integer | No | `256` | Alto de la imagen en píxeles (64 a 1080) |
|
||||
| color | string | No | `"#4f46e5"` | Color hexadecimal de la forma de onda (p. ej. `"#4f46e5"`) |
|
||||
|
||||
## Ejemplo de solicitud {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/audio/waveform-image \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@audio.mp3" \
|
||||
-F 'settings={"width": 1920, "height": 400, "color": "#e07832"}'
|
||||
```
|
||||
|
||||
## Ejemplo de respuesta {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.png",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 45000
|
||||
}
|
||||
```
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- La salida siempre es una imagen PNG, independientemente del formato de audio de entrada.
|
||||
- La forma de onda se renderiza sobre un fondo transparente.
|
||||
- Útil para miniaturas, vistas previas en redes sociales o para incrustar en páginas web.
|
||||
Reference in New Issue
Block a user