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: "모노와 스테레오 간 변환하거나 좌우 채널을 서로 바꿉니다."
|
||||
i18n_source_hash: 4f5cd6b38c83
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 3281d6a75db8
|
||||
---
|
||||
|
||||
# Audio Channels {#audio-channels}
|
||||
|
||||
오디오를 모노와 스테레오 레이아웃 간에 변환하거나, 스테레오 파일의 좌우 채널을 서로 바꿉니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-channels`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 파라미터 {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | Yes | - | 채널 작업: `stereo-to-mono`, `mono-to-stereo`, `swap` |
|
||||
|
||||
## 요청 예시 {#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"}'
|
||||
```
|
||||
|
||||
## 응답 예시 {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 2300000
|
||||
}
|
||||
```
|
||||
|
||||
## 참고 {#notes}
|
||||
|
||||
- `stereo-to-mono`은 두 채널을 하나의 모노 트랙으로 믹싱합니다.
|
||||
- `mono-to-stereo`은 모노 채널을 좌우 양쪽으로 복제합니다.
|
||||
- `swap`은 스테레오 파일의 좌우 채널을 서로 바꿉니다.
|
||||
- 출력은 보통 입력 컨테이너를 유지합니다. AAC 입력은 M4A로 작성되며, 지원되지 않는 디코드 전용 입력은 MP3로 폴백됩니다.
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
description: "오디오 메타데이터 태그(ID3)를 조회, 편집 또는 제거합니다."
|
||||
i18n_source_hash: 0717018e11cb
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: f73ed48361d1
|
||||
---
|
||||
|
||||
# Audio Metadata {#audio-metadata}
|
||||
|
||||
제목, 아티스트, 앨범과 같은 오디오 메타데이터 태그(ID3 및 유사 태그 형식)를 조회, 편집 또는 제거합니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-metadata`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 파라미터 {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| strip | boolean | No | `false` | 기존 메타데이터 태그를 모두 제거 |
|
||||
| title | string | No | - | 제목 태그 설정(최대 500자) |
|
||||
| artist | string | No | - | 아티스트 태그 설정(최대 500자) |
|
||||
| album | string | No | - | 앨범 태그 설정(최대 500자) |
|
||||
|
||||
## 요청 예시 {#example-request}
|
||||
|
||||
메타데이터 태그 편집:
|
||||
|
||||
```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"}'
|
||||
```
|
||||
|
||||
모든 메타데이터 제거:
|
||||
|
||||
```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}'
|
||||
```
|
||||
|
||||
## 응답 예시 {#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"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 참고 {#notes}
|
||||
|
||||
- 응답에는 컨테이너 형식, 길이, 비트레이트, 현재 태그가 담긴 `metadata` 객체가 포함됩니다.
|
||||
- `strip`이 `true`이면 모든 태그 필드가 무시되고 기존 태그가 모두 제거됩니다.
|
||||
- 제공한 태그만 업데이트되며, 지정하지 않은 태그는 변경되지 않습니다.
|
||||
- 출력 형식은 입력 형식과 동일합니다.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "배율을 적용해 오디오 재생 속도를 빠르게 하거나 느리게 합니다."
|
||||
i18n_source_hash: e39ba662e594
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: dd484858fb15
|
||||
---
|
||||
|
||||
# Audio Speed {#audio-speed}
|
||||
|
||||
속도 배율을 적용해 오디오 재생을 빠르게 하거나 느리게 합니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/audio-speed`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 파라미터 {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| factor | number | No | `1.5` | 속도 배율(0.25 ~ 4). 1 미만은 느려지고, 1 초과는 빨라집니다. |
|
||||
|
||||
## 요청 예시 {#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}'
|
||||
```
|
||||
|
||||
## 응답 예시 {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 2250000
|
||||
}
|
||||
```
|
||||
|
||||
## 참고 {#notes}
|
||||
|
||||
- `0.25` 배율은 1/4 속도로 재생됩니다(4배 길어짐). `4` 배율은 4배 속도로 재생됩니다(4배 짧아짐).
|
||||
- 속도가 바뀌는 동안 피치는 보존됩니다(타임 스트레치). 피치를 독립적으로 조정하려면 pitch-shift를 사용하세요.
|
||||
- 출력은 보통 입력 컨테이너를 유지합니다. AAC 입력은 M4A로 작성되며, 지원되지 않는 디코드 전용 입력은 MP3로 폴백됩니다.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "MP3, WAV, OGG, FLAC, M4A 형식 간에 오디오를 변환합니다."
|
||||
i18n_source_hash: fd02c059e6a9
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: fb55ca6c563e
|
||||
---
|
||||
|
||||
# Convert Audio {#convert-audio}
|
||||
|
||||
MP3, WAV, OGG, FLAC, M4A를 포함한 일반적인 형식 간에 오디오 파일을 변환하며, 출력 비트레이트를 구성할 수 있습니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/convert-audio`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 파라미터 {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | No | `"mp3"` | 출력 형식: `mp3`, `wav`, `ogg`, `flac`, `m4a` |
|
||||
| bitrateKbps | integer | No | `192` | 출력 비트레이트(kbps 단위, 32 ~ 320) |
|
||||
|
||||
## 요청 예시 {#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}'
|
||||
```
|
||||
|
||||
## 응답 예시 {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.flac",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 8200000
|
||||
}
|
||||
```
|
||||
|
||||
## 참고 {#notes}
|
||||
|
||||
- 지원되는 입력 형식에는 MP3, WAV, OGG, FLAC, AAC, M4A, WMA, AIFF, OPUS가 포함됩니다.
|
||||
- 비트레이트는 손실 형식(MP3, OGG, M4A)에만 적용됩니다. WAV 및 FLAC 같은 무손실 형식은 이 설정을 무시합니다.
|
||||
- 출력 파일 이름은 원래 이름을 유지하고 새 확장자를 사용합니다.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "오디오에 페이드 인 및 페이드 아웃 효과를 추가합니다."
|
||||
i18n_source_hash: 86856451ecb8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: c4ccca38ac60
|
||||
---
|
||||
|
||||
# Fade Audio {#fade-audio}
|
||||
|
||||
오디오 파일의 시작과 끝에 페이드 인 및 페이드 아웃 효과를 추가합니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/fade-audio`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 파라미터 {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| fadeInS | number | No | `1` | 페이드 인 길이(초 단위, 0 ~ 30) |
|
||||
| fadeOutS | number | No | `1` | 페이드 아웃 길이(초 단위, 0 ~ 30) |
|
||||
|
||||
## 요청 예시 {#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}'
|
||||
```
|
||||
|
||||
## 응답 예시 {#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}
|
||||
|
||||
- 해당 페이드 방향을 건너뛰려면 값을 `0`으로 설정하세요. 최소 하나는 0보다 커야 합니다.
|
||||
- 페이드 길이가 오디오 길이를 초과하면 오디오 길이로 제한됩니다.
|
||||
- 출력은 보통 입력 컨테이너를 유지합니다. AAC 입력은 M4A로 작성되며, 지원되지 않는 디코드 전용 입력은 MP3로 폴백됩니다.
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
description: "여러 오디오 파일을 하나의 순차적 트랙으로 결합합니다."
|
||||
i18n_source_hash: defa993d3f87
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 78d0fad5d829
|
||||
---
|
||||
|
||||
# Merge Audio {#merge-audio}
|
||||
|
||||
두 개 이상의 오디오 파일을 업로드된 순서대로 이어붙여 하나의 순차적 트랙으로 결합합니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/merge-audio`
|
||||
|
||||
여러 오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 파라미터 {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | No | `"mp3"` | 출력 형식: `mp3`, `wav`, `flac`, `m4a` |
|
||||
|
||||
## 요청 예시 {#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"}'
|
||||
```
|
||||
|
||||
## 응답 예시 {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/merged.mp3",
|
||||
"originalSize": 9500000,
|
||||
"processedSize": 9200000
|
||||
}
|
||||
```
|
||||
|
||||
## 참고 {#notes}
|
||||
|
||||
- 요청당 2개에서 10개의 오디오 파일을 받습니다.
|
||||
- 파일은 업로드 순서대로 이어붙여집니다.
|
||||
- 모든 입력 파일은 매끄러운 결합을 위해 선택한 출력 형식과 샘플 레이트로 다시 인코딩됩니다.
|
||||
- 혼합된 입력 형식이 지원됩니다(예: WAV 하나와 MP3 하나).
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "FFT 기반 노이즈 제거로 오디오의 배경 잡음을 줄입니다."
|
||||
i18n_source_hash: 57cbdbd449aa
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: da749f3cf1bb
|
||||
---
|
||||
|
||||
# Noise Reduction {#noise-reduction}
|
||||
|
||||
선택 가능한 강도의 FFT 기반 노이즈 제거를 사용해 오디오 파일의 배경 잡음을 줄입니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/noise-reduction`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 파라미터 {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| strength | string | No | `"medium"` | 노이즈 제거 강도: `light`, `medium`, `strong` |
|
||||
|
||||
## 요청 예시 {#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"}'
|
||||
```
|
||||
|
||||
## 응답 예시 {#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}
|
||||
|
||||
- `light`은 더 많은 디테일을 보존하지만 잡음을 덜 제거합니다. `strong`은 잡음을 더 많이 제거하지만 미세한 아티팩트가 생길 수 있습니다.
|
||||
- 일관된 배경 잡음(팬 소리, 에어컨, 잡음)이 있는 녹음에서 가장 좋은 결과를 냅니다.
|
||||
- 출력은 보통 입력 컨테이너를 유지합니다. AAC 입력은 M4A로 작성되며, 지원되지 않는 디코드 전용 입력은 MP3로 폴백됩니다.
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "방송 표준 레벨(EBU R128)에 맞춰 음량을 고르게 합니다."
|
||||
i18n_source_hash: 794d8cfa5ad8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: d946c4e6095f
|
||||
---
|
||||
|
||||
# Normalize Audio {#normalize-audio}
|
||||
|
||||
EBU R128 정규화(-16 LUFS)를 사용해 오디오 음량을 방송 표준 레벨로 고르게 합니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/normalize-audio`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 파라미터 {#parameters}
|
||||
|
||||
이 도구에는 구성 가능한 파라미터가 없습니다. EBU R128 음량 정규화를 자동으로 적용합니다.
|
||||
|
||||
## 요청 예시 {#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"
|
||||
```
|
||||
|
||||
## 응답 예시 {#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}
|
||||
|
||||
- EBU R128 음량 표준을 사용하며 -16 LUFS를 목표로 합니다.
|
||||
- 일관된 음량이 중요한 팟캐스트, 오디오북, 방송 콘텐츠에 이상적입니다.
|
||||
- 소스 샘플 레이트는 출력에 보존됩니다.
|
||||
- 출력은 보통 입력 컨테이너를 유지합니다. AAC 입력은 M4A로 작성되며, 지원되지 않는 디코드 전용 입력은 MP3로 폴백됩니다.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "속도를 바꾸지 않고 오디오 피치를 반음 단위로 올리거나 내립니다."
|
||||
i18n_source_hash: 2804d0eeecc8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 47d9f3295a37
|
||||
---
|
||||
|
||||
# Pitch Shift {#pitch-shift}
|
||||
|
||||
재생 속도를 바꾸지 않고 오디오 파일의 피치를 반음 단위로 올리거나 내립니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/pitch-shift`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 파라미터 {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| semitones | integer | No | `3` | 이동할 반음 수(-12 ~ 12). 0이 아니어야 합니다. |
|
||||
|
||||
## 요청 예시 {#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}'
|
||||
```
|
||||
|
||||
## 응답 예시 {#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}
|
||||
|
||||
- 양수 값은 피치를 올리고, 음수 값은 내립니다.
|
||||
- 12반음 이동은 한 옥타브 위, -12는 한 옥타브 아래와 같습니다.
|
||||
- 이동량과 관계없이 재생 길이는 동일하게 유지됩니다.
|
||||
- 출력은 보통 입력 컨테이너를 유지합니다. AAC 입력은 M4A로 작성되며, 지원되지 않는 디코드 전용 입력은 MP3로 폴백됩니다.
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
description: "오디오 파일을 뒤집어 거꾸로 재생되게 합니다."
|
||||
i18n_source_hash: 5c2017661803
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 374abee091f2
|
||||
---
|
||||
|
||||
# Reverse Audio {#reverse-audio}
|
||||
|
||||
오디오 파일을 뒤집어 거꾸로 재생되게 합니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/reverse-audio`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 파라미터 {#parameters}
|
||||
|
||||
이 도구에는 구성 가능한 파라미터가 없습니다. 전체 오디오 파일이 뒤집힙니다.
|
||||
|
||||
## 요청 예시 {#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"
|
||||
```
|
||||
|
||||
## 응답 예시 {#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}
|
||||
|
||||
- 전체 오디오 트랙이 끝에서 시작으로 뒤집힙니다.
|
||||
- 출력은 보통 입력 컨테이너를 유지합니다. AAC 입력은 M4A로 작성되며, 지원되지 않는 디코드 전용 입력은 MP3로 폴백됩니다.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "어떤 오디오 파일에서든 벨소리 클립을 만듭니다."
|
||||
i18n_source_hash: 8fcdcc545fbc
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 55f7c1cd1173
|
||||
---
|
||||
|
||||
# Ringtone Maker {#ringtone-maker}
|
||||
|
||||
시작 시간과 길이를 선택해 어떤 오디오 파일에서든 벨소리 클립(.m4r)을 만듭니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/ringtone-maker`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 파라미터 {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| startS | number | No | `0` | 시작 시간(초 단위, 최소 0) |
|
||||
| durationS | number | No | `30` | 클립 길이(초 단위, 1 ~ 30) |
|
||||
|
||||
## 요청 예시 {#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}'
|
||||
```
|
||||
|
||||
## 응답 예시 {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.m4r",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 620000
|
||||
}
|
||||
```
|
||||
|
||||
## 참고 {#notes}
|
||||
|
||||
- 출력은 항상 M4R 형식이며 iPhone 벨소리와 호환됩니다.
|
||||
- 최대 벨소리 길이는 30초입니다(Apple 제한).
|
||||
- 어떤 오디오 형식이든 입력으로 사용할 수 있습니다.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "오디오 파일에서 무음 구간을 제거합니다."
|
||||
i18n_source_hash: a7624fc99b50
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: a3049e5d1602
|
||||
---
|
||||
|
||||
# 무음 제거 {#silence-removal}
|
||||
|
||||
설정 가능한 임계값과 최소 지속 시간을 기준으로 오디오 파일에서 무음 구간을 감지하고 제거합니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/silence-removal`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 매개변수 {#parameters}
|
||||
|
||||
| 매개변수 | 유형 | 필수 | 기본값 | 설명 |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| thresholdDb | number | 아니요 | `-50` | dB 단위의 무음 임계값(-80 ~ -20). 이 수준보다 낮은 오디오는 무음으로 간주됩니다. |
|
||||
| minSilenceS | number | 아니요 | `0.5` | 제거할 최소 무음 지속 시간(초)(0.1 ~ 5) |
|
||||
|
||||
## 요청 예시 {#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}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 3200000
|
||||
}
|
||||
```
|
||||
|
||||
## 참고 사항 {#notes}
|
||||
|
||||
- 임계값이 더 높으면(덜 음수) 더 공격적으로 동작하여 실제 무음뿐 아니라 더 조용한 구간까지 제거합니다.
|
||||
- `minSilenceS` 값을 늘리면 짧은 자연스러운 간격은 유지하면서 더 긴 정지 구간만 제거합니다.
|
||||
- 팟캐스트 녹음, 강의, 음성 메모를 정리하는 데 유용합니다.
|
||||
- 출력은 보통 입력 컨테이너를 유지합니다. AAC 입력은 M4A로 기록되며, 디코드만 지원되는 입력 형식은 MP3로 대체됩니다.
|
||||
@@ -0,0 +1,64 @@
|
||||
---
|
||||
description: "오디오를 시간 간격, 균등 분할, 또는 무음 감지로 분할합니다."
|
||||
i18n_source_hash: c062a395dbac
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 83fe986636de
|
||||
---
|
||||
|
||||
# 오디오 분할 {#split-audio}
|
||||
|
||||
고정된 시간 간격, 균등 분할, 또는 자동 무음 감지를 기준으로 오디오 파일을 여러 세그먼트로 분할합니다. 세그먼트들이 담긴 ZIP 아카이브를 반환합니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/split-audio`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 매개변수 {#parameters}
|
||||
|
||||
| 매개변수 | 유형 | 필수 | 기본값 | 설명 |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | 아니요 | `"time"` | 분할 전략: `time`, `parts`, `silence` |
|
||||
| segmentS | number | 아니요 | `60` | 세그먼트 길이(초), 1 ~ 3600(mode가 `time`일 때 사용) |
|
||||
| parts | integer | 아니요 | `2` | 균등 분할 개수, 2 ~ 20(mode가 `parts`일 때 사용) |
|
||||
| thresholdDb | number | 아니요 | `-40` | dB 단위의 무음 임계값, -80 ~ -20(mode가 `silence`일 때 사용) |
|
||||
| minSilenceS | number | 아니요 | `0.3` | 최소 무음 간격(초), 0.1 ~ 10(mode가 `silence`일 때 사용) |
|
||||
|
||||
## 요청 예시 {#example-request}
|
||||
|
||||
30초 세그먼트로 분할:
|
||||
|
||||
```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}'
|
||||
```
|
||||
|
||||
무음 감지로 분할:
|
||||
|
||||
```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}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio_parts.zip",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4600000
|
||||
}
|
||||
```
|
||||
|
||||
## 참고 사항 {#notes}
|
||||
|
||||
- `downloadUrl`는 모든 세그먼트가 담긴 ZIP 아카이브를 가리킵니다.
|
||||
- 선택한 `mode`에 관련된 매개변수만 사용되며, 나머지는 무시됩니다.
|
||||
- 세그먼트 파일명은 순차적으로 번호가 매겨집니다(예: `part-000.mp3`, `part-001.mp3`).
|
||||
- 출력 형식은 입력 형식과 일치합니다.
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
description: "AI 기반 전사로 음성을 텍스트로 변환합니다."
|
||||
i18n_source_hash: ae98c4c0aed2
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 4f8c7123d0b9
|
||||
---
|
||||
|
||||
# 오디오 전사 {#transcribe-audio}
|
||||
|
||||
AI 기반 전사(faster-whisper)를 사용하여 음성을 텍스트로 변환합니다. 자동 또는 수동 언어 선택과 함께 일반 텍스트, SRT, VTT 출력 형식을 지원합니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/transcribe-audio`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 매개변수 {#parameters}
|
||||
|
||||
| 매개변수 | 유형 | 필수 | 기본값 | 설명 |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| language | string | 아니요 | `"auto"` | 언어: `auto`, `en`, `de`, `fr`, `es`, `zh`, `ja`, `ko`, `id`, `th`, `vi` |
|
||||
| outputFormat | string | 아니요 | `"txt"` | 출력 형식: `txt`, `srt`, `vtt` |
|
||||
|
||||
## 요청 예시 {#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}
|
||||
|
||||
이 도구는 비동기 도구입니다. API는 즉시 `202 Accepted`를 반환합니다:
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
`GET /api/v1/jobs/{jobId}/progress`에서 SSE를 통해 진행 상황을 추적하세요. 작업이 완료되면 SSE 스트림이 `downloadUrl`와 함께 최종 결과를 전달합니다.
|
||||
|
||||
## 참고 사항 {#notes}
|
||||
|
||||
- **transcription** 기능 번들이 설치되어 있어야 합니다. 번들을 사용할 수 없는 경우 코드 `FEATURE_NOT_INSTALLED`, 누락된 `feature`, `featureName`, `estimatedSize`와 함께 `501`를 반환합니다.
|
||||
- 전사에 faster-whisper를 사용합니다. 언어 `auto`는 발화된 언어를 자동으로 감지합니다.
|
||||
- `srt` 및 `vtt` 형식은 각 세그먼트의 타임스탬프를 포함하여 자막에 적합합니다.
|
||||
- `txt` 형식은 타임스탬프 없이 일반 텍스트를 반환합니다.
|
||||
- 이 도구는 오래 실행되는 AI 도구이며, 처리 시간은 오디오 길이와 서버 하드웨어에 따라 달라집니다.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "시작 및 종료 시간을 지정하여 오디오 파일에서 구간을 잘라냅니다."
|
||||
i18n_source_hash: 8b80c5c8a711
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 782c84e1cc78
|
||||
---
|
||||
|
||||
# 오디오 자르기 {#trim-audio}
|
||||
|
||||
시작 및 종료 시간을 초 단위로 지정하여 오디오 파일에서 구간을 잘라냅니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/trim-audio`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 매개변수 {#parameters}
|
||||
|
||||
| 매개변수 | 유형 | 필수 | 기본값 | 설명 |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| startS | number | 아니요 | `0` | 시작 시간(초)(최소 0) |
|
||||
| endS | number | 예 | - | 종료 시간(초)(시작 시간 이후여야 함) |
|
||||
|
||||
## 요청 예시 {#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}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 1575000
|
||||
}
|
||||
```
|
||||
|
||||
## 참고 사항 {#notes}
|
||||
|
||||
- 시간은 초 단위로 지정하며 소수를 포함할 수 있습니다(예: `10.5`).
|
||||
- `endS` 값은 `startS`보다 커야 합니다.
|
||||
- `endS`가 오디오 길이를 초과하면 파일이 끝까지 잘립니다.
|
||||
- 출력은 보통 입력 컨테이너를 유지합니다. AAC 입력은 M4A로 기록되며, 디코드만 지원되는 입력 형식은 MP3로 대체됩니다.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "데시벨 단위의 고정 게인으로 오디오 볼륨을 높이거나 낮춥니다."
|
||||
i18n_source_hash: b9bc1de2c9ef
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 6f5ebbf33cd7
|
||||
---
|
||||
|
||||
# 볼륨 조정 {#volume-adjust}
|
||||
|
||||
데시벨 단위의 고정 게인을 적용하여 오디오 파일의 볼륨을 높이거나 낮춥니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/volume-adjust`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 매개변수 {#parameters}
|
||||
|
||||
| 매개변수 | 유형 | 필수 | 기본값 | 설명 |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| gainDb | number | 아니요 | `3` | 데시벨 단위의 볼륨 조정(-30 ~ 30) |
|
||||
|
||||
## 요청 예시 {#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}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4500000
|
||||
}
|
||||
```
|
||||
|
||||
## 참고 사항 {#notes}
|
||||
|
||||
- 양수 값은 볼륨을 높이고, 음수 값은 낮춥니다.
|
||||
- 큰 양의 게인은 클리핑을 유발할 수 있습니다. 라우드니스 안전 레벨링을 위해서는 normalize-audio를 사용하세요.
|
||||
- 출력은 보통 입력 컨테이너를 유지합니다. AAC 입력은 M4A로 기록되며, 디코드만 지원되는 입력 형식은 MP3로 대체됩니다.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "오디오 파일로부터 파형 시각화를 PNG 이미지로 생성합니다."
|
||||
i18n_source_hash: 5480106dfe48
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: cba8f5d221b5
|
||||
---
|
||||
|
||||
# 파형 이미지 {#waveform-image}
|
||||
|
||||
설정 가능한 크기와 색상으로 오디오 파일로부터 파형 시각화를 PNG 이미지로 생성합니다.
|
||||
|
||||
## API 엔드포인트 {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/audio/waveform-image`
|
||||
|
||||
오디오 파일과 JSON `settings` 필드가 포함된 multipart form data를 받습니다.
|
||||
|
||||
## 매개변수 {#parameters}
|
||||
|
||||
| 매개변수 | 유형 | 필수 | 기본값 | 설명 |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| width | integer | 아니요 | `1024` | 이미지 너비(픽셀)(256 ~ 3840) |
|
||||
| height | integer | 아니요 | `256` | 이미지 높이(픽셀)(64 ~ 1080) |
|
||||
| color | string | 아니요 | `"#4f46e5"` | 파형 hex 색상(예: `"#4f46e5"`) |
|
||||
|
||||
## 요청 예시 {#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}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.png",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 45000
|
||||
}
|
||||
```
|
||||
|
||||
## 참고 사항 {#notes}
|
||||
|
||||
- 입력 오디오 형식과 관계없이 출력은 항상 PNG 이미지입니다.
|
||||
- 파형은 투명 배경에 렌더링됩니다.
|
||||
- 썸네일, 소셜 미디어 미리보기, 또는 웹 페이지 임베딩에 유용합니다.
|
||||
Reference in New Issue
Block a user