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: "Converta entre mono e estéreo ou troque os canais esquerdo e direito."
|
||||
i18n_source_hash: 4f5cd6b38c83
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 6fc0f7249359
|
||||
---
|
||||
|
||||
# Canais de Áudio {#audio-channels}
|
||||
|
||||
Converta áudio entre layouts mono e estéreo, ou troque os canais esquerdo e direito de um arquivo estéreo.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-channels`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | Sim | - | Operação de canal: `stereo-to-mono`, `mono-to-stereo`, `swap` |
|
||||
|
||||
## Exemplo de Requisição {#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"}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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` mistura os dois canais em uma única trilha mono.
|
||||
- `mono-to-stereo` duplica o canal mono para os canais esquerdo e direito.
|
||||
- `swap` troca os canais esquerdo e direito de um arquivo estéreo.
|
||||
- A saída normalmente mantém o contêiner de entrada. Entrada AAC é gravada como M4A, e entradas apenas de decodificação não suportadas recorrem a MP3.
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
description: "Visualize, edite ou remova tags de metadados de áudio (ID3)."
|
||||
i18n_source_hash: 0717018e11cb
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: fcfafab83640
|
||||
---
|
||||
|
||||
# Metadados de Áudio {#audio-metadata}
|
||||
|
||||
Visualize, edite ou remova tags de metadados de áudio como título, artista e álbum (ID3 e formatos de tag similares).
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-metadata`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| strip | boolean | Não | `false` | Remover todas as tags de metadados existentes |
|
||||
| title | string | Não | - | Definir a tag de título (máx. 500 caracteres) |
|
||||
| artist | string | Não | - | Definir a tag de artista (máx. 500 caracteres) |
|
||||
| album | string | Não | - | Definir a tag de álbum (máx. 500 caracteres) |
|
||||
|
||||
## Exemplo de Requisição {#example-request}
|
||||
|
||||
Editar tags de metadados:
|
||||
|
||||
```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"}'
|
||||
```
|
||||
|
||||
Remover todos os metadados:
|
||||
|
||||
```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}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- A resposta inclui um objeto `metadata` com formato do contêiner, duração, bitrate e tags atuais.
|
||||
- Quando `strip` é `true`, todos os campos de tag são ignorados e todas as tags existentes são removidas.
|
||||
- Apenas as tags que você fornece são atualizadas; as tags não especificadas permanecem inalteradas.
|
||||
- O formato de saída corresponde ao formato de entrada.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Acelere ou desacelere a reprodução de áudio com um multiplicador."
|
||||
i18n_source_hash: e39ba662e594
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: c21761c335f8
|
||||
---
|
||||
|
||||
# Velocidade de Áudio {#audio-speed}
|
||||
|
||||
Acelere ou desacelere a reprodução de áudio aplicando um multiplicador de velocidade.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-speed`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| factor | number | Não | `1.5` | Multiplicador de velocidade (0,25 a 4). Valores abaixo de 1 desaceleram; acima de 1 aceleram. |
|
||||
|
||||
## Exemplo de Requisição {#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}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- Um fator de `0.25` reproduz em um quarto da velocidade (4x mais longo). Um fator de `4` reproduz em velocidade quádrupla (4x mais curto).
|
||||
- O tom é preservado enquanto a velocidade muda (time-stretch). Use o pitch-shift para ajustar o tom de forma independente.
|
||||
- A saída normalmente mantém o contêiner de entrada. Entrada AAC é gravada como M4A, e entradas apenas de decodificação não suportadas recorrem a MP3.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Converta áudio entre os formatos MP3, WAV, OGG, FLAC e M4A."
|
||||
i18n_source_hash: fd02c059e6a9
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 0a8a44ccc8ef
|
||||
---
|
||||
|
||||
# Converter Áudio {#convert-audio}
|
||||
|
||||
Converta arquivos de áudio entre formatos comuns, incluindo MP3, WAV, OGG, FLAC e M4A, com bitrate de saída configurável.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/convert-audio`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | Não | `"mp3"` | Formato de saída: `mp3`, `wav`, `ogg`, `flac`, `m4a` |
|
||||
| bitrateKbps | integer | Não | `192` | Bitrate de saída em kbps (32 a 320) |
|
||||
|
||||
## Exemplo de Requisição {#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}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- Os formatos de entrada suportados incluem MP3, WAV, OGG, FLAC, AAC, M4A, WMA, AIFF e OPUS.
|
||||
- O bitrate só se aplica a formatos com perda (MP3, OGG, M4A). Formatos sem perda como WAV e FLAC ignoram essa configuração.
|
||||
- O nome do arquivo de saída mantém o nome original com a nova extensão.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Adicione efeitos de fade-in e fade-out ao áudio."
|
||||
i18n_source_hash: 86856451ecb8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: eb9278a32735
|
||||
---
|
||||
|
||||
# Fade de Áudio {#fade-audio}
|
||||
|
||||
Adicione efeitos de fade-in e fade-out ao início e ao fim de um arquivo de áudio.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/fade-audio`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| fadeInS | number | Não | `1` | Duração do fade-in em segundos (0 a 30) |
|
||||
| fadeOutS | number | Não | `1` | Duração do fade-out em segundos (0 a 30) |
|
||||
|
||||
## Exemplo de Requisição {#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}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- Defina qualquer um dos valores como `0` para pular aquela direção de fade. Pelo menos um deles precisa ser maior que 0.
|
||||
- A duração do fade é limitada ao comprimento do áudio se ultrapassá-lo.
|
||||
- A saída normalmente mantém o contêiner de entrada. Entrada AAC é gravada como M4A, e entradas apenas de decodificação não suportadas recorrem a MP3.
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
description: "Combine vários arquivos de áudio em uma única trilha sequencial."
|
||||
i18n_source_hash: defa993d3f87
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 9280308bc318
|
||||
---
|
||||
|
||||
# Mesclar Áudio {#merge-audio}
|
||||
|
||||
Combine dois ou mais arquivos de áudio em uma única trilha sequencial, concatenados na ordem em que são enviados.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/merge-audio`
|
||||
|
||||
Aceita dados de formulário multipart com vários arquivos de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | Não | `"mp3"` | Formato de saída: `mp3`, `wav`, `flac`, `m4a` |
|
||||
|
||||
## Exemplo de Requisição {#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"}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- Aceita de 2 a 10 arquivos de áudio por requisição.
|
||||
- Os arquivos são concatenados na ordem de envio.
|
||||
- Todos os arquivos de entrada são recodificados para o formato de saída e a taxa de amostragem escolhidos, garantindo uma junção sem emendas.
|
||||
- Formatos de entrada mistos são suportados (por exemplo, um WAV e um MP3).
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Reduza o ruído de fundo do áudio com remoção de ruído baseada em FFT."
|
||||
i18n_source_hash: 57cbdbd449aa
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: dc25a9021e5c
|
||||
---
|
||||
|
||||
# Redução de Ruído {#noise-reduction}
|
||||
|
||||
Reduza o ruído de fundo em um arquivo de áudio usando remoção de ruído baseada em FFT, com intensidade selecionável.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/noise-reduction`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| strength | string | Não | `"medium"` | Intensidade da remoção de ruído: `light`, `medium`, `strong` |
|
||||
|
||||
## Exemplo de Requisição {#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"}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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` preserva mais detalhes, mas remove menos ruído. `strong` remove mais ruído, mas pode introduzir artefatos sutis.
|
||||
- Melhores resultados em gravações com ruído de fundo constante (zumbido de ventilador, ar-condicionado, chiado).
|
||||
- A saída normalmente mantém o contêiner de entrada. Entrada AAC é gravada como M4A, e entradas apenas de decodificação não suportadas recorrem a MP3.
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "Nivele o volume para níveis padrão de broadcast (EBU R128)."
|
||||
i18n_source_hash: 794d8cfa5ad8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 3cd9c4ebc050
|
||||
---
|
||||
|
||||
# Normalizar Áudio {#normalize-audio}
|
||||
|
||||
Nivele o volume do áudio para níveis padrão de broadcast usando a normalização EBU R128 (-16 LUFS).
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/normalize-audio`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
Esta ferramenta não tem parâmetros configuráveis. Ela aplica a normalização de volume EBU R128 automaticamente.
|
||||
|
||||
## Exemplo de Requisição {#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"
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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 o padrão de volume EBU R128, com alvo de -16 LUFS.
|
||||
- Ideal para podcasts, audiolivros e conteúdo de broadcast, onde o volume consistente é importante.
|
||||
- A taxa de amostragem de origem é preservada na saída.
|
||||
- A saída normalmente mantém o contêiner de entrada. Entrada AAC é gravada como M4A, e entradas apenas de decodificação não suportadas recorrem a MP3.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Aumente ou reduza o tom do áudio em semitons sem alterar a velocidade."
|
||||
i18n_source_hash: 2804d0eeecc8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 68c6f9f8f2cd
|
||||
---
|
||||
|
||||
# Alteração de Tom {#pitch-shift}
|
||||
|
||||
Aumente ou reduza o tom de um arquivo de áudio em uma quantidade de semitons sem alterar sua velocidade de reprodução.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/pitch-shift`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| semitones | integer | Não | `3` | Semitons a deslocar (-12 a 12). Deve ser diferente de zero. |
|
||||
|
||||
## Exemplo de Requisição {#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}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- Valores positivos elevam o tom; valores negativos o reduzem.
|
||||
- Um deslocamento de 12 semitons equivale a uma oitava acima; -12 equivale a uma oitava abaixo.
|
||||
- A duração da reprodução permanece a mesma, independentemente da quantidade de deslocamento.
|
||||
- A saída normalmente mantém o contêiner de entrada. Entrada AAC é gravada como M4A, e entradas apenas de decodificação não suportadas recorrem a MP3.
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
description: "Inverta um arquivo de áudio para que ele toque de trás para frente."
|
||||
i18n_source_hash: 5c2017661803
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: ece184fd1685
|
||||
---
|
||||
|
||||
# Inverter Áudio {#reverse-audio}
|
||||
|
||||
Inverta um arquivo de áudio para que ele toque de trás para frente.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/reverse-audio`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
Esta ferramenta não tem parâmetros configuráveis. O arquivo de áudio inteiro é invertido.
|
||||
|
||||
## Exemplo de Requisição {#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"
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- A trilha de áudio completa é invertida do fim para o início.
|
||||
- A saída normalmente mantém o contêiner de entrada. Entrada AAC é gravada como M4A, e entradas apenas de decodificação não suportadas recorrem a MP3.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Crie um trecho de toque de celular a partir de qualquer arquivo de áudio."
|
||||
i18n_source_hash: 8fcdcc545fbc
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 56e213e325f0
|
||||
---
|
||||
|
||||
# Criador de Toque {#ringtone-maker}
|
||||
|
||||
Crie um trecho de toque de celular (.m4r) a partir de qualquer arquivo de áudio, selecionando um tempo inicial e uma duração.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/ringtone-maker`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| startS | number | Não | `0` | Tempo inicial em segundos (mínimo 0) |
|
||||
| durationS | number | Não | `30` | Duração do trecho em segundos (1 a 30) |
|
||||
|
||||
## Exemplo de Requisição {#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}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- A saída é sempre no formato M4R, compatível com toques do iPhone.
|
||||
- A duração máxima do toque é de 30 segundos (limite da Apple).
|
||||
- Qualquer formato de áudio pode ser usado como entrada.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "Remove trechos de silêncio de um arquivo de áudio."
|
||||
i18n_source_hash: a7624fc99b50
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: d785b0f332a4
|
||||
---
|
||||
|
||||
# Remoção de Silêncio {#silence-removal}
|
||||
|
||||
Detecte e remova trechos de silêncio de um arquivo de áudio com base em um limiar configurável e uma duração mínima.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/silence-removal`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| thresholdDb | number | Não | `-50` | Limiar de silêncio em dB (-80 a -20). Áudio abaixo desse nível é considerado silêncio. |
|
||||
| minSilenceS | number | Não | `0.5` | Duração mínima de silêncio em segundos a ser removida (0,1 a 5) |
|
||||
|
||||
## Exemplo de Requisição {#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}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- Um limiar mais alto (menos negativo) é mais agressivo e remove tanto as passagens mais baixas quanto o silêncio real.
|
||||
- Aumente `minSilenceS` para remover apenas pausas mais longas, mantendo pequenos intervalos naturais.
|
||||
- Útil para limpar gravações de podcasts, palestras e mensagens de voz.
|
||||
- A saída geralmente mantém o contêiner de entrada. Entradas AAC são gravadas como M4A, e entradas somente de decodificação sem suporte recorrem a MP3.
|
||||
@@ -0,0 +1,64 @@
|
||||
---
|
||||
description: "Divida o áudio por intervalos de tempo, partes iguais ou detecção de silêncio."
|
||||
i18n_source_hash: c062a395dbac
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: acef79f79f44
|
||||
---
|
||||
|
||||
# Dividir Áudio {#split-audio}
|
||||
|
||||
Divida um arquivo de áudio em segmentos por intervalos de tempo fixos, partes iguais ou detecção automática de silêncio. Retorna um arquivo ZIP com os segmentos.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/split-audio`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | Não | `"time"` | Estratégia de divisão: `time`, `parts`, `silence` |
|
||||
| segmentS | number | Não | `60` | Duração do segmento em segundos, 1 a 3600 (usado quando mode é `time`) |
|
||||
| parts | integer | Não | `2` | Número de partes iguais, 2 a 20 (usado quando mode é `parts`) |
|
||||
| thresholdDb | number | Não | `-40` | Limiar de silêncio em dB, -80 a -20 (usado quando mode é `silence`) |
|
||||
| minSilenceS | number | Não | `0.3` | Intervalo mínimo de silêncio em segundos, 0,1 a 10 (usado quando mode é `silence`) |
|
||||
|
||||
## Exemplo de Requisição {#example-request}
|
||||
|
||||
Dividir em 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 detecção de silêncio:
|
||||
|
||||
```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}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- O `downloadUrl` aponta para um arquivo ZIP contendo todos os segmentos.
|
||||
- Apenas os parâmetros relevantes para o `mode` escolhido são usados; os demais são ignorados.
|
||||
- Os nomes dos arquivos de segmento são numerados em sequência (ex.: `part-000.mp3`, `part-001.mp3`).
|
||||
- O formato de saída corresponde ao formato de entrada.
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
description: "Converta fala em texto com transcrição por IA."
|
||||
i18n_source_hash: ae98c4c0aed2
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 5d605f2aff6c
|
||||
---
|
||||
|
||||
# Transcrever Áudio {#transcribe-audio}
|
||||
|
||||
Converta fala em texto usando transcrição por IA (faster-whisper). Suporta os formatos de saída texto simples, SRT e VTT, com seleção de idioma automática ou manual.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/transcribe-audio`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| language | string | Não | `"auto"` | Idioma: `auto`, `en`, `de`, `fr`, `es`, `zh`, `ja`, `ko`, `id`, `th`, `vi` |
|
||||
| outputFormat | string | Não | `"txt"` | Formato de saída: `txt`, `srt`, `vtt` |
|
||||
|
||||
## Exemplo de Requisição {#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"}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#example-response}
|
||||
|
||||
Esta é uma ferramenta assíncrona. A API retorna `202 Accepted` imediatamente:
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
Acompanhe o progresso via SSE em `GET /api/v1/jobs/{jobId}/progress`. Quando o job é concluído, o fluxo SSE entrega o resultado final com um `downloadUrl`.
|
||||
|
||||
## Notas {#notes}
|
||||
|
||||
- Requer que o pacote de recursos **transcription** esteja instalado. Retorna `501` com o código `FEATURE_NOT_INSTALLED`, o `feature` ausente, `featureName` e `estimatedSize` se o pacote não estiver disponível.
|
||||
- Usa faster-whisper para a transcrição. O idioma `auto` detecta o idioma falado automaticamente.
|
||||
- Os formatos `srt` e `vtt` incluem marcações de tempo para cada segmento, adequados para legendas.
|
||||
- O formato `txt` retorna texto simples sem marcações de tempo.
|
||||
- Esta é uma ferramenta de IA de longa duração; o tempo de processamento depende da duração do áudio e do hardware do servidor.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "Recorte um trecho de um arquivo de áudio informando os tempos de início e fim."
|
||||
i18n_source_hash: 8b80c5c8a711
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 25e53e62c92f
|
||||
---
|
||||
|
||||
# Recortar Áudio {#trim-audio}
|
||||
|
||||
Recorte um trecho de um arquivo de áudio informando os tempos de início e fim em segundos.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/trim-audio`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| startS | number | Não | `0` | Tempo de início em segundos (mínimo 0) |
|
||||
| endS | number | Sim | - | Tempo de fim em segundos (deve ser posterior ao início) |
|
||||
|
||||
## Exemplo de Requisição {#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}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- Os tempos são informados em segundos e podem incluir decimais (ex.: `10.5`).
|
||||
- O valor de `endS` deve ser maior que `startS`.
|
||||
- Se `endS` exceder a duração do áudio, o arquivo é recortado até o fim.
|
||||
- A saída geralmente mantém o contêiner de entrada. Entradas AAC são gravadas como M4A, e entradas somente de decodificação sem suporte recorrem a MP3.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Aumente ou diminua o volume do áudio por um ganho fixo em decibéis."
|
||||
i18n_source_hash: b9bc1de2c9ef
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 8d205884bf96
|
||||
---
|
||||
|
||||
# Ajustar Volume {#volume-adjust}
|
||||
|
||||
Aumente ou diminua o volume de um arquivo de áudio aplicando um ganho fixo em decibéis.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/volume-adjust`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| gainDb | number | Não | `3` | Ajuste de volume em decibéis (-30 a 30) |
|
||||
|
||||
## Exemplo de Requisição {#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}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- Valores positivos aumentam o volume; valores negativos o diminuem.
|
||||
- Ganhos positivos grandes podem causar clipping. Use normalize-audio para nivelamento de volume seguro.
|
||||
- A saída geralmente mantém o contêiner de entrada. Entradas AAC são gravadas como M4A, e entradas somente de decodificação sem suporte recorrem a MP3.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "Gere uma visualização de forma de onda como imagem PNG a partir de um arquivo de áudio."
|
||||
i18n_source_hash: 5480106dfe48
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 5c771b545e76
|
||||
---
|
||||
|
||||
# Imagem de Forma de Onda {#waveform-image}
|
||||
|
||||
Gere uma visualização de forma de onda como imagem PNG a partir de um arquivo de áudio, com dimensões e cor configuráveis.
|
||||
|
||||
## Endpoint da API {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/waveform-image`
|
||||
|
||||
Aceita dados de formulário multipart com um arquivo de áudio e um campo JSON `settings`.
|
||||
|
||||
## Parâmetros {#parameters}
|
||||
|
||||
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| width | integer | Não | `1024` | Largura da imagem em pixels (256 a 3840) |
|
||||
| height | integer | Não | `256` | Altura da imagem em pixels (64 a 1080) |
|
||||
| color | string | Não | `"#4f46e5"` | Cor hexadecimal da forma de onda (ex.: `"#4f46e5"`) |
|
||||
|
||||
## Exemplo de Requisição {#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"}'
|
||||
```
|
||||
|
||||
## Exemplo de Resposta {#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}
|
||||
|
||||
- A saída é sempre uma imagem PNG, independentemente do formato de áudio de entrada.
|
||||
- A forma de onda é renderizada sobre um fundo transparente.
|
||||
- Útil para miniaturas, prévias em redes sociais ou incorporação em páginas web.
|
||||
Reference in New Issue
Block a user