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:
SnapOtter
2026-07-11 13:52:47 +08:00
committed by GitHub
parent 00b651c9f8
commit 4963ab3bbd
3620 changed files with 306134 additions and 0 deletions
@@ -0,0 +1,49 @@
---
description: "Chuyển đổi giữa mono và stereo hoặc hoán đổi kênh trái và phải."
i18n_source_hash: 4f5cd6b38c83
i18n_provenance: human
i18n_output_hash: 62d06018ff52
---
# Kênh âm thanh {#audio-channels}
Chuyển đổi âm thanh giữa bố cục mono và stereo, hoặc hoán đổi kênh trái và phải của một tệp stereo.
## Endpoint API {#api-endpoint}
`POST /api/v1/tools/audio/audio-channels`
Chấp nhận dữ liệu form multipart với một tệp âm thanh và một trường JSON `settings`.
## Tham số {#parameters}
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|-----------|------|----------|---------|-------------|
| mode | string | Có | - | Thao tác kênh: `stereo-to-mono`, `mono-to-stereo`, `swap` |
## Yêu cầu ví dụ {#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"}'
```
## Phản hồi ví dụ {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
"originalSize": 4500000,
"processedSize": 2300000
}
```
## Ghi chú {#notes}
- `stereo-to-mono` trộn cả hai kênh thành một bản mono duy nhất.
- `mono-to-stereo` nhân đôi kênh mono ra cả trái và phải.
- `swap` hoán đổi kênh trái và phải của một tệp stereo.
- Đầu ra thường giữ container đầu vào. Đầu vào AAC được ghi thành M4A, và các đầu vào chỉ giải mã không được hỗ trợ sẽ chuyển về MP3.
@@ -0,0 +1,73 @@
---
description: "Xem, chỉnh sửa hoặc xóa thẻ metadata âm thanh (ID3)."
i18n_source_hash: 0717018e11cb
i18n_provenance: human
i18n_output_hash: 7122a9bcba50
---
# Metadata âm thanh {#audio-metadata}
Xem, chỉnh sửa hoặc xóa các thẻ metadata âm thanh như tiêu đề, nghệ sĩ và album (ID3 và các định dạng thẻ tương tự).
## Endpoint API {#api-endpoint}
`POST /api/v1/tools/audio/audio-metadata`
Chấp nhận dữ liệu form multipart với một tệp âm thanh và một trường JSON `settings`.
## Tham số {#parameters}
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|-----------|------|----------|---------|-------------|
| strip | boolean | Không | `false` | Xóa tất cả thẻ metadata hiện có |
| title | string | Không | - | Đặt thẻ tiêu đề (tối đa 500 ký tự) |
| artist | string | Không | - | Đặt thẻ nghệ sĩ (tối đa 500 ký tự) |
| album | string | Không | - | Đặt thẻ album (tối đa 500 ký tự) |
## Yêu cầu ví dụ {#example-request}
Chỉnh sửa thẻ 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"}'
```
Xóa toàn bộ 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}'
```
## Phản hồi ví dụ {#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"
}
}
}
```
## Ghi chú {#notes}
- Phản hồi bao gồm một đối tượng `metadata` với định dạng container, thời lượng, bitrate và các thẻ hiện tại.
- Khi `strip``true`, mọi trường thẻ bị bỏ qua và mọi thẻ hiện có bị xóa.
- Chỉ những thẻ bạn cung cấp mới được cập nhật; các thẻ không được chỉ định vẫn giữ nguyên.
- Định dạng đầu ra khớp với định dạng đầu vào.
+48
View File
@@ -0,0 +1,48 @@
---
description: "Tăng tốc hoặc làm chậm phát lại âm thanh bằng một hệ số nhân."
i18n_source_hash: e39ba662e594
i18n_provenance: human
i18n_output_hash: ce42394f75b8
---
# Tốc độ âm thanh {#audio-speed}
Tăng tốc hoặc làm chậm phát lại âm thanh bằng cách áp dụng một hệ số nhân tốc độ.
## Endpoint API {#api-endpoint}
`POST /api/v1/tools/audio/audio-speed`
Chấp nhận dữ liệu form multipart với một tệp âm thanh và một trường JSON `settings`.
## Tham số {#parameters}
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|-----------|------|----------|---------|-------------|
| factor | number | Không | `1.5` | Hệ số nhân tốc độ (0.25 đến 4). Giá trị dưới 1 làm chậm; trên 1 tăng tốc. |
## Yêu cầu ví dụ {#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}'
```
## Phản hồi ví dụ {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
"originalSize": 4500000,
"processedSize": 2250000
}
```
## Ghi chú {#notes}
- Hệ số `0.25` phát ở một phần tư tốc độ (dài gấp 4 lần). Hệ số `4` phát ở tốc độ gấp bốn (ngắn hơn 4 lần).
- Cao độ được giữ nguyên trong khi tốc độ thay đổi (kéo giãn thời gian). Dùng pitch-shift để điều chỉnh cao độ một cách độc lập.
- Đầu ra thường giữ container đầu vào. Đầu vào AAC được ghi thành M4A, và các đầu vào chỉ giải mã không được hỗ trợ sẽ chuyển về MP3.
+49
View File
@@ -0,0 +1,49 @@
---
description: "Chuyển đổi âm thanh giữa các định dạng MP3, WAV, OGG, FLAC và M4A."
i18n_source_hash: fd02c059e6a9
i18n_provenance: human
i18n_output_hash: df9906d408e2
---
# Chuyển đổi âm thanh {#convert-audio}
Chuyển đổi tệp âm thanh giữa các định dạng phổ biến gồm MP3, WAV, OGG, FLAC và M4A, với bitrate đầu ra có thể cấu hình.
## Endpoint API {#api-endpoint}
`POST /api/v1/tools/audio/convert-audio`
Chấp nhận dữ liệu form multipart với một tệp âm thanh và một trường JSON `settings`.
## Tham số {#parameters}
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|-----------|------|----------|---------|-------------|
| format | string | Không | `"mp3"` | Định dạng đầu ra: `mp3`, `wav`, `ogg`, `flac`, `m4a` |
| bitrateKbps | integer | Không | `192` | Bitrate đầu ra tính bằng kbps (32 đến 320) |
## Yêu cầu ví dụ {#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}'
```
## Phản hồi ví dụ {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.flac",
"originalSize": 4500000,
"processedSize": 8200000
}
```
## Ghi chú {#notes}
- Các định dạng đầu vào được hỗ trợ gồm MP3, WAV, OGG, FLAC, AAC, M4A, WMA, AIFF và OPUS.
- Bitrate chỉ áp dụng cho các định dạng mất dữ liệu (MP3, OGG, M4A). Các định dạng không mất dữ liệu như WAV và FLAC bỏ qua cài đặt này.
- Tên tệp đầu ra giữ tên gốc với phần mở rộng mới.
+49
View File
@@ -0,0 +1,49 @@
---
description: "Thêm hiệu ứng fade-in và fade-out cho âm thanh."
i18n_source_hash: 86856451ecb8
i18n_provenance: human
i18n_output_hash: bab20ee78541
---
# Làm mờ âm thanh {#fade-audio}
Thêm hiệu ứng fade-in và fade-out vào phần đầu và phần cuối của một tệp âm thanh.
## Endpoint API {#api-endpoint}
`POST /api/v1/tools/audio/fade-audio`
Chấp nhận dữ liệu form multipart với một tệp âm thanh và một trường JSON `settings`.
## Tham số {#parameters}
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|-----------|------|----------|---------|-------------|
| fadeInS | number | Không | `1` | Thời lượng fade-in tính bằng giây (0 đến 30) |
| fadeOutS | number | Không | `1` | Thời lượng fade-out tính bằng giây (0 đến 30) |
## Yêu cầu ví dụ {#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}'
```
## Phản hồi ví dụ {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
"originalSize": 4500000,
"processedSize": 4500000
}
```
## Ghi chú {#notes}
- Đặt một trong hai giá trị thành `0` để bỏ qua hướng fade đó. Ít nhất một giá trị phải lớn hơn 0.
- Thời lượng fade được giới hạn theo độ dài âm thanh nếu vượt quá.
- Đầu ra thường giữ container đầu vào. Đầu vào AAC được ghi thành M4A, và các đầu vào chỉ giải mã không được hỗ trợ sẽ chuyển về MP3.
+51
View File
@@ -0,0 +1,51 @@
---
description: "Kết hợp nhiều tệp âm thanh thành một bản tuần tự."
i18n_source_hash: defa993d3f87
i18n_provenance: human
i18n_output_hash: 764d6516e3d9
---
# Gộp âm thanh {#merge-audio}
Kết hợp hai hoặc nhiều tệp âm thanh thành một bản tuần tự duy nhất, được nối theo thứ tự chúng được tải lên.
## Endpoint API {#api-endpoint}
`POST /api/v1/tools/audio/merge-audio`
Chấp nhận dữ liệu form multipart với nhiều tệp âm thanh và một trường JSON `settings`.
## Tham số {#parameters}
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|-----------|------|----------|---------|-------------|
| format | string | Không | `"mp3"` | Định dạng đầu ra: `mp3`, `wav`, `flac`, `m4a` |
## Yêu cầu ví dụ {#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"}'
```
## Phản hồi ví dụ {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/merged.mp3",
"originalSize": 9500000,
"processedSize": 9200000
}
```
## Ghi chú {#notes}
- Chấp nhận 2 đến 10 tệp âm thanh mỗi yêu cầu.
- Các tệp được nối theo thứ tự tải lên.
- Tất cả tệp đầu vào được mã hóa lại về định dạng đầu ra và tần số lấy mẫu đã chọn để nối liền mạch.
- Định dạng đầu vào hỗn hợp được hỗ trợ (ví dụ một tệp WAV và một tệp MP3).
@@ -0,0 +1,48 @@
---
description: "Giảm tạp âm nền khỏi âm thanh bằng khử nhiễu dựa trên FFT."
i18n_source_hash: 57cbdbd449aa
i18n_provenance: human
i18n_output_hash: 491bba429678
---
# Giảm nhiễu {#noise-reduction}
Giảm tạp âm nền trong một tệp âm thanh bằng cách khử nhiễu dựa trên FFT với cường độ có thể chọn.
## Endpoint API {#api-endpoint}
`POST /api/v1/tools/audio/noise-reduction`
Chấp nhận dữ liệu form multipart với một tệp âm thanh và một trường JSON `settings`.
## Tham số {#parameters}
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|-----------|------|----------|---------|-------------|
| strength | string | Không | `"medium"` | Cường độ khử nhiễu: `light`, `medium`, `strong` |
## Yêu cầu ví dụ {#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"}'
```
## Phản hồi ví dụ {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
"originalSize": 4500000,
"processedSize": 4500000
}
```
## Ghi chú {#notes}
- `light` giữ lại nhiều chi tiết hơn nhưng loại bỏ ít nhiễu hơn. `strong` loại bỏ nhiều nhiễu hơn nhưng có thể tạo ra các nhiễu ảo (artifact) nhỏ.
- Kết quả tốt nhất với các bản ghi có tạp âm nền ổn định (tiếng quạt kêu, điều hòa, tiếng rè tĩnh).
- Đầu ra thường giữ container đầu vào. Đầu vào AAC được ghi thành M4A, và các đầu vào chỉ giải mã không được hỗ trợ sẽ chuyển về MP3.
@@ -0,0 +1,46 @@
---
description: "Cân bằng độ lớn về mức chuẩn phát sóng (EBU R128)."
i18n_source_hash: 794d8cfa5ad8
i18n_provenance: human
i18n_output_hash: 661f138f4e53
---
# Chuẩn hóa âm thanh {#normalize-audio}
Cân bằng độ lớn âm thanh về mức chuẩn phát sóng bằng chuẩn hóa EBU R128 (-16 LUFS).
## Endpoint API {#api-endpoint}
`POST /api/v1/tools/audio/normalize-audio`
Chấp nhận dữ liệu form multipart với một tệp âm thanh và một trường JSON `settings`.
## Tham số {#parameters}
Công cụ này không có tham số cấu hình. Nó tự động áp dụng chuẩn hóa độ lớn EBU R128.
## Yêu cầu ví dụ {#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"
```
## Phản hồi ví dụ {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
"originalSize": 4500000,
"processedSize": 4500000
}
```
## Ghi chú {#notes}
- Dùng chuẩn độ lớn EBU R128, nhắm mục tiêu -16 LUFS.
- Lý tưởng cho podcast, sách nói và nội dung phát sóng, nơi độ lớn nhất quán là quan trọng.
- Tần số lấy mẫu nguồn được giữ nguyên trong đầu ra.
- Đầu ra thường giữ container đầu vào. Đầu vào AAC được ghi thành M4A, và các đầu vào chỉ giải mã không được hỗ trợ sẽ chuyển về MP3.
+49
View File
@@ -0,0 +1,49 @@
---
description: "Nâng hoặc hạ cao độ âm thanh theo semitone mà không thay đổi tốc độ."
i18n_source_hash: 2804d0eeecc8
i18n_provenance: human
i18n_output_hash: c6ba492ff8a7
---
# Dịch cao độ {#pitch-shift}
Nâng hoặc hạ cao độ của một tệp âm thanh theo một số semitone mà không thay đổi tốc độ phát lại của nó.
## Endpoint API {#api-endpoint}
`POST /api/v1/tools/audio/pitch-shift`
Chấp nhận dữ liệu form multipart với một tệp âm thanh và một trường JSON `settings`.
## Tham số {#parameters}
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|-----------|------|----------|---------|-------------|
| semitones | integer | Không | `3` | Số semitone để dịch (-12 đến 12). Phải khác không. |
## Yêu cầu ví dụ {#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}'
```
## Phản hồi ví dụ {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
"originalSize": 4500000,
"processedSize": 4500000
}
```
## Ghi chú {#notes}
- Giá trị dương nâng cao độ; giá trị âm hạ cao độ.
- Dịch 12 semitone bằng một quãng tám lên; -12 bằng một quãng tám xuống.
- Thời lượng phát lại vẫn giữ nguyên bất kể lượng dịch.
- Đầu ra thường giữ container đầu vào. Đầu vào AAC được ghi thành M4A, và các đầu vào chỉ giải mã không được hỗ trợ sẽ chuyển về MP3.
+44
View File
@@ -0,0 +1,44 @@
---
description: "Đảo ngược một tệp âm thanh để nó phát ngược."
i18n_source_hash: 5c2017661803
i18n_provenance: human
i18n_output_hash: 6b6038547b59
---
# Đảo ngược âm thanh {#reverse-audio}
Đảo ngược một tệp âm thanh để nó phát ngược.
## Endpoint API {#api-endpoint}
`POST /api/v1/tools/audio/reverse-audio`
Chấp nhận dữ liệu form multipart với một tệp âm thanh và một trường JSON `settings`.
## Tham số {#parameters}
Công cụ này không có tham số cấu hình. Toàn bộ tệp âm thanh được đảo ngược.
## Yêu cầu ví dụ {#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"
```
## Phản hồi ví dụ {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
"originalSize": 4500000,
"processedSize": 4500000
}
```
## Ghi chú {#notes}
- Toàn bộ bản âm thanh được đảo ngược từ cuối về đầu.
- Đầu ra thường giữ container đầu vào. Đầu vào AAC được ghi thành M4A, và các đầu vào chỉ giải mã không được hỗ trợ sẽ chuyển về MP3.
@@ -0,0 +1,49 @@
---
description: "Tạo một đoạn nhạc chuông từ bất kỳ tệp âm thanh nào."
i18n_source_hash: 8fcdcc545fbc
i18n_provenance: human
i18n_output_hash: 99ea82c04da7
---
# Tạo nhạc chuông {#ringtone-maker}
Tạo một đoạn nhạc chuông (.m4r) từ bất kỳ tệp âm thanh nào bằng cách chọn thời điểm bắt đầu và thời lượng.
## Endpoint API {#api-endpoint}
`POST /api/v1/tools/audio/ringtone-maker`
Chấp nhận dữ liệu form multipart với một tệp âm thanh và một trường JSON `settings`.
## Tham số {#parameters}
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|-----------|------|----------|---------|-------------|
| startS | number | Không | `0` | Thời điểm bắt đầu tính bằng giây (tối thiểu 0) |
| durationS | number | Không | `30` | Thời lượng đoạn tính bằng giây (1 đến 30) |
## Yêu cầu ví dụ {#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}'
```
## Phản hồi ví dụ {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.m4r",
"originalSize": 4500000,
"processedSize": 620000
}
```
## Ghi chú {#notes}
- Đầu ra luôn là định dạng M4R, tương thích với nhạc chuông iPhone.
- Thời lượng nhạc chuông tối đa là 30 giây (giới hạn của Apple).
- Bất kỳ định dạng âm thanh nào cũng có thể dùng làm đầu vào.
@@ -0,0 +1,50 @@
---
description: "Loại bỏ các đoạn im lặng khỏi tệp âm thanh."
i18n_source_hash: a7624fc99b50
i18n_provenance: human
i18n_output_hash: 1c6abf754787
---
# Silence Removal {#silence-removal}
Phát hiện và loại bỏ các đoạn im lặng khỏi tệp âm thanh dựa trên ngưỡng và thời lượng tối thiểu có thể cấu hình.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/audio/silence-removal`
Nhận dữ liệu multipart form với một tệp âm thanh và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| thresholdDb | number | No | `-50` | Ngưỡng im lặng tính bằng dB (-80 đến -20). Âm thanh dưới mức này được coi là im lặng. |
| minSilenceS | number | No | `0.5` | Thời lượng im lặng tối thiểu tính bằng giây cần loại bỏ (0.1 đến 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}
- Ngưỡng cao hơn (ít âm hơn) sẽ mạnh tay hơn và loại bỏ cả những đoạn nhỏ tiếng lẫn im lặng thực sự.
- Tăng `minSilenceS` để chỉ cắt bỏ những khoảng dừng dài hơn trong khi vẫn giữ lại những khoảng lặng tự nhiên ngắn.
- Hữu ích để dọn dẹp các bản thu podcast, bài giảng và ghi âm giọng nói.
- Đầu ra thường giữ nguyên container của tệp đầu vào. Đầu vào AAC được ghi thành M4A, còn các đầu vào chỉ giải mã được nhưng không hỗ trợ sẽ chuyển về MP3.
+64
View File
@@ -0,0 +1,64 @@
---
description: "Chia âm thanh theo khoảng thời gian, số phần bằng nhau, hoặc phát hiện im lặng."
i18n_source_hash: c062a395dbac
i18n_provenance: human
i18n_output_hash: 36399c884a4f
---
# Split Audio {#split-audio}
Chia một tệp âm thanh thành các đoạn theo khoảng thời gian cố định, số phần bằng nhau, hoặc phát hiện im lặng tự động. Trả về một tệp lưu trữ ZIP chứa các đoạn.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/audio/split-audio`
Nhận dữ liệu multipart form với một tệp âm thanh và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| mode | string | No | `"time"` | Chiến lược chia: `time`, `parts`, `silence` |
| segmentS | number | No | `60` | Độ dài mỗi đoạn tính bằng giây, 1 đến 3600 (dùng khi mode là `time`) |
| parts | integer | No | `2` | Số phần bằng nhau, 2 đến 20 (dùng khi mode là `parts`) |
| thresholdDb | number | No | `-40` | Ngưỡng im lặng tính bằng dB, -80 đến -20 (dùng khi mode là `silence`) |
| minSilenceS | number | No | `0.3` | Khoảng lặng tối thiểu tính bằng giây, 0.1 đến 10 (dùng khi mode là `silence`) |
## Example Request {#example-request}
Chia thành các đoạn 30 giây:
```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}'
```
Chia theo phát hiện im lặng:
```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` trỏ đến một tệp lưu trữ ZIP chứa tất cả các đoạn.
- Chỉ các tham số liên quan đến `mode` đã chọn mới được dùng; các tham số khác bị bỏ qua.
- Tên tệp của các đoạn được đánh số tuần tự (ví dụ `part-000.mp3`, `part-001.mp3`).
- Định dạng đầu ra khớp với định dạng đầu vào.
@@ -0,0 +1,53 @@
---
description: "Chuyển giọng nói thành văn bản bằng phiên âm hỗ trợ AI."
i18n_source_hash: ae98c4c0aed2
i18n_provenance: human
i18n_output_hash: 1d62713737af
---
# Transcribe Audio {#transcribe-audio}
Chuyển giọng nói thành văn bản bằng phiên âm hỗ trợ AI (faster-whisper). Hỗ trợ các định dạng đầu ra văn bản thuần túy, SRT và VTT với lựa chọn ngôn ngữ tự động hoặc thủ công.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/audio/transcribe-audio`
Nhận dữ liệu multipart form với một tệp âm thanh và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| language | string | No | `"auto"` | Ngôn ngữ: `auto`, `en`, `de`, `fr`, `es`, `zh`, `ja`, `ko`, `id`, `th`, `vi` |
| outputFormat | string | No | `"txt"` | Định dạng đầu ra: `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}
Đây là một công cụ bất đồng bộ. API trả về `202 Accepted` ngay lập tức:
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
Theo dõi tiến trình qua SSE tại `GET /api/v1/jobs/{jobId}/progress`. Khi tác vụ hoàn tất, luồng SSE gửi kết quả cuối cùng kèm theo một `downloadUrl`.
## Notes {#notes}
- Yêu cầu cài đặt gói tính năng **transcription**. Trả về `501` với mã `FEATURE_NOT_INSTALLED`, cùng `feature`, `featureName``estimatedSize` còn thiếu nếu gói không khả dụng.
- Sử dụng faster-whisper để phiên âm. Ngôn ngữ `auto` tự động phát hiện ngôn ngữ được nói.
- Các định dạng `srt``vtt` bao gồm dấu thời gian cho từng đoạn, phù hợp làm phụ đề.
- Định dạng `txt` trả về văn bản thuần túy không có dấu thời gian.
- Đây là một công cụ AI chạy lâu; thời gian xử lý phụ thuộc vào độ dài âm thanh và phần cứng máy chủ.
+50
View File
@@ -0,0 +1,50 @@
---
description: "Cắt một đoạn ra khỏi tệp âm thanh bằng cách chỉ định thời gian bắt đầu và kết thúc."
i18n_source_hash: 8b80c5c8a711
i18n_provenance: human
i18n_output_hash: 0fed4c7599a1
---
# Trim Audio {#trim-audio}
Cắt một đoạn ra khỏi tệp âm thanh bằng cách chỉ định thời gian bắt đầu và kết thúc tính bằng giây.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/audio/trim-audio`
Nhận dữ liệu multipart form với một tệp âm thanh và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| startS | number | No | `0` | Thời gian bắt đầu tính bằng giây (tối thiểu 0) |
| endS | number | Yes | - | Thời gian kết thúc tính bằng giây (phải sau thời gian bắt đầu) |
## 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}
- Thời gian được chỉ định bằng giây và có thể bao gồm phần thập phân (ví dụ `10.5`).
- Giá trị `endS` phải lớn hơn `startS`.
- Nếu `endS` vượt quá thời lượng âm thanh, tệp sẽ được cắt đến cuối.
- Đầu ra thường giữ nguyên container của tệp đầu vào. Đầu vào AAC được ghi thành M4A, còn các đầu vào chỉ giải mã được nhưng không hỗ trợ sẽ chuyển về MP3.
+48
View File
@@ -0,0 +1,48 @@
---
description: "Tăng hoặc giảm âm lượng bằng một mức khuếch đại cố định tính bằng decibel."
i18n_source_hash: b9bc1de2c9ef
i18n_provenance: human
i18n_output_hash: 08ab23fad5a9
---
# Volume Adjust {#volume-adjust}
Tăng hoặc giảm âm lượng của một tệp âm thanh bằng cách áp dụng một mức khuếch đại cố định tính bằng decibel.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/audio/volume-adjust`
Nhận dữ liệu multipart form với một tệp âm thanh và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| gainDb | number | No | `3` | Điều chỉnh âm lượng tính bằng decibel (-30 đến 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}
- Giá trị dương làm tăng âm lượng; giá trị âm làm giảm âm lượng.
- Mức khuếch đại dương lớn có thể gây méo tiếng (clipping). Dùng normalize-audio để cân bằng độ lớn an toàn.
- Đầu ra thường giữ nguyên container của tệp đầu vào. Đầu vào AAC được ghi thành M4A, còn các đầu vào chỉ giải mã được nhưng không hỗ trợ sẽ chuyển về MP3.
@@ -0,0 +1,50 @@
---
description: "Tạo hình ảnh trực quan hóa dạng sóng dưới dạng ảnh PNG từ một tệp âm thanh."
i18n_source_hash: 5480106dfe48
i18n_provenance: human
i18n_output_hash: 0ee8f9af1835
---
# Waveform Image {#waveform-image}
Tạo hình ảnh trực quan hóa dạng sóng dưới dạng ảnh PNG từ một tệp âm thanh, với kích thước và màu sắc có thể cấu hình.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/audio/waveform-image`
Nhận dữ liệu multipart form với một tệp âm thanh và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| width | integer | No | `1024` | Chiều rộng ảnh tính bằng pixel (256 đến 3840) |
| height | integer | No | `256` | Chiều cao ảnh tính bằng pixel (64 đến 1080) |
| color | string | No | `"#4f46e5"` | Màu hex của dạng sóng (ví dụ `"#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}
- Đầu ra luôn là một ảnh PNG, bất kể định dạng âm thanh đầu vào.
- Dạng sóng được vẽ trên nền trong suốt.
- Hữu ích cho ảnh thu nhỏ, xem trước trên mạng xã hội, hoặc nhúng vào trang web.