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: "Konversi antara mono dan stereo atau tukar saluran kiri dan kanan."
|
||||
i18n_source_hash: 4f5cd6b38c83
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 4ecd476154c8
|
||||
---
|
||||
|
||||
# Audio Channels {#audio-channels}
|
||||
|
||||
Konversi audio antara tata letak mono dan stereo, atau tukar saluran kiri dan kanan dari file stereo.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-channels`
|
||||
|
||||
Menerima data formulir multipart dengan file audio dan bidang JSON `settings`.
|
||||
|
||||
## Parameter {#parameters}
|
||||
|
||||
| Parameter | Tipe | Wajib | Bawaan | Deskripsi |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | Ya | - | Operasi saluran: `stereo-to-mono`, `mono-to-stereo`, `swap` |
|
||||
|
||||
## Contoh Permintaan {#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"}'
|
||||
```
|
||||
|
||||
## Contoh Respons {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 2300000
|
||||
}
|
||||
```
|
||||
|
||||
## Catatan {#notes}
|
||||
|
||||
- `stereo-to-mono` mencampur kedua saluran menjadi satu trek mono.
|
||||
- `mono-to-stereo` menduplikasi saluran mono ke kiri dan kanan.
|
||||
- `swap` menukar saluran kiri dan kanan dari file stereo.
|
||||
- Output biasanya mempertahankan kontainer input. Input AAC ditulis sebagai M4A, dan input decode-only yang tidak didukung beralih ke MP3.
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
description: "Lihat, edit, atau hapus tag metadata audio (ID3)."
|
||||
i18n_source_hash: 0717018e11cb
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 4421b188dcfe
|
||||
---
|
||||
|
||||
# Audio Metadata {#audio-metadata}
|
||||
|
||||
Lihat, edit, atau hapus tag metadata audio seperti judul, artis, dan album (ID3 dan format tag serupa).
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-metadata`
|
||||
|
||||
Menerima data formulir multipart dengan file audio dan bidang JSON `settings`.
|
||||
|
||||
## Parameter {#parameters}
|
||||
|
||||
| Parameter | Tipe | Wajib | Bawaan | Deskripsi |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| strip | boolean | Tidak | `false` | Menghapus semua tag metadata yang ada |
|
||||
| title | string | Tidak | - | Setel tag judul (maks 500 karakter) |
|
||||
| artist | string | Tidak | - | Setel tag artis (maks 500 karakter) |
|
||||
| album | string | Tidak | - | Setel tag album (maks 500 karakter) |
|
||||
|
||||
## Contoh Permintaan {#example-request}
|
||||
|
||||
Edit tag metadata:
|
||||
|
||||
```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"}'
|
||||
```
|
||||
|
||||
Hapus semua metadata:
|
||||
|
||||
```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}'
|
||||
```
|
||||
|
||||
## Contoh Respons {#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"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Catatan {#notes}
|
||||
|
||||
- Respons menyertakan objek `metadata` dengan format kontainer, durasi, bitrate, dan tag saat ini.
|
||||
- Saat `strip` bernilai `true`, semua bidang tag diabaikan dan setiap tag yang ada dihapus.
|
||||
- Hanya tag yang Anda berikan yang diperbarui; tag yang tidak ditentukan tetap tidak berubah.
|
||||
- Format output cocok dengan format input.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Percepat atau perlambat pemutaran audio dengan pengali."
|
||||
i18n_source_hash: e39ba662e594
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: d1fcb8585155
|
||||
---
|
||||
|
||||
# Audio Speed {#audio-speed}
|
||||
|
||||
Percepat atau perlambat pemutaran audio dengan menerapkan pengali kecepatan.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-speed`
|
||||
|
||||
Menerima data formulir multipart dengan file audio dan bidang JSON `settings`.
|
||||
|
||||
## Parameter {#parameters}
|
||||
|
||||
| Parameter | Tipe | Wajib | Bawaan | Deskripsi |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| factor | number | Tidak | `1.5` | Pengali kecepatan (0.25 hingga 4). Nilai di bawah 1 memperlambat; di atas 1 mempercepat. |
|
||||
|
||||
## Contoh Permintaan {#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}'
|
||||
```
|
||||
|
||||
## Contoh Respons {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 2250000
|
||||
}
|
||||
```
|
||||
|
||||
## Catatan {#notes}
|
||||
|
||||
- Faktor `0.25` memutar pada seperempat kecepatan (4x lebih panjang). Faktor `4` memutar pada empat kali kecepatan (4x lebih pendek).
|
||||
- Nada dipertahankan saat kecepatan berubah (time-stretch). Gunakan pitch-shift untuk menyesuaikan nada secara independen.
|
||||
- Output biasanya mempertahankan kontainer input. Input AAC ditulis sebagai M4A, dan input decode-only yang tidak didukung beralih ke MP3.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Konversi audio antara format MP3, WAV, OGG, FLAC, dan M4A."
|
||||
i18n_source_hash: fd02c059e6a9
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 06454316167e
|
||||
---
|
||||
|
||||
# Convert Audio {#convert-audio}
|
||||
|
||||
Konversi file audio antara format umum termasuk MP3, WAV, OGG, FLAC, dan M4A, dengan bitrate output yang dapat dikonfigurasi.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/convert-audio`
|
||||
|
||||
Menerima data formulir multipart dengan file audio dan bidang JSON `settings`.
|
||||
|
||||
## Parameter {#parameters}
|
||||
|
||||
| Parameter | Tipe | Wajib | Bawaan | Deskripsi |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | Tidak | `"mp3"` | Format output: `mp3`, `wav`, `ogg`, `flac`, `m4a` |
|
||||
| bitrateKbps | integer | Tidak | `192` | Bitrate output dalam kbps (32 hingga 320) |
|
||||
|
||||
## Contoh Permintaan {#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}'
|
||||
```
|
||||
|
||||
## Contoh Respons {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.flac",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 8200000
|
||||
}
|
||||
```
|
||||
|
||||
## Catatan {#notes}
|
||||
|
||||
- Format input yang didukung meliputi MP3, WAV, OGG, FLAC, AAC, M4A, WMA, AIFF, dan OPUS.
|
||||
- Bitrate hanya berlaku untuk format lossy (MP3, OGG, M4A). Format lossless seperti WAV dan FLAC mengabaikan pengaturan ini.
|
||||
- Nama file output mempertahankan nama asli dengan ekstensi baru.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Tambahkan efek fade-in dan fade-out ke audio."
|
||||
i18n_source_hash: 86856451ecb8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 9aea5805437b
|
||||
---
|
||||
|
||||
# Fade Audio {#fade-audio}
|
||||
|
||||
Tambahkan efek fade-in dan fade-out ke awal dan akhir file audio.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/fade-audio`
|
||||
|
||||
Menerima data formulir multipart dengan file audio dan bidang JSON `settings`.
|
||||
|
||||
## Parameter {#parameters}
|
||||
|
||||
| Parameter | Tipe | Wajib | Bawaan | Deskripsi |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| fadeInS | number | Tidak | `1` | Durasi fade-in dalam detik (0 hingga 30) |
|
||||
| fadeOutS | number | Tidak | `1` | Durasi fade-out dalam detik (0 hingga 30) |
|
||||
|
||||
## Contoh Permintaan {#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}'
|
||||
```
|
||||
|
||||
## Contoh Respons {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Catatan {#notes}
|
||||
|
||||
- Setel salah satu nilai ke `0` untuk melewati arah fade tersebut. Setidaknya satu harus lebih besar dari 0.
|
||||
- Durasi fade dibatasi ke panjang audio jika melebihinya.
|
||||
- Output biasanya mempertahankan kontainer input. Input AAC ditulis sebagai M4A, dan input decode-only yang tidak didukung beralih ke MP3.
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
description: "Gabungkan beberapa file audio menjadi satu trek sekuensial."
|
||||
i18n_source_hash: defa993d3f87
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: f63e6228a426
|
||||
---
|
||||
|
||||
# Merge Audio {#merge-audio}
|
||||
|
||||
Gabungkan dua atau lebih file audio menjadi satu trek sekuensial, digabungkan sesuai urutan pengunggahan.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/merge-audio`
|
||||
|
||||
Menerima data formulir multipart dengan beberapa file audio dan bidang JSON `settings`.
|
||||
|
||||
## Parameter {#parameters}
|
||||
|
||||
| Parameter | Tipe | Wajib | Bawaan | Deskripsi |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | Tidak | `"mp3"` | Format output: `mp3`, `wav`, `flac`, `m4a` |
|
||||
|
||||
## Contoh Permintaan {#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"}'
|
||||
```
|
||||
|
||||
## Contoh Respons {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/merged.mp3",
|
||||
"originalSize": 9500000,
|
||||
"processedSize": 9200000
|
||||
}
|
||||
```
|
||||
|
||||
## Catatan {#notes}
|
||||
|
||||
- Menerima 2 hingga 10 file audio per permintaan.
|
||||
- File digabungkan sesuai urutan pengunggahan.
|
||||
- Semua file input dienkode ulang ke format output dan sample rate yang dipilih untuk penggabungan yang mulus.
|
||||
- Format input campuran didukung (mis. satu WAV dan satu MP3).
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Kurangi kebisingan latar dari audio dengan denoising berbasis FFT."
|
||||
i18n_source_hash: 57cbdbd449aa
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 367959b9e163
|
||||
---
|
||||
|
||||
# Noise Reduction {#noise-reduction}
|
||||
|
||||
Kurangi kebisingan latar dalam file audio menggunakan denoising berbasis FFT dengan kekuatan yang dapat dipilih.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/noise-reduction`
|
||||
|
||||
Menerima data formulir multipart dengan file audio dan bidang JSON `settings`.
|
||||
|
||||
## Parameter {#parameters}
|
||||
|
||||
| Parameter | Tipe | Wajib | Bawaan | Deskripsi |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| strength | string | Tidak | `"medium"` | Kekuatan denoising: `light`, `medium`, `strong` |
|
||||
|
||||
## Contoh Permintaan {#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"}'
|
||||
```
|
||||
|
||||
## Contoh Respons {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Catatan {#notes}
|
||||
|
||||
- `light` mempertahankan lebih banyak detail tetapi menghilangkan lebih sedikit kebisingan. `strong` menghilangkan lebih banyak kebisingan tetapi dapat memunculkan artefak halus.
|
||||
- Hasil terbaik pada rekaman dengan kebisingan latar yang konsisten (dengung kipas, AC, statis).
|
||||
- Output biasanya mempertahankan kontainer input. Input AAC ditulis sebagai M4A, dan input decode-only yang tidak didukung beralih ke MP3.
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "Ratakan kenyaringan ke tingkat standar siaran (EBU R128)."
|
||||
i18n_source_hash: 794d8cfa5ad8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: f78038532996
|
||||
---
|
||||
|
||||
# Normalize Audio {#normalize-audio}
|
||||
|
||||
Ratakan kenyaringan audio ke tingkat standar siaran menggunakan normalisasi EBU R128 (-16 LUFS).
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/normalize-audio`
|
||||
|
||||
Menerima data formulir multipart dengan file audio dan bidang JSON `settings`.
|
||||
|
||||
## Parameter {#parameters}
|
||||
|
||||
Alat ini tidak memiliki parameter yang dapat dikonfigurasi. Alat ini menerapkan normalisasi kenyaringan EBU R128 secara otomatis.
|
||||
|
||||
## Contoh Permintaan {#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"
|
||||
```
|
||||
|
||||
## Contoh Respons {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Catatan {#notes}
|
||||
|
||||
- Menggunakan standar kenyaringan EBU R128, menargetkan -16 LUFS.
|
||||
- Ideal untuk podcast, buku audio, dan konten siaran yang membutuhkan kenyaringan konsisten.
|
||||
- Sample rate sumber dipertahankan pada output.
|
||||
- Output biasanya mempertahankan kontainer input. Input AAC ditulis sebagai M4A, dan input decode-only yang tidak didukung beralih ke MP3.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Naikkan atau turunkan nada audio dalam semiton tanpa mengubah kecepatan."
|
||||
i18n_source_hash: 2804d0eeecc8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: eba91a099043
|
||||
---
|
||||
|
||||
# Pitch Shift {#pitch-shift}
|
||||
|
||||
Naikkan atau turunkan nada file audio sebanyak sejumlah semiton tanpa mengubah kecepatan pemutarannya.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/pitch-shift`
|
||||
|
||||
Menerima data formulir multipart dengan file audio dan bidang JSON `settings`.
|
||||
|
||||
## Parameter {#parameters}
|
||||
|
||||
| Parameter | Tipe | Wajib | Bawaan | Deskripsi |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| semitones | integer | Tidak | `3` | Semiton untuk digeser (-12 hingga 12). Harus bukan nol. |
|
||||
|
||||
## Contoh Permintaan {#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}'
|
||||
```
|
||||
|
||||
## Contoh Respons {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Catatan {#notes}
|
||||
|
||||
- Nilai positif menaikkan nada; nilai negatif menurunkannya.
|
||||
- Pergeseran 12 semiton sama dengan satu oktaf ke atas; -12 sama dengan satu oktaf ke bawah.
|
||||
- Durasi pemutaran tetap sama terlepas dari jumlah pergeseran.
|
||||
- Output biasanya mempertahankan kontainer input. Input AAC ditulis sebagai M4A, dan input decode-only yang tidak didukung beralih ke MP3.
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
description: "Balikkan file audio sehingga diputar mundur."
|
||||
i18n_source_hash: 5c2017661803
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: e1a8be8429d5
|
||||
---
|
||||
|
||||
# Reverse Audio {#reverse-audio}
|
||||
|
||||
Balikkan file audio sehingga diputar mundur.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/reverse-audio`
|
||||
|
||||
Menerima data formulir multipart dengan file audio dan bidang JSON `settings`.
|
||||
|
||||
## Parameter {#parameters}
|
||||
|
||||
Alat ini tidak memiliki parameter yang dapat dikonfigurasi. Seluruh file audio dibalik.
|
||||
|
||||
## Contoh Permintaan {#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"
|
||||
```
|
||||
|
||||
## Contoh Respons {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Catatan {#notes}
|
||||
|
||||
- Seluruh trek audio dibalik dari akhir ke awal.
|
||||
- Output biasanya mempertahankan kontainer input. Input AAC ditulis sebagai M4A, dan input decode-only yang tidak didukung beralih ke MP3.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Buat klip nada dering dari file audio apa pun."
|
||||
i18n_source_hash: 8fcdcc545fbc
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 25ba233eff25
|
||||
---
|
||||
|
||||
# Ringtone Maker {#ringtone-maker}
|
||||
|
||||
Buat klip nada dering (.m4r) dari file audio apa pun dengan memilih waktu mulai dan durasi.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/ringtone-maker`
|
||||
|
||||
Menerima data formulir multipart dengan file audio dan bidang JSON `settings`.
|
||||
|
||||
## Parameter {#parameters}
|
||||
|
||||
| Parameter | Tipe | Wajib | Bawaan | Deskripsi |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| startS | number | Tidak | `0` | Waktu mulai dalam detik (minimum 0) |
|
||||
| durationS | number | Tidak | `30` | Durasi klip dalam detik (1 hingga 30) |
|
||||
|
||||
## Contoh Permintaan {#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}'
|
||||
```
|
||||
|
||||
## Contoh Respons {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.m4r",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 620000
|
||||
}
|
||||
```
|
||||
|
||||
## Catatan {#notes}
|
||||
|
||||
- Output selalu berformat M4R, kompatibel dengan nada dering iPhone.
|
||||
- Durasi nada dering maksimum adalah 30 detik (batas Apple).
|
||||
- Format audio apa pun dapat digunakan sebagai input.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "Hapus bagian hening dari file audio."
|
||||
i18n_source_hash: a7624fc99b50
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 28bb8bd4b45a
|
||||
---
|
||||
|
||||
# Silence Removal {#silence-removal}
|
||||
|
||||
Deteksi dan hapus bagian hening dari file audio berdasarkan ambang batas dan durasi minimum yang dapat dikonfigurasi.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/silence-removal`
|
||||
|
||||
Menerima multipart form data berisi file audio dan field JSON `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| thresholdDb | number | No | `-50` | Ambang batas hening dalam dB (-80 hingga -20). Audio di bawah level ini dianggap hening. |
|
||||
| minSilenceS | number | No | `0.5` | Durasi hening minimum dalam detik untuk dihapus (0.1 hingga 5) |
|
||||
|
||||
## Example Request {#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}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 3200000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- Ambang batas yang lebih tinggi (kurang negatif) lebih agresif dan menghapus bagian yang lebih pelan serta hening sesungguhnya.
|
||||
- Naikkan `minSilenceS` agar hanya jeda yang lebih panjang yang dihapus sementara jeda alami yang singkat tetap dipertahankan.
|
||||
- Berguna untuk membersihkan rekaman podcast, kuliah, dan memo suara.
|
||||
- Output biasanya mempertahankan container input. Input AAC ditulis sebagai M4A, dan input decode-only yang tidak didukung dialihkan ke MP3.
|
||||
@@ -0,0 +1,64 @@
|
||||
---
|
||||
description: "Bagi audio berdasarkan interval waktu, bagian yang sama besar, atau deteksi hening."
|
||||
i18n_source_hash: c062a395dbac
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 58b5ae91712d
|
||||
---
|
||||
|
||||
# Split Audio {#split-audio}
|
||||
|
||||
Bagi file audio menjadi segmen berdasarkan interval waktu tetap, bagian yang sama besar, atau deteksi hening otomatis. Mengembalikan arsip ZIP berisi segmen-segmen tersebut.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/split-audio`
|
||||
|
||||
Menerima multipart form data berisi file audio dan field JSON `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | No | `"time"` | Strategi pembagian: `time`, `parts`, `silence` |
|
||||
| segmentS | number | No | `60` | Panjang segmen dalam detik, 1 hingga 3600 (digunakan saat mode adalah `time`) |
|
||||
| parts | integer | No | `2` | Jumlah bagian yang sama besar, 2 hingga 20 (digunakan saat mode adalah `parts`) |
|
||||
| thresholdDb | number | No | `-40` | Ambang batas hening dalam dB, -80 hingga -20 (digunakan saat mode adalah `silence`) |
|
||||
| minSilenceS | number | No | `0.3` | Jeda hening minimum dalam detik, 0.1 hingga 10 (digunakan saat mode adalah `silence`) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
Bagi menjadi segmen 30 detik:
|
||||
|
||||
```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}'
|
||||
```
|
||||
|
||||
Bagi berdasarkan deteksi hening:
|
||||
|
||||
```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}'
|
||||
```
|
||||
|
||||
## Example Response {#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
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- `downloadUrl` menunjuk ke arsip ZIP yang berisi semua segmen.
|
||||
- Hanya parameter yang relevan dengan `mode` yang dipilih yang digunakan; parameter lainnya diabaikan.
|
||||
- Nama file segmen diberi nomor secara berurutan (mis. `part-000.mp3`, `part-001.mp3`).
|
||||
- Format output menyesuaikan dengan format input.
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
description: "Ubah ucapan menjadi teks dengan transkripsi bertenaga AI."
|
||||
i18n_source_hash: ae98c4c0aed2
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: ed0acb2b52f0
|
||||
---
|
||||
|
||||
# Transcribe Audio {#transcribe-audio}
|
||||
|
||||
Ubah ucapan menjadi teks menggunakan transkripsi bertenaga AI (faster-whisper). Mendukung format output teks biasa, SRT, dan VTT dengan pemilihan bahasa otomatis atau manual.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/transcribe-audio`
|
||||
|
||||
Menerima multipart form data berisi file audio dan field JSON `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| language | string | No | `"auto"` | Bahasa: `auto`, `en`, `de`, `fr`, `es`, `zh`, `ja`, `ko`, `id`, `th`, `vi` |
|
||||
| outputFormat | string | No | `"txt"` | Format output: `txt`, `srt`, `vtt` |
|
||||
|
||||
## Example Request {#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"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
Ini adalah tool asinkron. API mengembalikan `202 Accepted` secara langsung:
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
Lacak progres melalui SSE di `GET /api/v1/jobs/{jobId}/progress`. Ketika pekerjaan selesai, aliran SSE mengirimkan hasil akhir dengan `downloadUrl`.
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- Memerlukan feature bundle **transcription** untuk diinstal. Mengembalikan `501` dengan kode `FEATURE_NOT_INSTALLED`, `feature` yang hilang, `featureName`, dan `estimatedSize` jika bundle tidak tersedia.
|
||||
- Menggunakan faster-whisper untuk transkripsi. Bahasa `auto` mendeteksi bahasa yang diucapkan secara otomatis.
|
||||
- Format `srt` dan `vtt` menyertakan timestamp untuk setiap segmen, cocok untuk subtitle.
|
||||
- Format `txt` mengembalikan teks biasa tanpa timestamp.
|
||||
- Ini adalah tool AI yang berjalan lama; waktu pemrosesan bergantung pada panjang audio dan perangkat keras server.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "Potong sebuah bagian dari file audio dengan menentukan waktu mulai dan waktu akhir."
|
||||
i18n_source_hash: 8b80c5c8a711
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: fcfb8ae122c3
|
||||
---
|
||||
|
||||
# Trim Audio {#trim-audio}
|
||||
|
||||
Potong sebuah bagian dari file audio dengan menentukan waktu mulai dan waktu akhir dalam detik.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/trim-audio`
|
||||
|
||||
Menerima multipart form data berisi file audio dan field JSON `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| startS | number | No | `0` | Waktu mulai dalam detik (minimum 0) |
|
||||
| endS | number | Yes | - | Waktu akhir dalam detik (harus setelah waktu mulai) |
|
||||
|
||||
## Example Request {#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}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 1575000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- Waktu ditentukan dalam detik dan dapat mencakup desimal (mis. `10.5`).
|
||||
- Nilai `endS` harus lebih besar dari `startS`.
|
||||
- Jika `endS` melebihi durasi audio, file dipangkas hingga akhir.
|
||||
- Output biasanya mempertahankan container input. Input AAC ditulis sebagai M4A, dan input decode-only yang tidak didukung dialihkan ke MP3.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Naikkan atau turunkan volume audio dengan gain tetap dalam desibel."
|
||||
i18n_source_hash: b9bc1de2c9ef
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 866044e85428
|
||||
---
|
||||
|
||||
# Volume Adjust {#volume-adjust}
|
||||
|
||||
Naikkan atau turunkan volume file audio dengan menerapkan gain tetap dalam desibel.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/volume-adjust`
|
||||
|
||||
Menerima multipart form data berisi file audio dan field JSON `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| gainDb | number | No | `3` | Penyesuaian volume dalam desibel (-30 hingga 30) |
|
||||
|
||||
## Example Request {#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}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- Nilai positif menaikkan volume; nilai negatif menurunkannya.
|
||||
- Gain positif yang besar dapat menyebabkan clipping. Gunakan normalize-audio untuk penyetaraan kenyaringan yang aman.
|
||||
- Output biasanya mempertahankan container input. Input AAC ditulis sebagai M4A, dan input decode-only yang tidak didukung dialihkan ke MP3.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "Hasilkan visualisasi bentuk gelombang sebagai gambar PNG dari file audio."
|
||||
i18n_source_hash: 5480106dfe48
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 2ee074ff47df
|
||||
---
|
||||
|
||||
# Waveform Image {#waveform-image}
|
||||
|
||||
Hasilkan visualisasi bentuk gelombang sebagai gambar PNG dari file audio, dengan dimensi dan warna yang dapat dikonfigurasi.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/waveform-image`
|
||||
|
||||
Menerima multipart form data berisi file audio dan field JSON `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| width | integer | No | `1024` | Lebar gambar dalam piksel (256 hingga 3840) |
|
||||
| height | integer | No | `256` | Tinggi gambar dalam piksel (64 hingga 1080) |
|
||||
| color | string | No | `"#4f46e5"` | Warna heksadesimal bentuk gelombang (mis. `"#4f46e5"`) |
|
||||
|
||||
## Example Request {#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"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.png",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 45000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- Output selalu berupa gambar PNG, terlepas dari format audio input.
|
||||
- Bentuk gelombang dirender pada latar belakang transparan.
|
||||
- Berguna untuk thumbnail, pratinjau media sosial, atau penyematan di halaman web.
|
||||
Reference in New Issue
Block a user