Search K
GIF Tools
animated GIFs का आकार बदलें, अनुकूलित करें, गति बदलें, उलटें, फ़्रेम निकालें और घुमाएँ। एक ही टूल में कई ऑपरेशन मोड प्रदान करता है।
API Endpoint
POST /api/v1/tools/image/gif-tools
Parameters
Common Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| mode | string | नहीं | "resize" | ऑपरेशन मोड: resize, optimize, speed, reverse, extract, rotate |
| loop | number | नहीं | 0 | आउटपुट GIF के लिए Loop गणना (0 = अनंत, 1-100 = परिमित लूप) |
Resize Mode Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| width | integer | नहीं | - | लक्ष्य चौड़ाई पिक्सेल में (1 से 16384) |
| height | integer | नहीं | - | लक्ष्य ऊँचाई पिक्सेल में (1 से 16384) |
| percentage | number | नहीं | - | प्रतिशत के अनुसार स्केल करें (1 से 500)। सेट होने पर width/height को ओवरराइड करता है। |
Optimize Mode Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| colors | number | नहीं | 256 | पैलेट में रंगों की अधिकतम संख्या (2 से 256) |
| dither | number | नहीं | 1.0 | Dithering ताकत (0 से 1, जहाँ 0 dithering को अक्षम करता है) |
| effort | number | नहीं | 7 | अनुकूलन प्रयास स्तर (1 से 10, अधिक = धीमा लेकिन छोटा) |
Speed Mode Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| speedFactor | number | नहीं | 1.0 | गति गुणक (0.1 से 10)। 1 से अधिक मान गति बढ़ाते हैं, 1 से कम गति घटाते हैं। |
Extract Mode Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| extractMode | string | नहीं | "single" | निष्कर्षण मोड: single, range, all |
| frameNumber | number | नहीं | 0 | single मोड में निकालने के लिए फ़्रेम अनुक्रमणिका (0-आधारित) |
| frameStart | number | नहीं | 0 | range मोड के लिए प्रारंभ फ़्रेम अनुक्रमणिका (0-आधारित) |
| frameEnd | number | नहीं | - | range मोड के लिए अंतिम फ़्रेम अनुक्रमणिका (0-आधारित, समावेशी) |
| extractFormat | string | नहीं | "png" | निकाले गए फ़्रेमों के लिए प्रारूप: png, webp |
Rotate Mode Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| angle | number | नहीं | - | घूर्णन कोण: 90, 180, या 270 डिग्री |
| flipH | boolean | नहीं | false | क्षैतिज रूप से फ़्लिप करें |
| flipV | boolean | नहीं | false | लंबवत रूप से फ़्लिप करें |
Example Requests
Resize
bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@animation.gif" \
-F 'settings={"mode":"resize","percentage":50}'Optimize
bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@large.gif" \
-F 'settings={"mode":"optimize","colors":128,"effort":9}'Speed Up
bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@animation.gif" \
-F 'settings={"mode":"speed","speedFactor":2.0}'Extract Single Frame
bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@animation.gif" \
-F 'settings={"mode":"extract","extractMode":"single","frameNumber":5,"extractFormat":"png"}'Example Response
json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/animation.gif",
"originalSize": 2345678,
"processedSize": 1234567
}Info Sub-Route
POST /api/v1/tools/image/gif-tools/info
संसाधित किए बिना किसी animated GIF के बारे में मेटाडेटा लौटाता है।
Info Request
bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools/info \
-F "file=@animation.gif"Info Response
json
{
"width": 480,
"height": 320,
"pages": 24,
"delay": [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
"loop": 0,
"fileSize": 2345678,
"duration": 2400
}Notes
- मुख्य प्रसंस्करण endpoint के लिए मानक
createToolRoutefactory का उपयोग करता है। - info endpoint को केवल एक फ़ाइल अपलोड की आवश्यकता होती है (किसी सेटिंग की ज़रूरत नहीं)।
resizeमोड में, यदिpercentageप्रदान किया जाता है तो यहwidth/heightपर प्राथमिकता लेता है। आकार बदलने के लिए aspect ratio बनाए रखने हेतुfit: insideका उपयोग किया जाता है।speedमोड में, फ़्रेम विलंब को speed factor से विभाजित किया जाता है। प्रति फ़्रेम न्यूनतम विलंब 20ms है (GIF स्पेक सीमा)।reverseमोड में, उलटते समय गति को एक साथ समायोजित करने के लिएspeedFactorparameter भी उपलब्ध है।extractमोड मेंrangeयाallके साथ, आउटपुट एक ZIP फ़ाइल होती है जिसमें अलग-अलग फ़्रेम होते हैं।rotateमोड में, प्रत्येक फ़्रेम को अलग से संसाधित किया जाता है और एक एनिमेशन में पुनः जोड़ा जाता है।loopparameter नियंत्रित करता है कि आउटपुट GIF कितनी बार लूप करता है। अनंत लूपिंग के लिए 0 का उपयोग करें।- info प्रतिक्रिया में
durationफ़ील्ड मिलीसेकंड में कुल एनिमेशन अवधि है।
