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: f6f9bcc162d3
|
||||
---
|
||||
|
||||
# Aspect Pad {#aspect-pad}
|
||||
|
||||
बिना क्रॉप किए किसी वीडियो को एक लक्षित आस्पेक्ट रेशियो में फिट करने के लिए ठोस-रंग की लेटरबॉक्स या पिलरबॉक्स पट्टियां जोड़ें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/aspect-pad`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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"` | पैडिंग पट्टियों के लिए हेक्स रंग (उदा. काले के लिए `"#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: 707ba9de3360
|
||||
---
|
||||
|
||||
# Auto Subtitles {#auto-subtitles}
|
||||
|
||||
AI-संचालित स्पीच रिकग्निशन (faster-whisper) का उपयोग करके किसी वीडियो के ऑडियो ट्रैक से सबटाइटल फ़ाइलें उत्पन्न करें। ऑटो-डिटेक्शन और 10 स्पष्ट भाषाओं का समर्थन करता है।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/auto-subtitles`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है। यह एक async एंडपॉइंट है - यह तुरंत `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}
|
||||
|
||||
- यह एक AI टूल है जिसके लिए **transcription** फ़ीचर बंडल का इंस्टॉल होना आवश्यक है। यदि बंडल इंस्टॉल नहीं है, तो API इसे एडमिन UI के माध्यम से इंस्टॉल करने के निर्देशों के साथ `501 Feature Not Installed` लौटाता है।
|
||||
- `auto` भाषा विकल्प whisper की अंतर्निहित भाषा पहचान का उपयोग करता है। भाषा को स्पष्ट रूप से निर्दिष्ट करने से सटीकता और गति बेहतर होती है।
|
||||
- SRT सबसे व्यापक रूप से समर्थित सबटाइटल फ़ॉर्मेट है। VTT (WebVTT) वेब वीडियो प्लेयर के लिए मानक है।
|
||||
- जॉब पूरा होने तक `GET /api/v1/jobs/{jobId}/progress` पर SSE के माध्यम से प्रगति अपडेट उपलब्ध हैं।
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "पट्टियों को वीडियो की धुंधली कॉपी से भरें।"
|
||||
i18n_source_hash: 0c72aaefc6de
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: e15418836ea7
|
||||
---
|
||||
|
||||
# Blur Pad {#blur-pad}
|
||||
|
||||
ठोस-रंग की पट्टियों के बजाय पैडिंग क्षेत्र को वीडियो की धुंधली, स्केल की गई कॉपी से भरकर किसी वीडियो को एक लक्षित आस्पेक्ट रेशियो में फिट करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/blur-pad`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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` | बैकग्राउंड के लिए Gaussian blur sigma (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}
|
||||
|
||||
- उच्च blur मान एक नरम, अधिक अमूर्त बैकग्राउंड बनाते हैं। कम मान अधिक विवरण दृश्यमान रखते हैं।
|
||||
- यदि वीडियो पहले से ही लक्षित आस्पेक्ट रेशियो से मेल खाता है, तो फ़ाइल अपरिवर्तित लौटाई जाती है।
|
||||
- ठोस-रंग की पैडिंग के लिए, इसके बजाय Aspect Pad टूल का उपयोग करें।
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: "सबटाइटल को वीडियो फ्रेम पर स्थायी रूप से रेंडर करें।"
|
||||
i18n_source_hash: 2d3111589db0
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 98192da79a4f
|
||||
---
|
||||
|
||||
# Burn Subtitles {#burn-subtitles}
|
||||
|
||||
किसी SRT, VTT, या ASS फ़ाइल से सबटाइटल को वीडियो के हर फ्रेम पर स्थायी रूप से रेंडर (हार्ड-कोड) करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/burn-subtitles`
|
||||
|
||||
एक वीडियो फ़ाइल और एक सबटाइटल फ़ाइल के साथ multipart form data स्वीकार करता है। यह एक async endpoint है - यह तुरंत `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}
|
||||
|
||||
- दो फ़ाइलें अपलोड करें: पहली एक वीडियो होनी चाहिए, दूसरी एक सबटाइटल फ़ाइल (.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: 2873a7624335
|
||||
---
|
||||
|
||||
# Change FPS {#change-fps}
|
||||
|
||||
किसी वीडियो की फ्रेम दर को 1 और 120 fps के बीच के किसी लक्ष्य मान पर बदलें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/change-fps`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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 (cinema), 30 (web/broadcast), 60 (सहज प्लेबैक)।
|
||||
- ऑडियो ट्रैक अपनी मूल sample rate पर सुरक्षित रहता है।
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: "गुणवत्ता नियंत्रण के साथ वीडियो फ़ाइल आकार सिकोड़ें।"
|
||||
i18n_source_hash: 9cc1f1acf74e
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 681d21a50656
|
||||
---
|
||||
|
||||
# Compress Video {#compress-video}
|
||||
|
||||
समायोज्य संपीड़न सामर्थ्य और वैकल्पिक रिज़ॉल्यूशन डाउनस्केलिंग का उपयोग करके वीडियो फ़ाइल आकार सिकोड़ें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/compress-video`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है। यह एक async endpoint है - यह तुरंत `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: 23c3b573d581
|
||||
---
|
||||
|
||||
# Convert Video {#convert-video}
|
||||
|
||||
समायोज्य गुणवत्ता प्रीसेट के साथ MP4, MOV, WebM, AVI, और MKV फ़ॉर्मैट के बीच वीडियो कन्वर्ट करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/convert-video`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है। यह एक async endpoint है - यह तुरंत `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 encoding का उपयोग करता है। 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: e3c532858c83
|
||||
---
|
||||
|
||||
# Crop Video {#crop-video}
|
||||
|
||||
क्षेत्र का आकार और स्थिति निर्दिष्ट करके किसी वीडियो में से एक आयताकार क्षेत्र क्रॉप करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/crop-video`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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: "किसी सबटाइटल ट्रैक को वीडियो कंटेनर में mux करें।"
|
||||
i18n_source_hash: be272730fff5
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 0ce7554cd7f8
|
||||
---
|
||||
|
||||
# Embed Subtitles {#embed-subtitles}
|
||||
|
||||
एक सबटाइटल फ़ाइल को वीडियो कंटेनर में एक सॉफ़्ट सबटाइटल ट्रैक के रूप में mux करें, जिसे दर्शक चालू या बंद कर सकते हैं।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/embed-subtitles`
|
||||
|
||||
एक वीडियो फ़ाइल और एक सबटाइटल फ़ाइल के साथ, तथा एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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}
|
||||
|
||||
- दो फ़ाइलें अपलोड करें: पहली एक वीडियो होनी चाहिए, दूसरी एक सबटाइटल फ़ाइल (.srt, .vtt, या .ass) होनी चाहिए।
|
||||
- एम्बेडेड (सॉफ़्ट) सबटाइटल को दर्शक अपने मीडिया प्लेयर में टॉगल कर सकते हैं। स्थायी रूप से दिखने वाले सबटाइटल के लिए, इसके बजाय Burn Subtitles टूल का उपयोग करें।
|
||||
- भाषा कोड कंटेनर में मेटाडेटा के रूप में संग्रहीत होता है और मीडिया प्लेयर को सबटाइटल ट्रैक लेबल करने में मदद करता है।
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "किसी वीडियो में से ऑडियो ट्रैक निकालें।"
|
||||
i18n_source_hash: f5b8330a5f89
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 016d26cec631
|
||||
---
|
||||
|
||||
# Extract Audio {#extract-audio}
|
||||
|
||||
किसी वीडियो फ़ाइल में से ऑडियो ट्रैक निकालें और उसे MP3, WAV, M4A, या OGG के रूप में सहेजें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/extract-audio`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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: 9c76364d56c0
|
||||
---
|
||||
|
||||
# Extract Subtitles {#extract-subtitles}
|
||||
|
||||
किसी वीडियो कंटेनर में से एम्बेडेड सबटाइटल ट्रैक निकालें और उसे SRT फ़ाइल के रूप में डाउनलोड करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/extract-subtitles`
|
||||
|
||||
एक वीडियो फ़ाइल के साथ multipart form data स्वीकार करता है। इस टूल में कोई समायोज्य सेटिंग नहीं है।
|
||||
|
||||
## 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 त्रुटि लौटाता है।
|
||||
- यदि वीडियो में कई सबटाइटल ट्रैक हैं, तो पहला निकाला जाता है।
|
||||
- कंटेनर में मूल सबटाइटल फ़ॉर्मैट चाहे जो भी हो, आउटपुट फ़ॉर्मैट SRT ही होता है।
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "किसी एनिमेटेड GIF को MP4, WebM, या MOV वीडियो में कन्वर्ट करें।"
|
||||
i18n_source_hash: c3737b31146d
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 0cf6a01636bf
|
||||
---
|
||||
|
||||
# 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 form data स्वीकार करता है।
|
||||
|
||||
## 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 फ़ाइलें स्वीकार की जाती हैं। स्थिर छवियों के लिए image Convert टूल का उपयोग करें।
|
||||
- MP4 और MOV H.264 encoding का उपयोग करते हैं, WebM VP9 का उपयोग करता है।
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
description: "छवियों के एक समूह को स्लाइडशो वीडियो में बदलें।"
|
||||
i18n_source_hash: 2c6f183feb6d
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 9e46428ffff1
|
||||
---
|
||||
|
||||
# Images to Video {#images-to-video}
|
||||
|
||||
छवियों के एक समूह को प्रति छवि समायोज्य अवधि, रिज़ॉल्यूशन, और फ्रेम दर के साथ स्लाइडशो वीडियो में बदलें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/images-to-video`
|
||||
|
||||
दो या अधिक छवि फ़ाइलों और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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}
|
||||
|
||||
- प्रति अनुरोध 2-60 छवि फ़ाइलें स्वीकार करता है। छवियाँ अपलोड क्रम में वीडियो में दिखाई देती हैं।
|
||||
- छवियों को आस्पेक्ट रेशियो बनाए रखते हुए लक्ष्य रिज़ॉल्यूशन में फिट करने के लिए आकार बदला और पैड किया जाता है।
|
||||
- `square` रिज़ॉल्यूशन विकल्प एक 1080x1080 वीडियो बनाता है, जो सोशल मीडिया के लिए उपयोगी है।
|
||||
- आउटपुट फ़ॉर्मैट हमेशा MP4 (H.264) होता है।
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "कई वीडियो क्लिप को एक फ़ाइल में जोड़ें।"
|
||||
i18n_source_hash: 90463dfbb580
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 420e0e49a9c9
|
||||
---
|
||||
|
||||
# Merge Videos {#merge-videos}
|
||||
|
||||
कई वीडियो क्लिप को एक ही MP4 फ़ाइल में जोड़ें। सभी इनपुट को पहले वीडियो के रिज़ॉल्यूशन और 30 fps पर सामान्यीकृत किया जाता है।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/merge-videos`
|
||||
|
||||
दो या अधिक वीडियो फ़ाइलों के साथ multipart form data स्वीकार करता है। यह एक async endpoint है - यह तुरंत `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) से मेल खाने के लिए फिर से एन्कोड किया जाता है। बेमेल इनपुट स्वतः सामान्यीकृत हो जाते हैं।
|
||||
- प्रति अनुरोध 2-10 वीडियो फ़ाइलें स्वीकार करता है।
|
||||
- जॉब पूरा होने तक `GET /api/v1/jobs/{jobId}/progress` पर SSE के माध्यम से प्रगति अपडेट उपलब्ध रहते हैं।
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
description: "किसी वीडियो से ऑडियो ट्रैक हटाएँ।"
|
||||
i18n_source_hash: 9a0c60bbcaa3
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 7d0b602b8ddb
|
||||
---
|
||||
|
||||
# Mute Video {#mute-video}
|
||||
|
||||
किसी वीडियो से ऑडियो ट्रैक हटाएँ, केवल दृश्य स्ट्रीम छोड़ते हुए।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/mute-video`
|
||||
|
||||
एक वीडियो फ़ाइल के साथ multipart form data स्वीकार करता है। इस टूल में कोई समायोज्य सेटिंग नहीं है।
|
||||
|
||||
## 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: e51ee0a4dfc9
|
||||
---
|
||||
|
||||
# Replace Audio {#replace-audio}
|
||||
|
||||
किसी वीडियो के ऑडियो ट्रैक को एक ऑडियो फ़ाइल से बदलें। एक वीडियो और एक ऑडियो फ़ाइल दोनों अपलोड करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/replace-audio`
|
||||
|
||||
ठीक दो फ़ाइलों के साथ multipart form data स्वीकार करता है: एक वीडियो फ़ाइल के बाद एक ऑडियो फ़ाइल।
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
इस टूल में कोई सेटिंग पैरामीटर नहीं है। एक वीडियो फ़ाइल और एक ऑडियो फ़ाइल दो `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}
|
||||
|
||||
- ठीक दो फ़ाइलें अपलोड की जानी चाहिए: पहली एक वीडियो होनी चाहिए, दूसरी एक ऑडियो फ़ाइल होनी चाहिए।
|
||||
- यदि ऑडियो फ़ाइल वीडियो से लंबी है, तो उसे वीडियो अवधि से मेल खाने के लिए ट्रिम किया जाता है। यदि छोटी है, तो शेष वीडियो शांति में चलता है।
|
||||
- वीडियो स्ट्रीम को फिर से एन्कोड किए बिना कॉपी किया जाता है, इसलिए कोई वीडियो गुणवत्ता हानि नहीं होती।
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
description: "किसी वीडियो को नए रिज़ॉल्यूशन या प्रीसेट आकार में स्केल करें।"
|
||||
i18n_source_hash: bb1f67871fea
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: d201ede30286
|
||||
---
|
||||
|
||||
# Resize Video {#resize-video}
|
||||
|
||||
कस्टम पिक्सेल आयामों या एक मानक प्रीसेट का उपयोग करके किसी वीडियो को नए रिज़ॉल्यूशन में स्केल करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/resize-video`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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: 14ef601cdcac
|
||||
---
|
||||
|
||||
# Reverse Video {#reverse-video}
|
||||
|
||||
किसी वीडियो क्लिप को उल्टा चलाएँ। ऑडियो ट्रैक भी उल्टा हो जाता है।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/reverse-video`
|
||||
|
||||
एक वीडियो फ़ाइल के साथ multipart form data स्वीकार करता है। इस टूल में कोई समायोज्य सेटिंग नहीं है।
|
||||
|
||||
## 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: 52dca075a5e7
|
||||
---
|
||||
|
||||
# Rotate Video {#rotate-video}
|
||||
|
||||
किसी वीडियो को 90, 180, या 270 डिग्री घुमाएँ, या उसे क्षैतिज या ऊर्ध्वाधर रूप से पलटें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/rotate-video`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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: "दो-पास स्थिरीकरण के साथ कैमरा शेक कम करें।"
|
||||
i18n_source_hash: ec908e91a752
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 333c4e607715
|
||||
---
|
||||
|
||||
# Stabilize Video {#stabilize-video}
|
||||
|
||||
FFmpeg के दो-पास vidstab स्थिरीकरण का उपयोग करके हैंडहेल्ड फ़ुटेज में कैमरा शेक कम करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/stabilize-video`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है। यह एक async endpoint है - यह तुरंत `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}
|
||||
|
||||
- स्थिरीकरण एक दो-पास प्रक्रिया है: पहला पास कैमरा गति का विश्लेषण करता है, और दूसरा पास सुधार लागू करता है। इसमें सिंगल-पास टूल की तुलना में लगभग दोगुना समय लगता है।
|
||||
- अधिक स्मूदिंग मान अधिक शेक हटाते हैं लेकिन किनारों पर हल्का ज़ूम क्रॉप ला सकते हैं।
|
||||
- जॉब पूरा होने तक `GET /api/v1/jobs/{jobId}/progress` पर SSE के माध्यम से प्रगति अपडेट उपलब्ध रहते हैं।
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "आरंभ और समाप्ति समय निर्दिष्ट करके किसी वीडियो में से एक क्लिप काटें।"
|
||||
i18n_source_hash: c84481641979
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: f1a4272e3088
|
||||
---
|
||||
|
||||
# Trim Video {#trim-video}
|
||||
|
||||
सेकंड में आरंभ और समाप्ति समय निर्दिष्ट करके किसी वीडियो में से एक क्लिप काटें, फ्रेम-सटीक कट के विकल्प के साथ।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/trim-video`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| startS | number | No | `0` | सेकंड में आरंभ समय (>= 0 होना चाहिए) |
|
||||
| endS | number | Yes | - | सेकंड में समाप्ति समय (startS के बाद होना चाहिए) |
|
||||
| precise | boolean | No | `false` | keyframe seek के बजाय फ्रेम-सटीक कट के लिए फिर से एन्कोड करें |
|
||||
|
||||
## 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` (डिफ़ॉल्ट) हो, तो टूल keyframe seeking का उपयोग करता है, जो तेज़ है लेकिन अनुरोधित समय से कुछ फ्रेम पहले शुरू हो सकता है।
|
||||
- `precise` को `true` सेट करने से खंड को सटीक फ्रेम सीमाओं के लिए फिर से एन्कोड किया जाता है, लेकिन इसमें अधिक समय लगता है।
|
||||
- `endS` मान `startS` से अधिक होना चाहिए।
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
description: "किसी वीडियो की चमक, कंट्रास्ट, संतृप्ति, और गामा समायोजित करें।"
|
||||
i18n_source_hash: 40483b79d44b
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 7e83651a667d
|
||||
---
|
||||
|
||||
# Video Color {#video-color}
|
||||
|
||||
किसी वीडियो पर चमक, कंट्रास्ट, संतृप्ति, और गामा सुधार समायोजित करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-color`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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}
|
||||
|
||||
- सभी मान अपने डिफ़ॉल्ट पर (brightness 0, contrast 1, saturation 1, gamma 1) कोई परिवर्तन नहीं करते।
|
||||
- संतृप्ति को `0` सेट करने से वीडियो ग्रेस्केल में बदल जाता है।
|
||||
- 1 से नीचे के गामा मान छायाओं को उजला करते हैं, जबकि 1 से ऊपर के मान उन्हें गहरा करते हैं।
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
description: "वीडियो ऑडियो वॉल्यूम को ब्रॉडकास्ट मानक पर सामान्यीकृत करें।"
|
||||
i18n_source_hash: 078f1e819c9a
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: d1d8be10a3c6
|
||||
---
|
||||
|
||||
# Normalize Audio {#normalize-audio}
|
||||
|
||||
वीडियो ऑडियो वॉल्यूम को EBU R128 ब्रॉडकास्ट लाउडनेस मानक पर सामान्यीकृत करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-loudnorm`
|
||||
|
||||
एक वीडियो फ़ाइल के साथ multipart form data स्वीकार करता है। इस टूल में कोई समायोज्य सेटिंग नहीं है।
|
||||
|
||||
## 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 true peak और 11 LU लाउडनेस रेंज (EBU R128 ब्रॉडकास्ट मानक) के साथ लक्षित करता है।
|
||||
- स्रोत ऑडियो sample rate आउटपुट में सुरक्षित रहती है।
|
||||
- यदि वीडियो में कोई ऑडियो ट्रैक नहीं है, तो अनुरोध 400 त्रुटि लौटाता है।
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
description: "किसी वीडियो से मेटाडेटा हटाएँ और जो मिला उसकी रिपोर्ट दें।"
|
||||
i18n_source_hash: 69621bfb98ca
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 7f1c6d1f6121
|
||||
---
|
||||
|
||||
# Clean Video Metadata {#clean-video-metadata}
|
||||
|
||||
किसी वीडियो से मेटाडेटा (निर्माण तिथि, GPS निर्देशांक, कैमरा मॉडल, सॉफ़्टवेयर टैग, आदि) हटाएँ और जो हटाया गया उसकी रिपोर्ट दें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-metadata`
|
||||
|
||||
एक वीडियो फ़ाइल के साथ multipart form data स्वीकार करता है। इस टूल में कोई समायोज्य सेटिंग नहीं है।
|
||||
|
||||
## 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: 6e303ee0a840
|
||||
---
|
||||
|
||||
# Video Speed {#video-speed}
|
||||
|
||||
ऑडियो पिच को सुरक्षित रखने के विकल्प के साथ किसी वीडियो को तेज़ या धीमा करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-speed`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| factor | number | No | `2` | गति गुणक (0.25-4)। 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` का factor प्लेबैक गति दोगुनी कर देता है (अवधि आधी)। `0.5` का factor प्लेबैक गति आधी कर देता है (अवधि दोगुनी)।
|
||||
- जब `keepPitch` `true` हो, तो ऑडियो को समय-अनुसार खींचा जाता है ताकि आवाज़ें स्वाभाविक लगें। जब `false`, तो पिच गति के अनुपात में शिफ्ट होती है।
|
||||
- मान्य सीमा 0.25x से 4x है।
|
||||
@@ -0,0 +1,62 @@
|
||||
---
|
||||
description: "किसी वीडियो से फ्रेम को छवियों के ZIP के रूप में निकालें।"
|
||||
i18n_source_hash: b06f038dafb3
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: e36d1f752c58
|
||||
---
|
||||
|
||||
# Video to Frames {#video-to-frames}
|
||||
|
||||
किसी वीडियो से अलग-अलग फ्रेम निकालें और उन्हें PNG या JPG छवियों के ZIP आर्काइव के रूप में डाउनलोड करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-to-frames`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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: 847f6bb8a4b4
|
||||
---
|
||||
|
||||
# Video to GIF {#video-to-gif}
|
||||
|
||||
समायोज्य फ्रेम दर, चौड़ाई, आरंभ समय, और अवधि के साथ किसी वीडियो क्लिप को एनिमेटेड GIF में बदलें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-to-gif`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है। यह एक async endpoint है - यह तुरंत `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 फ़ाइलें बनाते हैं। 12 fps पर एक 480px-चौड़ी 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: bef8028f83fb
|
||||
---
|
||||
|
||||
# Video to WebP {#video-to-webp}
|
||||
|
||||
समायोज्य फ्रेम दर, चौड़ाई, और गुणवत्ता के साथ किसी वीडियो क्लिप को एनिमेटेड WebP छवि में कन्वर्ट करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/video-to-webp`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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-bit बनाम 8-bit palette) के साथ GIF से छोटी फ़ाइलें बनाता है।
|
||||
- कम `quality` मान दृश्य निष्ठा की कीमत पर छोटी फ़ाइलें बनाते हैं।
|
||||
- ऐसे एनिमेशन के लिए `loop` को `false` सेट करें जो एक बार चलकर रुक जाने चाहिए।
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
description: "वीडियो फ्रेम पर एक टेक्स्ट वॉटरमार्क बर्न करें।"
|
||||
i18n_source_hash: 937bb075b894
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 881eb4df40c2
|
||||
---
|
||||
|
||||
# Watermark Video {#watermark-video}
|
||||
|
||||
समायोज्य स्थिति, आकार, अपारदर्शिता, और रंग के साथ किसी वीडियो के हर फ्रेम पर एक टेक्स्ट वॉटरमार्क बर्न करें।
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/video/watermark-video`
|
||||
|
||||
एक वीडियो फ़ाइल और एक JSON `settings` फ़ील्ड के साथ multipart form data स्वीकार करता है।
|
||||
|
||||
## 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"` | टेक्स्ट के लिए हेक्स रंग (जैसे `"#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 में निर्मित एक sans-serif फ़ॉन्ट का उपयोग करता है।
|
||||
- छवि वॉटरमार्क के लिए, इसके बजाय image Watermark टूल का उपयोग करें।
|
||||
Reference in New Issue
Block a user