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: b8e17dffc341
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 67f9b193962e
|
||||
---
|
||||
|
||||
# Aspect Pad {#aspect-pad}
|
||||
|
||||
単色のレターボックスまたはピラーボックスのバーを追加し、切り抜くことなく動画を目標のアスペクト比に合わせます。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/aspect-pad`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| target | string | No | `"9:16"` | 目標のアスペクト比: `16:9`、`9:16`、`1:1`、`4:3`、`3:4` |
|
||||
| color | string | No | `"#000000"` | パディングバーの Hex カラー(黒の場合は例として `"#000000"`) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/aspect-pad \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"target": "1:1", "color": "#ffffff"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 13200000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 動画がすでに目標のアスペクト比に一致している場合、ファイルは変更されずに返されます。
|
||||
- 縦型・ポートレートのソーシャルメディア形式(TikTok、Reels、Shorts)には `9:16` を使用してください。
|
||||
- 単色ではなくぼかしパディングにする場合は、Blur Pad ツールを使用してください。
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "AI を使って動画の音声トラックから字幕ファイルを生成します。"
|
||||
i18n_source_hash: 35b1e78501ad
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: adbdc14ddb8a
|
||||
---
|
||||
|
||||
# Auto Subtitles {#auto-subtitles}
|
||||
|
||||
AI 搭載の音声認識(faster-whisper)を使って、動画の音声トラックから字幕ファイルを生成します。自動検出と 10 の明示的な言語に対応しています。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/auto-subtitles`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。これは非同期エンドポイントで、すぐに `202 Accepted` を返し、進捗は `GET /api/v1/jobs/{jobId}/progress` の SSE でストリーミングされます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| language | string | No | `"auto"` | 音声の言語: `auto`、`en`、`de`、`fr`、`es`、`zh`、`ja`、`ko`、`id`、`th`、`vi` |
|
||||
| format | string | No | `"srt"` | 出力する字幕形式: `srt`、`vtt` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/auto-subtitles \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"language": "en", "format": "srt"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- これは **transcription** 機能バンドルのインストールが必要な AI ツールです。バンドルがインストールされていない場合、API は管理 UI 経由でインストールする手順とともに `501 Feature Not Installed` を返します。
|
||||
- `auto` の言語オプションは whisper の組み込み言語検出を使用します。言語を明示的に指定すると精度と速度が向上します。
|
||||
- SRT は最も広くサポートされている字幕形式です。VTT(WebVTT)は Web の動画プレーヤー向けの標準です。
|
||||
- ジョブが完了するまで、進捗の更新は `GET /api/v1/jobs/{jobId}/progress` の SSE で確認できます。
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "動画のぼかしたコピーでバーを埋めます。"
|
||||
i18n_source_hash: 0c72aaefc6de
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: c8ddd78019fa
|
||||
---
|
||||
|
||||
# Blur Pad {#blur-pad}
|
||||
|
||||
単色のバーの代わりに、ぼかしてスケールした動画のコピーでパディング領域を埋めることで、動画を目標のアスペクト比に合わせます。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/blur-pad`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| target | string | No | `"16:9"` | 目標のアスペクト比: `16:9`、`9:16`、`1:1`、`4:3`、`3:4` |
|
||||
| blur | number | No | `20` | 背景のガウスぼかしシグマ(2〜50) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/blur-pad \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"target": "16:9", "blur": 30}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 14100000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- ぼかしの値を大きくすると、より柔らかく抽象的な背景になります。値を小さくすると、より多くのディテールが見えたままになります。
|
||||
- 動画がすでに目標のアスペクト比に一致している場合、ファイルは変更されずに返されます。
|
||||
- 単色パディングにする場合は、代わりに Aspect Pad ツールを使用してください。
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: "字幕を動画のフレームに恒久的に焼き込みます。"
|
||||
i18n_source_hash: 2d3111589db0
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 98591ed91dd9
|
||||
---
|
||||
|
||||
# Burn Subtitles {#burn-subtitles}
|
||||
|
||||
SRT、VTT、または ASS ファイルの字幕を、動画のすべてのフレームに恒久的にレンダリング(ハードコード)します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/burn-subtitles`
|
||||
|
||||
動画ファイルと字幕ファイルを含む multipart フォームデータを受け付けます。これは非同期エンドポイントで、即座に `202 Accepted` を返し、進捗は `GET /api/v1/jobs/{jobId}/progress` の SSE でストリーミングされます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| fontSize | integer | No | `24` | 字幕のフォントサイズ(ピクセル単位、8-72) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/burn-subtitles \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F "file=@subtitles.srt" \
|
||||
-F 'settings={"fontSize": 28}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- ファイルを2つアップロードします。1つ目は動画、2つ目は字幕ファイル(.srt、.vtt、または .ass)である必要があります。
|
||||
- 焼き込まれた字幕は動画の恒久的な一部となり、視聴者側でオフにすることはできません。切り替え可能な字幕には、代わりに Embed Subtitles ツールを使用してください。
|
||||
- ジョブが完了するまで、進捗の更新は `GET /api/v1/jobs/{jobId}/progress` の SSE で確認できます。
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "動画のフレームレートを変更します。"
|
||||
i18n_source_hash: 2bffbd04a1cb
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 38862d201bc1
|
||||
---
|
||||
|
||||
# Change FPS {#change-fps}
|
||||
|
||||
動画のフレームレートを 1 から 120 fps の間の目標値に変更します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/change-fps`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| fps | number | No | `30` | 目標フレームレート(1-120) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/change-fps \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"fps": 24}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 10200000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- フレームレートを下げるとフレームが間引かれ、ファイルサイズが小さくなります。上げるとフレームが複製されてギャップを埋めますが、実際の動きの詳細が追加されるわけではありません。
|
||||
- 一般的な目標値: 24(映画)、30(ウェブ/放送)、60(滑らかな再生)。
|
||||
- 音声トラックは元のサンプルレートで保持されます。
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: "品質を制御しながら動画ファイルサイズを縮小します。"
|
||||
i18n_source_hash: 9cc1f1acf74e
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: b34f153fd508
|
||||
---
|
||||
|
||||
# Compress Video {#compress-video}
|
||||
|
||||
設定可能な圧縮強度とオプションの解像度ダウンスケールを使用して、動画ファイルサイズを縮小します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/compress-video`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。これは非同期エンドポイントで、即座に `202 Accepted` を返し、進捗は `GET /api/v1/jobs/{jobId}/progress` の SSE でストリーミングされます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| quality | string | No | `"balanced"` | 圧縮強度: `light`、`balanced`、`strong` |
|
||||
| resolution | string | No | `"original"` | 出力解像度: `original`、`1080p`、`720p`、`480p` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/compress-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"quality": "strong", "resolution": "720p"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- `light` プリセットはほぼ元のままの品質を保ちます。`strong` プリセットは視覚的な忠実度を犠牲にして積極的にファイルサイズを削減します。
|
||||
- 解像度のダウンスケール(例: 4K から 720p)は圧縮と組み合わさり、大幅なサイズ削減につながります。
|
||||
- ジョブが完了するまで、進捗の更新は `GET /api/v1/jobs/{jobId}/progress` の SSE で確認できます。
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: "動画を MP4、MOV、WebM、AVI、MKV 間で変換します。"
|
||||
i18n_source_hash: 8f9e6418b1c6
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: dcac29f235f7
|
||||
---
|
||||
|
||||
# Convert Video {#convert-video}
|
||||
|
||||
設定可能な品質プリセットで、動画を MP4、MOV、WebM、AVI、MKV フォーマット間で変換します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/convert-video`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。これは非同期エンドポイントで、即座に `202 Accepted` を返し、進捗は `GET /api/v1/jobs/{jobId}/progress` の SSE でストリーミングされます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | No | `"mp4"` | 出力フォーマット: `mp4`、`mov`、`webm`、`avi`、`mkv` |
|
||||
| quality | string | No | `"balanced"` | 品質プリセット: `high`、`balanced`、`small` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/convert-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"format": "webm", "quality": "balanced"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- `high` 品質プリセットは最良の視覚的忠実度を生み出しますが、ファイルは大きくなります。`small` プリセットは最小のファイルサイズを目指して積極的に圧縮します。
|
||||
- WebM 出力は VP9 エンコードを使用します。MP4 と MOV は H.264 を使用します。AVI と MKV はレガシーまたはアーカイブ用途向けに利用できます。
|
||||
- ジョブが完了するまで、進捗の更新は `GET /api/v1/jobs/{jobId}/progress` の SSE で確認できます。
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
description: "動画から特定の領域を切り出します。"
|
||||
i18n_source_hash: fab11f71a202
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 7139ab9ebe0d
|
||||
---
|
||||
|
||||
# Crop Video {#crop-video}
|
||||
|
||||
領域のサイズと位置を指定して、動画から矩形領域を切り出します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/crop-video`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| width | integer | Yes | - | 切り出す領域の幅(ピクセル単位、最小16) |
|
||||
| height | integer | Yes | - | 切り出す領域の高さ(ピクセル単位、最小16) |
|
||||
| x | integer | No | `0` | 左上隅からの水平方向のオフセット |
|
||||
| y | integer | No | `0` | 左上隅からの垂直方向のオフセット |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/crop-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"width": 640, "height": 480, "x": 100, "y": 50}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 5200000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 切り出す領域は動画の寸法内に収まる必要があります。`x + width` または `y + height` がソースサイズを超えると、リクエストは 400 エラーを返します。
|
||||
- 切り出しの最小サイズは 16x16 ピクセルです。
|
||||
- 寸法は、ほとんどの動画コーデックが要求するとおり偶数に丸められます。
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "字幕トラックを動画コンテナに多重化します。"
|
||||
i18n_source_hash: be272730fff5
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 4e80ed3f3add
|
||||
---
|
||||
|
||||
# Embed Subtitles {#embed-subtitles}
|
||||
|
||||
字幕ファイルを、視聴者がオン/オフを切り替えられるソフト字幕トラックとして動画コンテナに多重化します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/embed-subtitles`
|
||||
|
||||
動画ファイルと字幕ファイル、および JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| language | string | No | `"eng"` | ISO 639-2/B 言語コード(小文字3文字、例: `"eng"`、`"fra"`、`"deu"`) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/embed-subtitles \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F "file=@subtitles.srt" \
|
||||
-F 'settings={"language": "fra"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 12520000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- ファイルを2つアップロードします。1つ目は動画、2つ目は字幕ファイル(.srt、.vtt、または .ass)である必要があります。
|
||||
- 埋め込まれた(ソフト)字幕は、視聴者がメディアプレーヤーで切り替えられます。常時表示される字幕には、代わりに Burn Subtitles ツールを使用してください。
|
||||
- 言語コードはコンテナ内にメタデータとして保存され、メディアプレーヤーが字幕トラックにラベルを付けるのに役立ちます。
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "動画から音声トラックを抽出します。"
|
||||
i18n_source_hash: f5b8330a5f89
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 9983a995ec76
|
||||
---
|
||||
|
||||
# Extract Audio {#extract-audio}
|
||||
|
||||
動画ファイルから音声トラックを抽出し、MP3、WAV、M4A、または OGG として保存します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/extract-audio`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | No | `"mp3"` | 出力音声フォーマット: `mp3`、`wav`、`m4a`、`ogg` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/extract-audio \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"format": "mp3"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp3",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 3200000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 動画に音声トラックがない場合、リクエストは 400 エラーを返します。
|
||||
- MP3 は非可逆ですが幅広く互換性があります。WAV は可逆ですがサイズが大きくなります。M4A(AAC)は品質とサイズのバランスが良好です。OGG はオープンコーデックのワークフロー向けに利用できます。
|
||||
- ソース音声がすでに AAC で出力フォーマットが M4A の場合、音声ストリームは再エンコードせずにコピーされます。
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
description: "動画から字幕トラックを SRT ファイルとして抽出します。"
|
||||
i18n_source_hash: 48db860f6676
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: e294ca50de11
|
||||
---
|
||||
|
||||
# Extract Subtitles {#extract-subtitles}
|
||||
|
||||
動画コンテナから埋め込まれた字幕トラックを抽出し、SRT ファイルとしてダウンロードします。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/extract-subtitles`
|
||||
|
||||
動画ファイルを含む multipart フォームデータを受け付けます。このツールに設定可能な項目はありません。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールにパラメータはありません。動画コンテナ内で見つかった最初の字幕トラックを抽出します。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/extract-subtitles \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.srt",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 4500
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 動画には埋め込み字幕トラックが含まれている必要があります。字幕トラックが見つからない場合、リクエストは 400 エラーを返します。
|
||||
- 動画に複数の字幕トラックがある場合、最初の1つが抽出されます。
|
||||
- コンテナ内の元の字幕フォーマットにかかわらず、出力フォーマットは SRT です。
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "アニメーション GIF を MP4、WebM、または MOV 動画に変換します。"
|
||||
i18n_source_hash: c3737b31146d
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 0e7c6b047506
|
||||
---
|
||||
|
||||
# GIF to Video {#gif-to-video}
|
||||
|
||||
アニメーション GIF をコンパクトな MP4、WebM、または MOV 動画ファイルに変換します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/gif-to-video`
|
||||
|
||||
GIF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | No | `"mp4"` | 出力フォーマット: `mp4`、`webm`、`mov` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/gif-to-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@animation.gif" \
|
||||
-F 'settings={"format": "mp4"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/animation.mp4",
|
||||
"originalSize": 8500000,
|
||||
"processedSize": 950000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- GIF から動画への変換は、同じ視覚品質を保ちながら通常はファイルサイズを 80〜90% 削減します。
|
||||
- 受け付けるのはアニメーション GIF ファイルのみです。静止画像には画像の Convert ツールを使用してください。
|
||||
- MP4 と MOV は H.264 エンコードを、WebM は VP9 を使用します。
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
description: "一連の画像をスライドショー動画に変換します。"
|
||||
i18n_source_hash: 2c6f183feb6d
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: c5a3597dcd66
|
||||
---
|
||||
|
||||
# Images to Video {#images-to-video}
|
||||
|
||||
一連の画像を、画像ごとの表示時間、解像度、フレームレートを設定できるスライドショー動画に変換します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/images-to-video`
|
||||
|
||||
2つ以上の画像ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| secondsPerImage | number | No | `2` | 画像ごとの表示時間(秒単位、0.5-10) |
|
||||
| resolution | string | No | `"720p"` | 出力解像度: `1080p`、`720p`、`square` |
|
||||
| fps | integer | No | `30` | 出力フレームレート(10-60) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/images-to-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@slide1.jpg" \
|
||||
-F "file=@slide2.jpg" \
|
||||
-F "file=@slide3.jpg" \
|
||||
-F "file=@slide4.jpg" \
|
||||
-F 'settings={"secondsPerImage": 3, "resolution": "1080p"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/slideshow.mp4",
|
||||
"originalSize": 3500000,
|
||||
"processedSize": 1200000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 1リクエストあたり 2〜60 個の画像ファイルを受け付けます。画像はアップロード順に動画へ表示されます。
|
||||
- 画像はアスペクト比を保ちながら、目標解像度に合わせてリサイズおよびパディングされます。
|
||||
- `square` 解像度オプションは 1080x1080 の動画を生成し、ソーシャルメディアに便利です。
|
||||
- 出力フォーマットは常に MP4(H.264)です。
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "複数の動画クリップを1つのファイルに結合します。"
|
||||
i18n_source_hash: 90463dfbb580
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 3280dff80b5e
|
||||
---
|
||||
|
||||
# Merge Videos {#merge-videos}
|
||||
|
||||
複数の動画クリップを単一の MP4 ファイルに結合します。すべての入力は、最初の動画の解像度と 30 fps に正規化されます。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/merge-videos`
|
||||
|
||||
2つ以上の動画ファイルを含む multipart フォームデータを受け付けます。これは非同期エンドポイントで、即座に `202 Accepted` を返し、進捗は `GET /api/v1/jobs/{jobId}/progress` の SSE でストリーミングされます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールに設定パラメータはありません。2〜10 個の動画ファイルを複数の `file` パートとしてアップロードします。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/merge-videos \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@intro.mp4" \
|
||||
-F "file=@main.mp4" \
|
||||
-F "file=@outro.mp4"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- クリップはアップロードされた順に連結されます。
|
||||
- すべてのクリップは、最初のクリップの解像度、フレームレート(30 fps)、コーデック(H.264)に合わせて再エンコードされます。一致しない入力は自動的に正規化されます。
|
||||
- 1リクエストあたり 2〜10 個の動画ファイルを受け付けます。
|
||||
- ジョブが完了するまで、進捗の更新は `GET /api/v1/jobs/{jobId}/progress` の SSE で確認できます。
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
description: "動画から音声トラックを削除します。"
|
||||
i18n_source_hash: 9a0c60bbcaa3
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 24a44b0406da
|
||||
---
|
||||
|
||||
# Mute Video {#mute-video}
|
||||
|
||||
動画から音声トラックを削除し、映像ストリームだけを残します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/mute-video`
|
||||
|
||||
動画ファイルを含む multipart フォームデータを受け付けます。このツールに設定可能な項目はありません。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールにパラメータはありません。アップロードされた動画から音声トラックを取り除きます。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/mute-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 8900000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 映像ストリームは再エンコードせずにコピーされるため、品質の低下はありません。
|
||||
- 入力動画に音声トラックがない場合、ファイルはそのまま返されます。
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "動画の音声トラックを別のファイルに差し替えます。"
|
||||
i18n_source_hash: fabc2a953103
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: b81d7d533585
|
||||
---
|
||||
|
||||
# Replace Audio {#replace-audio}
|
||||
|
||||
動画の音声トラックを音声ファイルに差し替えます。動画と音声ファイルの両方をアップロードします。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/replace-audio`
|
||||
|
||||
ちょうど2つのファイルを含む multipart フォームデータを受け付けます。動画ファイルの後に音声ファイルを続けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールに設定パラメータはありません。動画ファイルと音声ファイルを2つの `file` パートとしてアップロードします。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/replace-audio \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F "file=@voiceover.mp3"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 13100000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- ちょうど2つのファイルをアップロードする必要があります。1つ目は動画、2つ目は音声ファイルである必要があります。
|
||||
- 音声ファイルが動画より長い場合、動画の長さに合わせてトリミングされます。短い場合、残りの動画は無音で再生されます。
|
||||
- 映像ストリームは再エンコードせずにコピーされるため、映像品質の低下はありません。
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
description: "動画を新しい解像度またはプリセットサイズにスケーリングします。"
|
||||
i18n_source_hash: bb1f67871fea
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 26494a9cbb1f
|
||||
---
|
||||
|
||||
# Resize Video {#resize-video}
|
||||
|
||||
カスタムのピクセル寸法または標準プリセットを使用して、動画を新しい解像度にスケーリングします。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/resize-video`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| width | integer | No | - | 目標の幅(ピクセル単位、16-7680) |
|
||||
| height | integer | No | - | 目標の高さ(ピクセル単位、16-4320) |
|
||||
| preset | string | No | `"custom"` | 解像度プリセット: `custom`、`2160p`、`1440p`、`1080p`、`720p`、`480p`、`360p` |
|
||||
|
||||
`preset` が `"custom"` の場合、`width` または `height` の少なくとも一方を指定する必要があります。もう一方の寸法は比例してスケーリングされます。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/resize-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"preset": "720p"}'
|
||||
```
|
||||
|
||||
カスタム寸法にリサイズ:
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/resize-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"width": 1280, "height": 720}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 25000000,
|
||||
"processedSize": 8500000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- プリセット値は標準的な高さに対応します(例: `720p` = 1280x720、`1080p` = 1920x1080)。幅はソースのアスペクト比から比例してスケーリングされます。
|
||||
- 寸法は、ほとんどの動画コーデックが要求するとおり偶数に丸められます。
|
||||
- サポートされる最大解像度は 7680x4320(8K UHD)です。
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
description: "動画クリップを逆再生します。"
|
||||
i18n_source_hash: 98226f4e092d
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: d5ef42697d20
|
||||
---
|
||||
|
||||
# Reverse Video {#reverse-video}
|
||||
|
||||
動画クリップを逆再生します。音声トラックも反転されます。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/reverse-video`
|
||||
|
||||
動画ファイルを含む multipart フォームデータを受け付けます。このツールに設定可能な項目はありません。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールにパラメータはありません。動画全体を反転します。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/reverse-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 12600000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 長さが最大 5 分までのクリップに制限されます。それより長い動画は 400 エラーで拒否されます。
|
||||
- 映像と音声の両トラックが反転されます。音声なしで動画を反転するには、先にミュートしてください。
|
||||
@@ -0,0 +1,55 @@
|
||||
---
|
||||
description: "動画を回転または反転します。"
|
||||
i18n_source_hash: cf9620ca62c7
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 363f01839a6f
|
||||
---
|
||||
|
||||
# Rotate Video {#rotate-video}
|
||||
|
||||
動画を 90、180、または 270 度回転するか、水平または垂直に反転します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/rotate-video`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| transform | string | Yes | - | 適用する変換: `cw90`、`ccw90`、`180`、`hflip`、`vflip` |
|
||||
|
||||
### Transform Values {#transform-values}
|
||||
|
||||
- **cw90** - 時計回りに 90 度回転
|
||||
- **ccw90** - 反時計回りに 90 度回転
|
||||
- **180** - 180 度回転
|
||||
- **hflip** - 水平反転(ミラー)
|
||||
- **vflip** - 垂直反転
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/rotate-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"transform": "cw90"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 12400000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 90 度または 270 度の回転は、動画の幅と高さを入れ替えます。
|
||||
- 反転操作(hflip、vflip)は動画の寸法を変更しません。
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "2パスの手ブレ補正でカメラの揺れを低減します。"
|
||||
i18n_source_hash: ec908e91a752
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 1ec1838c9e4c
|
||||
---
|
||||
|
||||
# Stabilize Video {#stabilize-video}
|
||||
|
||||
FFmpeg の 2パス vidstab 手ブレ補正を使用して、手持ち撮影映像のカメラの揺れを低減します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/stabilize-video`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。これは非同期エンドポイントで、即座に `202 Accepted` を返し、進捗は `GET /api/v1/jobs/{jobId}/progress` の SSE でストリーミングされます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| smoothing | integer | No | `15` | スムージングウィンドウのサイズ(フレーム単位、5-60)。値が大きいほど動きが滑らかになります |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/stabilize-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"smoothing": 30}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 手ブレ補正は2パス処理です。1パス目でカメラの動きを解析し、2パス目で補正を適用します。これにはシングルパスのツールのおよそ2倍の時間がかかります。
|
||||
- スムージングの値が高いほど揺れは多く除去されますが、端にわずかなズームクロップが生じる場合があります。
|
||||
- ジョブが完了するまで、進捗の更新は `GET /api/v1/jobs/{jobId}/progress` の SSE で確認できます。
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "開始時刻と終了時刻を指定して動画からクリップを切り出します。"
|
||||
i18n_source_hash: c84481641979
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 14640a0c1434
|
||||
---
|
||||
|
||||
# Trim Video {#trim-video}
|
||||
|
||||
開始時刻と終了時刻を秒単位で指定して動画からクリップを切り出します。フレーム単位で正確に切り出すオプションもあります。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/trim-video`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| startS | number | No | `0` | 開始時刻(秒単位、0 以上である必要があります) |
|
||||
| endS | number | Yes | - | 終了時刻(秒単位、startS より後である必要があります) |
|
||||
| precise | boolean | No | `false` | キーフレームシークではなく、フレーム単位で正確に切り出すために再エンコードします |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/trim-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"startS": 5, "endS": 30, "precise": true}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 4200000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- `precise` が `false`(デフォルト)の場合、ツールはキーフレームシークを使用します。これは高速ですが、要求した時刻より数フレーム前から始まる場合があります。
|
||||
- `precise` を `true` に設定すると、正確なフレーム境界のためにセグメントを再エンコードしますが、時間が長くかかります。
|
||||
- `endS` の値は `startS` より大きい必要があります。
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
description: "動画の明るさ、コントラスト、彩度、ガンマを調整します。"
|
||||
i18n_source_hash: 40483b79d44b
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: abe3d6452ec2
|
||||
---
|
||||
|
||||
# Video Color {#video-color}
|
||||
|
||||
動画の明るさ、コントラスト、彩度、ガンマ補正を調整します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-color`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| brightness | number | No | `0` | 明るさの調整(-1 〜 1) |
|
||||
| contrast | number | No | `1` | コントラストの倍率(0-4) |
|
||||
| saturation | number | No | `1` | 彩度の倍率(0-3)。グレースケールにするには 0 に設定します |
|
||||
| gamma | number | No | `1` | ガンマ補正(0.1-10) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/video-color \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"brightness": 0.1, "contrast": 1.2, "saturation": 1.5}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 12300000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- すべての値がデフォルト(明るさ 0、コントラスト 1、彩度 1、ガンマ 1)の場合、変更は生じません。
|
||||
- 彩度を `0` に設定すると、動画がグレースケールに変換されます。
|
||||
- 1 未満のガンマ値はシャドウを明るくし、1 を超える値はシャドウを暗くします。
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
description: "動画の音声音量を放送規格に正規化します。"
|
||||
i18n_source_hash: 078f1e819c9a
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 38db801bdebb
|
||||
---
|
||||
|
||||
# Normalize Audio {#normalize-audio}
|
||||
|
||||
動画の音声音量を EBU R128 放送ラウドネス規格に正規化します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-loudnorm`
|
||||
|
||||
動画ファイルを含む multipart フォームデータを受け付けます。このツールに設定可能な項目はありません。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールにパラメータはありません。音声トラックに EBU R128 ラウドネス正規化を適用します。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/video-loudnorm \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 12500000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- FFmpeg の `loudnorm` フィルターを使用し、-16 LUFS の統合ラウドネス、-1.5 dBTP のトゥルーピーク、11 LU のラウドネスレンジ(EBU R128 放送規格)を目標とします。
|
||||
- ソース音声のサンプルレートは出力で保持されます。
|
||||
- 動画に音声トラックがない場合、リクエストは 400 エラーを返します。
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
description: "動画からメタデータを取り除き、見つかった内容を報告します。"
|
||||
i18n_source_hash: 69621bfb98ca
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 73c5c75470f2
|
||||
---
|
||||
|
||||
# Clean Video Metadata {#clean-video-metadata}
|
||||
|
||||
動画からメタデータ(作成日、GPS 座標、カメラモデル、ソフトウェアタグなど)を取り除き、削除された内容を報告します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-metadata`
|
||||
|
||||
動画ファイルを含む multipart フォームデータを受け付けます。このツールに設定可能な項目はありません。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールにパラメータはありません。動画コンテナからすべてのメタデータを取り除きます。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/video-metadata \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip_clean.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 12480000,
|
||||
"metadata": {
|
||||
"container": "mov,mp4,m4a,3gp,3g2,mj2",
|
||||
"durationS": 42.5,
|
||||
"bitrateKbps": 2350,
|
||||
"streams": [
|
||||
{ "type": "video", "codec": "h264", "width": 1920, "height": 1080 },
|
||||
{ "type": "audio", "codec": "aac", "sampleRate": 48000 }
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 取り除かれるメタデータには、作成タイムスタンプ、GPS/位置情報、カメラ/デバイス情報、ソフトウェアタグが含まれます。
|
||||
- 映像と音声のストリームは再エンコードせずにコピーされるため、品質の低下はありません。
|
||||
- 動画を公開する前のプライバシー保護に役立ちます。
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "動画を早送りまたはスロー再生します。"
|
||||
i18n_source_hash: 98dfc75c0507
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 7c7d0e810878
|
||||
---
|
||||
|
||||
# Video Speed {#video-speed}
|
||||
|
||||
音声のピッチを保持するオプション付きで、動画を早送りまたはスロー再生します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-speed`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| factor | number | No | `2` | 速度の倍率(0.25-4)。1 を超える値で早送り、1 未満でスロー再生になります |
|
||||
| keepPitch | boolean | No | `true` | 速度変更時に音声のピッチを保持します |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/video-speed \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"factor": 0.5, "keepPitch": true}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 24800000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 倍率 `2` は再生速度を2倍にします(再生時間が半分)。倍率 `0.5` は再生速度を半分にします(再生時間が2倍)。
|
||||
- `keepPitch` が `true` の場合、音声はタイムストレッチされ、声が自然に聞こえます。`false` の場合、ピッチは速度に比例して変化します。
|
||||
- 有効な範囲は 0.25 倍から 4 倍です。
|
||||
@@ -0,0 +1,62 @@
|
||||
---
|
||||
description: "動画からフレームを画像の ZIP として抽出します。"
|
||||
i18n_source_hash: b06f038dafb3
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 4e4146e412ef
|
||||
---
|
||||
|
||||
# Video to Frames {#video-to-frames}
|
||||
|
||||
動画から個々のフレームを抽出し、PNG または JPG 画像の ZIP アーカイブとしてダウンロードします。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-to-frames`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | No | `"all"` | 抽出モード: `all`、`nth`、`timestamps` |
|
||||
| n | integer | No | `10` | N フレームごとに抽出します(2-1000)。mode が `"nth"` の場合にのみ使用されます |
|
||||
| timestamps | string | No | `""` | カンマ区切りのタイムスタンプ(秒単位)。mode が `"timestamps"` の場合に必須です |
|
||||
| format | string | No | `"png"` | 抽出するフレームの画像フォーマット: `png`、`jpg` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
30 フレームごとに JPG として抽出:
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/video-to-frames \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"mode": "nth", "n": 30, "format": "jpg"}'
|
||||
```
|
||||
|
||||
特定のタイムスタンプでフレームを抽出:
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/video-to-frames \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"mode": "timestamps", "timestamps": "1.5,5,12.3"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip-frames.zip",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 45000000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- `all` モードはすべてのフレームを抽出し、長い動画では非常に大きな ZIP ファイルを生成する場合があります。選択的な抽出には `nth` または `timestamps` モードを使用してください。
|
||||
- PNG は完全な品質を保ちますが、ファイルは大きくなります。JPG は小さくなりますが非可逆です。
|
||||
- レスポンスは、連番が振られた画像ファイルを含む ZIP アーカイブとしてダウンロードされます。
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "動画クリップをアニメーション GIF に変換します。"
|
||||
i18n_source_hash: f729dde8cd55
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: da1c75fa9071
|
||||
---
|
||||
|
||||
# Video to GIF {#video-to-gif}
|
||||
|
||||
動画クリップを、フレームレート、幅、開始時刻、再生時間を設定できるアニメーション GIF に変換します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-to-gif`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。これは非同期エンドポイントで、即座に `202 Accepted` を返し、進捗は `GET /api/v1/jobs/{jobId}/progress` の SSE でストリーミングされます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| fps | integer | No | `12` | 出力フレームレート(1-30) |
|
||||
| width | integer | No | `480` | 出力の幅(ピクセル単位、64-1280)。高さは比例してスケーリングされます |
|
||||
| startS | number | No | `0` | 開始時刻(秒単位、0 以上である必要があります) |
|
||||
| durationS | number | No | `5` | 再生時間(秒単位、0 より大きく、最大 60) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/video-to-gif \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"fps": 15, "width": 320, "startS": 2, "durationS": 8}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- `fps` と `width` の値を低くすると、GIF ファイルは小さくなります。幅 480px、12 fps の GIF は通常バランスが良好です。
|
||||
- 最大再生時間は 60 秒です。それより長いクリップは非常に大きなファイルを生成します。
|
||||
- ジョブが完了するまで、進捗の更新は `GET /api/v1/jobs/{jobId}/progress` の SSE で確認できます。
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
description: "動画クリップをアニメーション WebP 画像に変換します。"
|
||||
i18n_source_hash: 7b1a22459bd1
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 456da871ddd6
|
||||
---
|
||||
|
||||
# Video to WebP {#video-to-webp}
|
||||
|
||||
動画クリップを、フレームレート、幅、品質を設定できるアニメーション WebP 画像に変換します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-to-webp`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| fps | integer | No | `12` | 出力フレームレート(1-30) |
|
||||
| width | integer | No | `480` | 出力の幅(ピクセル単位、16-1920)。高さは比例してスケーリングされます |
|
||||
| quality | integer | No | `75` | WebP 圧縮品質(1-100) |
|
||||
| loop | boolean | No | `true` | アニメーションをループします |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/video-to-webp \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"fps": 15, "width": 640, "quality": 80}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.webp",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 2800000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- アニメーション WebP は、より優れた色サポート(24 ビット対 8 ビットパレット)で GIF より小さいファイルを生成します。
|
||||
- `quality` の値を低くすると、視覚的な忠実度を犠牲にファイルが小さくなります。
|
||||
- 一度だけ再生して停止するアニメーションには、`loop` を `false` に設定してください。
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
description: "動画のフレームにテキストの透かしを焼き込みます。"
|
||||
i18n_source_hash: 937bb075b894
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 86d023861820
|
||||
---
|
||||
|
||||
# Watermark Video {#watermark-video}
|
||||
|
||||
位置、サイズ、不透明度、色を設定できるテキストの透かしを、動画のすべてのフレームに焼き込みます。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/watermark-video`
|
||||
|
||||
動画ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| text | string | Yes | - | 透かしのテキスト(1-200 文字) |
|
||||
| position | string | No | `"br"` | フレーム上の位置: `tl`、`tc`、`tr`、`l`、`c`、`r`、`bl`、`bc`、`br` |
|
||||
| fontSize | integer | No | `36` | フォントサイズ(ピクセル単位、8-120) |
|
||||
| opacity | number | No | `0.5` | 透かしの不透明度(0.05-1) |
|
||||
| color | string | No | `"#ffffff"` | テキストの16進数カラー(例: `"#ffffff"`) |
|
||||
|
||||
### Position Values {#position-values}
|
||||
|
||||
- **tl** - 左上、**tc** - 上中央、**tr** - 右上
|
||||
- **l** - 中央左、**c** - 中央、**r** - 中央右
|
||||
- **bl** - 左下、**bc** - 下中央、**br** - 右下
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/video/watermark-video \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@clip.mp4" \
|
||||
-F 'settings={"text": "PREVIEW", "position": "c", "fontSize": 48, "opacity": 0.3}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/clip.mp4",
|
||||
"originalSize": 12500000,
|
||||
"processedSize": 12400000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 透かしは動画のフレームに恒久的にレンダリングされ、処理後に削除することはできません。
|
||||
- 透かしには FFmpeg に組み込まれたサンセリフフォントを使用します。
|
||||
- 画像の透かしには、代わりに画像の Watermark ツールを使用してください。
|
||||
Reference in New Issue
Block a user