openapi: 3.1.0 info: title: SnapOtter API version: 2.0.0 description: | SnapOtter के लिए REST API, एक सेल्फ-होस्टेड फ़ाइल-प्रोसेसिंग इन्फ़्रास्ट्रक्चर जिसमें image, video, audio, PDF और दस्तावेज़ों के लिए 200+ टूल हैं। ## प्रमाणीकरण अधिकांश एंडपॉइंट को दो में से किसी एक तरीके से प्रमाणीकरण की आवश्यकता होती है: 1. **सेशन कुकी** - उपयोगकर्ता नाम और पासवर्ड के साथ `POST /api/auth/login` को कॉल करें। प्रतिक्रिया में एक `token` फ़ील्ड शामिल होती है। बाद के अनुरोधों में इसे `Authorization: Bearer ` के रूप में पास करें। 2. **API कुंजी** - सेटिंग्स UI या `POST /api/v1/api-keys` के माध्यम से एक कुंजी जनरेट करें। कुंजियों में `si_` उपसर्ग लगा होता है। इसे `Authorization: Bearer si_...` के रूप में पास करें। ताला आइकन से चिह्नित एंडपॉइंट को प्रमाणीकरण की आवश्यकता होती है। केवल व्यवस्थापक वाले एंडपॉइंट उनके विवरण में नोट किए गए हैं। license: name: AGPL-3.0 url: https://github.com/snapotter-hq/snapotter/blob/main/LICENSE servers: - url: / description: Current instance tags: - name: Tools description: image, video, audio, PDF, और files में फैले फ़ाइल प्रोसेसिंग tools। प्रत्येक एक multipart file upload स्वीकार करता है और एक download URL लौटाता है। - name: Batch description: एक ही request में एक tool के जरिए कई फ़ाइलें प्रोसेस करें। - name: Pipelines description: 'कई tools को पुन: प्रयोज्य workflows में चेन करें।' - name: Files description: प्रोसेस की गई फ़ाइलें upload, download, और प्रबंधित करें। - name: Auth description: Login, logout, session प्रबंधन, और user प्रशासन। - name: API Keys description: प्रोग्रामेटिक एक्सेस के लिए API keys बनाएं और प्रबंधित करें। - name: Settings description: सिस्टम-व्यापी configuration (writes के लिए केवल admin)। - name: Teams description: users को teams में व्यवस्थित करें। - name: Roles description: बारीक permissions के साथ कस्टम role प्रबंधन। - name: Audit description: प्रशासनिक कार्रवाइयों को ट्रैक करने के लिए audit log। - name: Analytics description: Analytics configuration और user सहमति। - name: Features description: AI feature bundle इंस्टॉलेशन और प्रबंधन। - name: Admin description: प्रशासनिक स्वास्थ्य निदान। - name: System description: स्वास्थ्य जाँच, configuration, और job प्रगति। - name: Enterprise description: License-आधारित enterprise प्रशासन, अनुपालन, SCIM, और integration APIs। components: securitySchemes: bearerAuth: type: http scheme: bearer description: Session token from login or API key (prefixed with si_) responses: RateLimited: description: Too many requests. The client has exceeded the rate limit. headers: Retry-After: schema: type: integer description: Seconds until the rate limit window resets X-RateLimit-Limit: schema: type: integer description: Maximum requests per time window X-RateLimit-Remaining: schema: type: integer description: Remaining requests in current window content: application/json: schema: type: object properties: error: type: string example: Rate limit exceeded schemas: Error: type: object required: - error properties: error: type: string example: Invalid image format details: type: string description: Additional error details (e.g. Zod validation errors) ToolResponse: type: object properties: jobId: type: string description: Unique job identifier downloadUrl: type: string description: URL to download the processed image example: /api/v1/download/abc123/output.png originalSize: type: integer description: Original file size in bytes processedSize: type: integer description: Processed file size in bytes previewUrl: type: string description: URL to a WebP preview (present when output is not browser-previewable, e.g. TIFF, HEIF) savedFileId: type: string description: ID of the auto-saved file in the library (present when fileId was provided in the request) UnauthorizedError: type: object properties: statusCode: type: integer example: 401 error: type: string example: Unauthorized message: type: string example: Authentication required ForbiddenError: type: object properties: statusCode: type: integer example: 403 error: type: string example: Forbidden message: type: string example: Insufficient permissions ConflictError: type: object properties: statusCode: type: integer example: 409 error: type: string example: Conflict message: type: string example: Resource already exists FeatureNotInstalledError: type: object properties: error: type: string example: Feature not installed code: type: string enum: - FEATURE_NOT_INSTALLED - FEATURE_INCOMPATIBLE example: FEATURE_NOT_INSTALLED feature: type: string description: Feature bundle identifier featureName: type: string description: Human-readable feature name estimatedSize: type: string description: Estimated download size requestedQuality: type: string enum: - fast - balanced - best description: OCR tier that could not be honored; Fast is reported when Korean is explicitly requested with Fast or the legacy Tesseract alias compatibilityReason: type: string description: Machine-readable runtime compatibility reason, when available guidance: type: string description: Actionable recovery guidance, when available HealthResponse: type: object properties: status: type: string enum: - healthy - unhealthy version: type: string AdminHealthResponse: type: object properties: status: type: string enum: - healthy - degraded version: type: string uptime: type: string storage: type: object properties: mode: type: string available: type: string database: type: string enum: - ok - error queue: type: object properties: active: type: integer pending: type: integer ai: type: object properties: gpu: type: boolean security: - bearerAuth: [] paths: /api/v1/health: get: operationId: healthCheck tags: - System summary: स्वास्थ्य जाँच description: सर्वर स्वास्थ्य स्थिति लौटाता है। Docker HEALTHCHECK द्वारा उपयोग किया जाता है। सार्वजनिक endpoint। security: [] responses: '200': description: Server health content: application/json: schema: $ref: '#/components/schemas/HealthResponse' '503': description: Database unavailable content: application/json: schema: $ref: '#/components/schemas/HealthResponse' /api/v1/tools/image/resize: post: operationId: resizeImage tags: - Tools summary: इमेज रीसाइज़ description: एक image का आकार विशिष्ट आयामों में या प्रतिशत के अनुसार बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `width` (number, optional) - Target width in pixels - `height` (number, optional) - Target height in pixels - `fit` (string, default "contain") - One of: contain, cover, fill, inside, outside - `withoutEnlargement` (boolean, default false) - Prevent upscaling - `percentage` (number, optional) - Scale by percentage instead of fixed dimensions responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/content-aware-resize: post: operationId: contentAwareResize tags: - Tools summary: कंटेंट-अवेयर रीसाइज़ description: महत्वपूर्ण विशेषताओं को संरक्षित करते हुए बुद्धिमानी से कंटेंट हटाने या जोड़ने के लिए seam carving का उपयोग करके एक image का आकार बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `width` (number, optional) - Target width in pixels - `height` (number, optional) - Target height in pixels - `protectFaces` (boolean, default false) - Detect and protect faces from distortion - `blurRadius` (number 0-20, default 4) - Blur radius for energy map - `sobelThreshold` (number 1-20, default 2) - Edge detection threshold - `square` (boolean, default false) - Crop to square aspect ratio At least one of `width`, `height`, or `square` must be provided. responses: '200': description: Processed image content: application/json: schema: allOf: - $ref: '#/components/schemas/ToolResponse' - type: object properties: width: type: integer height: type: integer '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/crop: post: operationId: cropImage tags: - Tools summary: इमेज क्रॉप description: एक image को किसी विशिष्ट क्षेत्र तक क्रॉप करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `left` (number, required) - Left offset in pixels (min 0) - `top` (number, required) - Top offset in pixels (min 0) - `width` (number, required) - Width of crop region in pixels - `height` (number, required) - Height of crop region in pixels - `unit` (string, optional) - One of: px, percent responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/rotate: post: operationId: rotateImage tags: - Tools summary: इमेज रोटेट और फ्लिप description: एक image को कोण के अनुसार घुमाएं या क्षैतिज/लंबवत फ़्लिप करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `angle` (number, default 0) - Rotation angle in degrees - `horizontal` (boolean, default false) - Flip horizontally - `vertical` (boolean, default false) - Flip vertically responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/convert: post: operationId: convertFormat tags: - Tools summary: इमेज कन्वर्ट description: एक image को किसी भिन्न format में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `format` (string, required) - One of: jpg, png, webp, avif, tiff, gif, heic, heif, jxl, bmp, ico, jp2, qoi, psd - `quality` (number 1-100, optional) - Output quality responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/compress: post: operationId: compressImage tags: - Tools summary: इमेज कंप्रेस description: गुणवत्ता स्तर या लक्ष्य आकार के अनुसार image फ़ाइल आकार कम करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `mode` (string, default "quality") - One of: quality, targetSize - `quality` (number 1-100, optional) - Compression quality level - `targetSizeKb` (number, optional) - Target file size in kilobytes responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/strip-metadata: post: operationId: stripMetadata tags: - Tools summary: इमेज मेटाडेटा हटाएं description: एक image से EXIF, GPS, ICC, या XMP metadata हटाएं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `stripExif` (boolean, default false) - Remove EXIF data - `stripGps` (boolean, default false) - Remove GPS data - `stripIcc` (boolean, default false) - Remove ICC profile - `stripXmp` (boolean, default false) - Remove XMP data - `stripAll` (boolean, default true) - Remove all metadata responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/border: post: operationId: addBorder tags: - Tools summary: बॉर्डर और फ़्रेम description: एक image में बॉर्डर, गोल कोने, पैडिंग, या छाया जोड़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `borderWidth` (number 0-2000, default 10) - Border thickness in pixels - `borderColor` (hex string, default "#000000") - Border color - `padding` (number 0-200, default 0) - Inner padding in pixels - `paddingColor` (hex string, default "#FFFFFF") - Padding fill color - `cornerRadius` (number 0-2000, default 0) - Corner rounding radius - `shadow` (boolean, default false) - Enable drop shadow - `shadowBlur` (number 1-200, default 15) - Drop shadow blur radius - `shadowOffsetX` (number -50 to 50, default 0) - Shadow horizontal offset - `shadowOffsetY` (number -50 to 50, default 5) - Shadow vertical offset - `shadowColor` (hex string, default "#000000") - Drop shadow color - `shadowOpacity` (number 0-100, default 40) - Shadow opacity percentage responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/beautify: post: operationId: beautifyScreenshot tags: - Tools summary: स्क्रीनशॉट सुशोभित करें description: | स्क्रीनशॉट में ग्रेडिएंट बैकग्राउंड, डिवाइस फ़्रेम, छायाएं, वॉटरमार्क, और सोशल मीडिया साइज़िंग जोड़ें। solid, linear-gradient, radial-gradient, image, और transparent बैकग्राउंड का समर्थन करता है। macOS, Windows, browser, iPhone, MacBook, और iPad डिवाइस फ़्रेम शामिल हैं। Twitter, LinkedIn, Instagram, Facebook, और Product Hunt के लिए सोशल मीडिया प्रीसेट। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Screenshot or image file to beautify backgroundImage: type: string format: binary description: Optional image for image backgrounds (used when backgroundType is "image") settings: type: string description: | JSON string with options: - `backgroundType` (string, default "linear-gradient") -- One of: solid, linear-gradient, radial-gradient, image, transparent - `backgroundColor` (hex string, default "#667eea") -- Background color (for solid backgrounds) - `gradientStops` (array, default [{color:"#667eea",position:0},{color:"#764ba2",position:100}]) -- Array of {color, position} objects for gradient backgrounds - `gradientAngle` (number 0-360, default 135) -- Gradient angle in degrees - `padding` (number 0-256, default 64) -- Space between screenshot and canvas edge in pixels - `borderRadius` (number 0-64, default 12) -- Corner rounding radius for the screenshot - `shadowPreset` (string, default "subtle") -- One of: none, subtle, medium, dramatic, custom - `shadowBlur` (number 0-100, default 20) -- Shadow blur radius (used with custom shadow preset) - `shadowOffsetX` (number -50 to 50, default 0) -- Shadow horizontal offset - `shadowOffsetY` (number -50 to 50, default 10) -- Shadow vertical offset - `shadowColor` (hex string, default "#000000") -- Shadow color - `shadowOpacity` (number 0-100, default 30) -- Shadow opacity percentage - `frame` (string, default "none") -- One of: none, macos-light, macos-dark, windows-light, windows-dark, browser-light, browser-dark, iphone, iphone-dark, macbook, macbook-dark, ipad, ipad-dark - `frameTitle` (string, optional) -- Title text shown in window title bars - `socialPreset` (string, default "none") -- One of: none, twitter, linkedin, instagram-square, instagram-story, facebook, producthunt - `watermarkText` (string, optional) -- Watermark text to overlay - `watermarkPosition` (string, default "bottom-right") -- One of: top-left, top-right, bottom-left, bottom-right, center - `watermarkOpacity` (number 0-100, default 50) -- Watermark opacity percentage - `outputFormat` (string, default "png") -- One of: png, jpeg, webp responses: '200': description: Beautified image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/adjust-colors: post: operationId: adjustColors tags: - Tools summary: रंग समायोजन description: | समेकित रंग समायोजन tool। एक ही पास में चमक, कंट्रास्ट, एक्सपोज़र, संतृप्ति, तापमान, टिंट, ह्यू, तीक्ष्णता, रंग चैनल, और प्रभावों को समायोजित करता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `brightness` (number -100 to 100, default 0) - Brightness adjustment - `contrast` (number -100 to 100, default 0) - Contrast adjustment - `exposure` (number -100 to 100, default 0) - Exposure adjustment (gamma) - `saturation` (number -100 to 100, default 0) - Color saturation - `temperature` (number -100 to 100, default 0) - Color temperature (cool to warm) - `tint` (number -100 to 100, default 0) - Tint shift (green to magenta) - `hue` (number -180 to 180, default 0) - Hue rotation in degrees - `sharpness` (number 0 to 100, default 0) - Sharpness enhancement - `red` (number 0-200, default 100) - Red channel multiplier - `green` (number 0-200, default 100) - Green channel multiplier - `blue` (number 0-200, default 100) - Blue channel multiplier - `effect` (string, default "none") - One of: none, grayscale, sepia, invert responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/sharpening: post: operationId: sharpenImage tags: - Tools summary: इमेज शार्पन description: वैकल्पिक शोर कमी के साथ adaptive, unsharp mask, या high-pass विधियों का उपयोग करके एक image को तीक्ष्ण करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `method` (string, default "adaptive") - One of: adaptive, unsharp-mask, high-pass - `sigma` (number 0.5-10, default 1.0) - Gaussian sigma (adaptive) - `m1` (number 0-10, default 1.0) - Flat area sharpening (adaptive) - `m2` (number 0-20, default 3.0) - Jagged area sharpening (adaptive) - `x1` (number 0-10, default 2.0) - Flat/jagged threshold (adaptive) - `y2` (number 0-50, default 12) - Maximum brightening (adaptive) - `y3` (number 0-50, default 20) - Maximum darkening (adaptive) - `amount` (number 0-1000, default 100) - Sharpen amount (unsharp-mask) - `radius` (number 0.1-5, default 1.0) - Blur radius (unsharp-mask) - `threshold` (number 0-255, default 0) - Luminance threshold (unsharp-mask) - `strength` (number 0-100, default 50) - Blend strength (high-pass) - `kernelSize` (integer, default 3) - One of: 3, 5 (high-pass) - `denoise` (string, default "off") - One of: off, light, medium, strong responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/optimize-for-web: post: operationId: optimizeForWeb tags: - Tools summary: वेब के लिए अनुकूलित करें description: आधुनिक formats में बदलकर, गुणवत्ता समायोजित करके, और वैकल्पिक रूप से आकार बदलकर वेब डिलीवरी के लिए एक image को अनुकूलित करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `format` (string, default "webp") - One of: webp, jpeg, avif, png, jxl - `quality` (number 1-100, default 80) - Output quality - `maxWidth` (number, optional) - Maximum width in pixels - `maxHeight` (number, optional) - Maximum height in pixels - `progressive` (boolean, default true) - Enable progressive encoding - `stripMetadata` (boolean, default true) - Remove metadata responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/optimize-for-web/preview: post: operationId: optimizeForWebPreview tags: - Tools summary: वेब के लिए अनुकूलित करें (preview) description: | लाइव पैरामीटर ट्यूनिंग के लिए हल्का preview endpoint। अनुकूलित image binary सीधे लौटाता है (JSON नहीं)। आकार जानकारी response headers में होती है। कोई workspace नहीं बनाता या परिणाम स्थायी नहीं करता। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to preview settings: type: string description: Same settings as the main optimize-for-web endpoint responses: '200': description: Optimized image binary headers: X-Original-Size: schema: type: string description: Original file size in bytes X-Processed-Size: schema: type: string description: Processed file size in bytes X-Output-Filename: schema: type: string description: Suggested output filename content: image/*: schema: type: string format: binary '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/image-enhancement: post: operationId: enhanceImage tags: - Tools summary: image संवर्द्धन description: | AI-संचालित स्वचालित image संवर्द्धन। image का विश्लेषण करता है और चयनित दृश्य मोड के आधार पर एक्सपोज़र, कंट्रास्ट, व्हाइट बैलेंस, संतृप्ति, तीक्ष्णता, और शोर के लिए सुधार लागू करता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `mode` (string, default "auto") - One of: auto, portrait, landscape, low-light, food, document - `intensity` (number 0-100, default 50) - Overall enhancement intensity - `corrections` (object, optional) - Toggle individual corrections: - `exposure` (boolean, default true) - `contrast` (boolean, default true) - `whiteBalance` (boolean, default true) - `saturation` (boolean, default true) - `sharpness` (boolean, default true) - `denoise` (boolean, default true) - `deepEnhance` (boolean, default false) - Use AI noise removal for deeper enhancement (requires noise-removal feature) responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/image-enhancement/analyze: post: operationId: analyzeImageEnhancement tags: - Tools summary: संवर्द्धन के लिए image विश्लेषण करें description: | एक image का विश्लेषण करें और सुझाए गए सुधार लागू किए बिना लौटाएं। यह पूर्वावलोकन के लिए उपयोगी है कि कौन से संवर्द्धन किए जाएंगे। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to analyze responses: '200': description: Image analysis with suggested corrections content: application/json: schema: type: object properties: corrections: type: object description: Suggested correction values metrics: type: object description: Image quality metrics '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '422': description: Analysis failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/noise-removal: post: operationId: removeNoise tags: - Tools summary: शोर हटाना description: | Python sidecar का उपयोग करके AI-संचालित शोर हटाना। त्वरित preview से अधिकतम गुणवत्ता तक कई गुणवत्ता स्तरों का समर्थन करता है। इसके लिए noise-removal feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `tier` (string, default "balanced") - One of: quick, balanced, quality, maximum - `strength` (number, default 50) - Denoising strength - `detailPreservation` (number, default 50) - Detail preservation level - `colorNoise` (number, default 30) - Color noise reduction - `format` (string, default "original") - One of: original, png, jpeg, webp, avif, jxl - `quality` (number, default 90) - Output quality (1-100) clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/red-eye-removal: post: operationId: removeRedEye tags: - Tools summary: रेड-आई हटाना description: | AI-संचालित रेड-आई डिटेक्शन और हटाना। चेहरों का पता लगाता है और तस्वीरों में रेड-आई आर्टिफ़ैक्ट्स को ठीक करता है। इसके लिए red-eye-removal feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `sensitivity` (number 0-100, default 50) - Detection sensitivity - `strength` (number 0-100, default 70) - Correction strength - `format` (string, optional) - Output format - `quality` (number 1-100, default 90) - Output quality clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/restore-photo: post: operationId: restorePhoto tags: - Tools summary: फ़ोटो पुनर्स्थापना description: | AI-संचालित फ़ोटो पुनर्स्थापना pipeline। खरोंचों की मरम्मत करता है, चेहरों को बेहतर बनाता है, शोर कम करता है, और वैकल्पिक रूप से पुरानी या क्षतिग्रस्त तस्वीरों को रंगीन करता है। इसके लिए photo-restoration feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `scratchRemoval` (boolean, default true) - Enable scratch repair - `faceEnhancement` (boolean, default true) - Enhance detected faces - `fidelity` (number 0-1, default 0.7) - Face enhancement fidelity - `denoise` (boolean, default true) - Enable denoising - `denoiseStrength` (number 0-100, default 25) - Denoising strength - `colorize` (boolean, default false) - Colorize grayscale photos - `colorizeStrength` (number 0-100, default 85) - Colorization strength clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/passport-photo/analyze: post: operationId: analyzePassportPhoto tags: - Tools summary: पासपोर्ट फ़ोटो - विश्लेषण description: | पासपोर्ट फ़ोटो जनरेशन का चरण 1। चेहरे के लैंडमार्क का पता लगाता है और बैकग्राउंड हटाता है। generate चरण में उपयोग के लिए client को लैंडमार्क डेटा और एक base64-एन्कोडेड preview लौटाता है। इसके लिए passport-photo feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Photo with a clear, front-facing face clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Face analysis and background removal result content: application/json: schema: type: object properties: jobId: type: string description: Job ID to pass to the generate endpoint filename: type: string preview: type: string description: Base64-encoded PNG preview of the background-removed image previewWidth: type: integer previewHeight: type: integer landmarks: type: object description: Normalized face landmark coordinates (0-1) properties: leftEye: type: object properties: x: type: number 'y': type: number rightEye: type: object properties: x: type: number 'y': type: number eyeCenter: type: object properties: x: type: number 'y': type: number chin: type: object properties: x: type: number 'y': type: number forehead: type: object properties: x: type: number 'y': type: number crown: type: object properties: x: type: number 'y': type: number nose: type: object properties: x: type: number 'y': type: number faceCenterX: type: number imageWidth: type: integer imageHeight: type: integer '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: No face detected or analysis failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/passport-photo/generate: post: operationId: generatePassportPhoto tags: - Tools summary: पासपोर्ट फ़ोटो - जनरेट करें description: | पासपोर्ट फ़ोटो जनरेशन का चरण 2। फ़ोटो को निर्दिष्ट देश/दस्तावेज़ विनिर्देश के अनुसार क्रॉप, आकार बदलने, और टाइल करने के लिए analyze चरण से jobId और लैंडमार्क का उपयोग करता है। तेज़ response (कोई AI पुन: रन नहीं)। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - jobId - filename - countryCode - landmarks - imageWidth - imageHeight properties: jobId: type: string description: Job ID from the analyze phase filename: type: string description: Original filename from analyze phase countryCode: type: string description: ISO country code for passport specification documentType: type: string default: passport description: Document type (passport, visa, etc.) bgColor: type: string default: '#FFFFFF' description: Background color (hex) printLayout: type: string default: none description: Print sheet layout (none, 4x6, A4, letter) maxFileSizeKb: type: number default: 0 description: Max file size in KB (0 = no limit) dpi: type: number minimum: 72 maximum: 1200 default: 300 description: Output DPI customWidthMm: type: number description: Custom photo width in mm (overrides country spec) customHeightMm: type: number description: Custom photo height in mm (overrides country spec) zoom: type: number minimum: 0.5 maximum: 3 default: 1 description: Zoom level (>1 = tighter crop) adjustX: type: number default: 0 description: Horizontal position adjustment adjustY: type: number default: 0 description: Vertical position adjustment landmarks: type: object description: Face landmarks from analyze phase imageWidth: type: integer description: Original image width from analyze phase imageHeight: type: integer description: Original image height from analyze phase responses: '200': description: Generated passport photo content: application/json: schema: type: object properties: jobId: type: string downloadUrl: type: string dimensions: type: object properties: widthMm: type: number heightMm: type: number widthPx: type: integer heightPx: type: integer dpi: type: integer spec: type: object properties: country: type: string countryCode: type: string documentType: type: string documentLabel: type: string printDownloadUrl: type: string description: URL for print sheet download (if printLayout was specified) '400': description: Invalid settings or unknown country code content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Generation failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/colorize: post: operationId: colorizeImage tags: - Tools summary: रंगीन करें description: | AI-संचालित फ़ोटो रंगीनीकरण। OpenCV DNN fallback के साथ DDColor का उपयोग करके ब्लैक-एंड-व्हाइट या ग्रेस्केल तस्वीरों को पूर्ण रंग में बदलता है। इसके लिए colorize feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Grayscale or B&W image file settings: type: string description: | JSON string with options: - `intensity` (number 0-1, default 1.0) - Colorization intensity - `model` (string, default "auto") - One of: auto, ddcolor, opencv clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/enhance-faces: post: operationId: enhanceFaces tags: - Tools summary: चेहरा संवर्द्धन description: | GFPGAN या CodeFormer का उपयोग करके AI-संचालित चेहरा संवर्द्धन। image में चेहरों का पता लगाता है और चेहरे के विवरण, त्वचा की बनावट, और स्पष्टता को बेहतर बनाता है। इसके लिए enhance-faces feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file containing faces settings: type: string description: | JSON string with options: - `model` (string, default "auto") - One of: auto, gfpgan, codeformer - `strength` (number 0-1, default 0.8) - Enhancement strength - `onlyCenterFace` (boolean, default false) - Only enhance the center face - `sensitivity` (number 0-1, default 0.5) - Face detection sensitivity clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/image-to-base64: post: operationId: imageToBase64 tags: - Tools summary: Image to Base64 description: | एक या अधिक images को data URIs के साथ Base64-एन्कोडेड strings में बदलें। वैकल्पिक format रूपांतरण और आकार बदलने का समर्थन करता है। प्रत्येक फ़ाइल के लिए raw Base64 string और उपयोग-के-लिए-तैयार data URI दोनों लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: One or more image files to convert settings: type: string description: | JSON string with options: - `outputFormat` (string, default "original") - One of: original, jpeg, png, webp, avif, jxl - `quality` (integer 1-100, default 80) - Output quality for lossy formats - `maxWidth` (integer, default 0) - Max width in pixels (0 = no limit) - `maxHeight` (integer, default 0) - Max height in pixels (0 = no limit) responses: '200': description: Base64-encoded results content: application/json: schema: type: object properties: results: type: array items: type: object properties: filename: type: string mimeType: type: string width: type: integer height: type: integer originalSize: type: integer description: Original file size in bytes encodedSize: type: integer description: Base64 string size in bytes overheadPercent: type: number description: Size overhead of Base64 encoding base64: type: string description: Raw Base64-encoded image data dataUri: type: string description: Complete data URI (data:mime;base64,...) errors: type: array items: type: object properties: filename: type: string error: type: string '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/watermark-text: post: operationId: addTextWatermark tags: - Tools summary: टेक्स्ट वॉटरमार्क description: एक image में टेक्स्ट वॉटरमार्क जोड़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `text` (string 1-500, required) - Watermark text - `fontSize` (number 8-1000, default 48) - Font size in pixels - `color` (hex string, default "#000000") - Text color - `opacity` (number 0-100, default 50) - Opacity percentage - `position` (string, default "center") - One of: center, top-left, top-right, bottom-left, bottom-right, tiled - `rotation` (number -360 to 360, default 0) - Text rotation angle responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/text-overlay: post: operationId: addTextOverlay tags: - Tools summary: टेक्स्ट ओवरले description: वैकल्पिक बैकग्राउंड बॉक्स के साथ स्टाइल किया गया टेक्स्ट ओवरले जोड़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `text` (string 1-500, required) - Overlay text - `fontSize` (number 8-200, default 48) - Font size in pixels - `color` (hex string, default "#FFFFFF") - Text color - `position` (string, default "bottom") - One of: top, center, bottom - `backgroundBox` (boolean, default false) - Show background box behind text - `backgroundColor` (hex string, default "#000000") - Background box color - `shadow` (boolean, default true) - Add text shadow responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/replace-color: post: operationId: replaceColor tags: - Tools summary: रंग बदलें description: एक image में किसी विशिष्ट रंग को अन्य रंग या पारदर्शिता से बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `sourceColor` (hex string, default "#FF0000") - Color to replace - `targetColor` (hex string, default "#00FF00") - Replacement color - `makeTransparent` (boolean, default false) - Make matched pixels transparent instead - `tolerance` (number 0-255, default 30) - Color matching tolerance responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/color-blindness: post: operationId: simulateColorBlindness tags: - Tools summary: वर्णांधता सिमुलेशन description: सिमुलेट करें कि विभिन्न प्रकार की रंग दृष्टि कमी वाले लोगों को एक image कैसी दिखती है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `simulationType` (enum, default "deuteranomaly") -- Type of color vision deficiency to simulate. One of: protanopia, deuteranopia, tritanopia, protanomaly, deuteranomaly, tritanomaly, achromatopsia, blueConeMonochromacy responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/gif-tools: post: operationId: processGif tags: - Tools summary: GIF tools description: एनिमेटेड GIFs का आकार बदलें, अनुकूलित करें, गति समायोजित करें, उलटें, फ़्रेम निकालें, या घुमाएं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: GIF file to process settings: type: string description: | JSON string with options: - `mode` (string, default "resize") - One of: resize, optimize, speed, reverse, extract, rotate - `width` (number 1-16384, optional) - Target width in pixels (resize mode) - `height` (number 1-16384, optional) - Target height in pixels (resize mode) - `percentage` (number 1-500, optional) - Scale by percentage (resize mode) - `colors` (number 2-256, default 256) - Color palette size (optimize mode) - `dither` (number 0-1, default 1.0) - Dither amount (optimize mode) - `effort` (number 1-10, default 7) - Compression effort (optimize mode) - `speedFactor` (number 0.1-10, default 1.0) - Speed multiplier (speed mode) - `extractMode` (string, default "single") - One of: single, range, all (extract mode) - `frameNumber` (number, default 0) - Frame index to extract (extract/single mode) - `frameStart` (number, default 0) - Start frame index (extract/range mode) - `frameEnd` (number, optional) - End frame index (extract/range mode) - `extractFormat` (string, default "png") - One of: png, webp (extract mode) - `angle` (number, optional) - Rotation angle, one of: 90, 180, 270 (rotate mode) - `flipH` (boolean, default false) - Flip horizontally (rotate mode) - `flipV` (boolean, default false) - Flip vertically (rotate mode) - `loop` (number 0-100, default 0) - Loop count, 0 = infinite responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/gif-tools/info: post: operationId: getGifInfo tags: - Tools summary: GIF जानकारी description: आयाम, फ़्रेम संख्या, विलंब, और अवधि सहित एक एनिमेटेड GIF के बारे में metadata प्राप्त करें। security: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: GIF file to inspect responses: '200': description: GIF metadata content: application/json: schema: type: object properties: width: type: integer height: type: integer pages: type: integer description: Number of frames delay: type: array items: type: integer description: Per-frame delay in milliseconds loop: type: integer description: Loop count (0 = infinite) fileSize: type: integer duration: type: integer description: Total duration in milliseconds '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/smart-crop: post: operationId: smartCrop tags: - Tools summary: स्मार्ट क्रॉप description: तीन मोड के साथ स्मार्ट क्रॉप - विषय फ़ोकस, चेहरा फ़ोकस, या ऑटो ट्रिम। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `mode` (string, default "subject") - One of: subject, face, trim, attention (alias for subject), content (alias for trim) - `strategy` (string, default "attention") - One of: attention, entropy (subject mode) - `width` (integer, optional) - Target width in pixels - `height` (integer, optional) - Target height in pixels - `padding` (integer 0-50, default 0) - Padding percentage around focus area - `facePreset` (string, default "head-shoulders") - One of: closeup, head-shoulders, upper-body, half-body (face mode) - `sensitivity` (number 0-1, default 0.5) - Face detection sensitivity (face mode) - `threshold` (integer 0-255, default 30) - Trim tolerance (trim mode) - `padToSquare` (boolean, default false) - Pad to square after trimming (trim mode) - `padColor` (string, default "#ffffff") - Hex color for padding (trim mode) - `targetSize` (integer, optional) - Target size for padded output (trim mode) - `quality` (integer 1-100, optional) - Output quality responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/vectorize: post: operationId: vectorizeImage tags: - Tools summary: Image to SVG description: potrace (B&W) या VTracer (color) का उपयोग करके एक रास्टर image को SVG वेक्टर format में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `colorMode` (string, default "bw") - One of: bw, color - `threshold` (number 0-255, default 128) - B&W binarization threshold - `colorPrecision` (number 1-16, default 6) - Color bits per channel - `layerDifference` (number 1-128, default 6) - Color gradient step - `filterSpeckle` (number 1-256, default 4) - Noise filter size - `pathMode` (string, default "spline") - One of: none, polygon, spline - `cornerThreshold` (number 0-180, default 60) - Corner detection angle - `invert` (boolean, default false) - Invert colors before tracing responses: '200': description: Processed image (downloadUrl points to .svg file) content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/svg-to-raster: post: operationId: svgToRaster tags: - Tools summary: SVG to raster description: कस्टम स्केल और DPI पर एक SVG फ़ाइल को रास्टर image format में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: SVG file to convert settings: type: string description: | JSON string with options: - `width` (number 1-65536, optional) - Output width in pixels - `height` (number 1-65536, optional) - Output height in pixels - `dpi` (number 36-2400, default 300) - Render density for SVG rasterization - `quality` (number 1-100, default 90) - Output quality for lossy formats - `backgroundColor` (hex string, default "#00000000") - Background color - `outputFormat` (string, default "png") - One of: png, jpg, webp, avif, tiff, gif, heif, jxl responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/svg-to-raster/batch: post: operationId: svgToRasterBatch tags: - Tools summary: SVG to raster (batch) description: कई SVG फ़ाइलों को रास्टर images में बदलें। एक ZIP archive लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: SVG files to convert settings: type: string description: Same settings as single-file endpoint clientJobId: type: string description: Optional client-generated job ID for progress tracking responses: '200': description: ZIP archive containing processed images content: application/zip: schema: type: string format: binary '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: All files failed processing content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/image-to-pdf: post: operationId: imageToPdf tags: - Tools summary: Image to PDF description: एक या अधिक images को एक PDF दस्तावेज़ में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: One or more image files to include in the PDF settings: type: string description: | JSON string with options: - `pageSize` (string, default "A4") - One of: A4, Letter, A3, A5 - `orientation` (string, default "portrait") - One of: portrait, landscape - `margin` (number 0-500, default 20) - Page margin in points - `targetSize` (object, optional) - Target output file size - `value` (number, required) - Positive number (decimals allowed) - `unit` (string, required) - One of: KB, MB Minimum effective target is 50KB. When set, images are compressed as JPEG with quality auto-tuned to meet the target. - `collate` (boolean, default true) - When true, all images go into one PDF. When false, each image becomes a separate PDF and the result is a ZIP. responses: '200': description: Generated PDF (downloadUrl points to .pdf file) content: application/json: schema: allOf: - $ref: '#/components/schemas/ToolResponse' - type: object properties: pages: type: integer description: Number of images/pages in the PDF compression: type: object description: Present only when targetSize was specified properties: targetRequested: type: integer description: Target size in bytes targetMet: type: boolean description: Whether the target was achieved jpegQuality: type: integer description: Final JPEG quality used (10-95) '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/pdf/pdf-to-image: post: operationId: pdfToImage tags: - Tools summary: PDF to image description: PDF पृष्ठों को images में बदलें। अलग-अलग पृष्ठ downloads और सभी पृष्ठों का एक ZIP लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to convert settings: type: string description: | JSON string with options: - `format` (string, default "png") - Output format: png, jpg, webp, avif, tiff, gif, heic, heif, jxl - `dpi` (number 36-2400, default 150) - Resolution in dots per inch - `quality` (number 1-100, default 85) - Output quality - `colorMode` (string, default "color") - One of: color, grayscale, bw - `pages` (string, default "all") - Page selection, e.g. "all", "1-3", "1,3,5" responses: '200': description: Converted pages content: application/json: schema: type: object properties: jobId: type: string pageCount: type: integer description: Total pages in the PDF selectedPages: type: array items: type: integer format: type: string pages: type: array items: type: object properties: page: type: integer downloadUrl: type: string size: type: integer zipUrl: type: string description: URL to download all pages as ZIP zipSize: type: integer '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/pdf-to-image/info: post: operationId: getPdfInfo tags: - Tools summary: PDF पृष्ठ संख्या description: एक PDF फ़ाइल में पृष्ठों की संख्या प्राप्त करें। security: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to inspect responses: '200': description: PDF info content: application/json: schema: type: object properties: pageCount: type: integer '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/pdf/pdf-to-image/preview: post: operationId: previewPdfPages tags: - Tools summary: PDF पृष्ठ थंबनेल description: एक PDF में प्रत्येक पृष्ठ के लिए थंबनेल preview जनरेट करें (अधिकतम 200 पृष्ठ, JPEG 300px चौड़ा)। security: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to preview responses: '200': description: Page thumbnails content: application/json: schema: type: object properties: pageCount: type: integer thumbnails: type: array items: type: object properties: page: type: integer dataUrl: type: string description: Base64-encoded JPEG data URL width: type: integer height: type: integer '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/split: post: operationId: splitImage tags: - Tools summary: इमेज स्प्लिट description: एक image को टाइलों के ग्रिड में विभाजित करें। एक ZIP फ़ाइल लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to split settings: type: string description: | JSON string with options: - `columns` (number 1-100, default 3) - Number of columns - `rows` (number 1-100, default 3) - Number of rows - `tileWidth` (number, min 10, optional) - Fixed tile width in pixels - `tileHeight` (number, min 10, optional) - Fixed tile height in pixels - `outputFormat` (string, default "original") - One of: original, png, jpg, webp, avif, jxl - `quality` (number 1-100, default 90) - Output quality responses: '200': description: ZIP archive with results content: application/zip: schema: type: string format: binary '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/bulk-rename: post: operationId: bulkRename tags: - Tools summary: बल्क नाम बदलें description: एक पैटर्न टेम्पलेट का उपयोग करके कई images का नाम बदलें। {{index}}, {{padded}}, और {{original}} टोकन का समर्थन करता है। एक ZIP फ़ाइल लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Multiple image files to rename settings: type: string description: | JSON string with options: - `pattern` (string 1-1000, default "image-{{index}}") - Naming pattern template - `startIndex` (number, default 1) - Starting index number responses: '200': description: ZIP archive with results content: application/zip: schema: type: string format: binary '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/favicon: post: operationId: generateFavicon tags: - Tools summary: Favicon जनरेटर description: एक image से एक पूर्ण favicon सेट (16px से 512px PNGs, ICO, और manifest.json) जनरेट करें। एक ZIP फ़ाइल लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to use as favicon source responses: '200': description: ZIP archive with results content: application/zip: schema: type: string format: binary '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/watermark-image: post: operationId: addImageWatermark tags: - Tools summary: image वॉटरमार्क description: एक image वॉटरमार्क ओवरले जोड़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file - watermark properties: file: type: string format: binary description: Main image file watermark: type: string format: binary description: Watermark overlay image settings: type: string description: | JSON string with options: - `position` (string, default "bottom-right") - One of: center, top-left, top-right, bottom-left, bottom-right - `opacity` (number 0-100, default 50) - Watermark opacity percentage - `scale` (number 1-100, default 25) - Watermark size as percentage of base image responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/compose: post: operationId: composeImages tags: - Tools summary: image कंपोज़िशन description: blend modes के साथ एक बेस image पर एक ओवरले image कंपोज़िट करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file - overlay properties: file: type: string format: binary description: Base image file overlay: type: string format: binary description: Overlay image file settings: type: string description: | JSON string with options: - `x` (number, default 0) - Horizontal offset of overlay - `y` (number, default 0) - Vertical offset of overlay - `opacity` (number 0-100, default 100) - Overlay opacity percentage - `blendMode` (string, default "over") - One of: over, multiply, screen, overlay, darken, lighten, hard-light, soft-light, difference, exclusion responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/meme-generator: post: operationId: generateMeme tags: - Tools summary: मीम जनरेटर description: | टेम्पलेट या कस्टम images का उपयोग करके मीम बनाएं। दो मोड का समर्थन करता है: (1) टेम्पलेट मोड - `templateId` और `textBoxes` के साथ JSON body भेजें। (2) कस्टम image मोड - `file` और `settings` के साथ multipart भेजें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: Custom image file (optional if using templateId) settings: type: string description: | JSON string with options: - `templateId` (string, optional) - ID of a meme template from /api/v1/meme-templates - `textLayout` (string, default "top-bottom") - One of: top-bottom, top-only, bottom-only, center, side-by-side - `textBoxes` (array of {id, text}) - Text content for each position - `fontFamily` (string, default "anton") - One of: anton, arial-black, comic-sans, montserrat, bebas-neue, permanent-marker, roboto - `fontSize` (number 8-200, optional) - Font size in pixels - `textColor` (hex string, default "#ffffff") - Text color - `strokeColor` (hex string, default "#000000") - Text outline color - `textAlign` (string, default "center") - One of: left, center, right - `allCaps` (boolean, default true) - Convert text to uppercase application/json: schema: type: object description: Template mode - send templateId and textBoxes as JSON body properties: templateId: type: string description: ID of a meme template textBoxes: type: array items: type: object properties: id: type: string text: type: string responses: '200': description: Processed meme image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or template not found content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/meme-templates: get: operationId: listMemeTemplates tags: - Tools summary: मीम टेम्पलेट सूचीबद्ध करें description: टेक्स्ट बॉक्स स्थितियों सहित उपलब्ध मीम टेम्पलेट का पूर्ण manifest लौटाता है। security: - bearerAuth: [] responses: '200': description: Meme template manifest content: application/json: schema: type: object properties: templates: type: array items: type: object properties: id: type: string filename: type: string width: type: integer height: type: integer textBoxes: type: array items: type: object properties: id: type: string x: type: number 'y': type: number width: type: number height: type: number defaultText: type: string '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/meme-templates/full/{filename}: get: operationId: getMemeTemplateImage tags: - Tools summary: मीम टेम्पलेट image प्राप्त करें description: एक पूर्ण-आकार मीम टेम्पलेट image सर्व करें। security: - bearerAuth: [] parameters: - name: filename in: path required: true schema: type: string description: Template image filename responses: '200': description: Template image content: image/*: schema: type: string format: binary '400': description: Invalid filename content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Template not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/meme-templates/thumbs/{filename}: get: operationId: getMemeTemplateThumbnail tags: - Tools summary: मीम टेम्पलेट थंबनेल प्राप्त करें description: एक मीम टेम्पलेट का थंबनेल सर्व करें। security: - bearerAuth: [] parameters: - name: filename in: path required: true schema: type: string description: Template thumbnail filename responses: '200': description: Thumbnail image content: image/*: schema: type: string format: binary '400': description: Invalid filename content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Thumbnail not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/meme-templates/fonts/{filename}: get: operationId: getMemeTemplateFont tags: - Tools summary: मीम टेम्पलेट फ़ॉन्ट प्राप्त करें description: मीम जनरेटर द्वारा उपयोग की जाने वाली एक फ़ॉन्ट फ़ाइल सर्व करें। security: - bearerAuth: [] parameters: - name: filename in: path required: true schema: type: string description: Font filename (e.g. anton.ttf) responses: '200': description: Font file content: font/ttf: schema: type: string format: binary '400': description: Invalid filename content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Font not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/compare: post: operationId: compareImages tags: - Tools summary: image तुलना description: दो images की तुलना करें और एक विज़ुअल अंतर रिपोर्ट जनरेट करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file1 - file2 properties: file1: type: string format: binary description: First image to compare file2: type: string format: binary description: Second image to compare responses: '200': description: Comparison result content: application/json: schema: allOf: - $ref: '#/components/schemas/ToolResponse' - type: object properties: similarity: type: number description: Similarity percentage (0-100) dimensions: type: object properties: width: type: integer height: type: integer '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/erase-object: post: operationId: eraseObject tags: - Tools summary: ऑब्जेक्ट इरेज़र description: एक mask का उपयोग करके एक image से ऑब्जेक्ट मिटाएं। mask में सफेद क्षेत्र मिटाने वाले क्षेत्रों को इंगित करते हैं। LaMa inpainting का उपयोग करता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - image - mask properties: image: type: string format: binary description: Source image file mask: type: string format: binary description: Mask image (white areas will be erased) format: type: string enum: - auto - png - jpg - jpeg - webp - tiff - gif - avif - heic - heif - jxl default: auto description: Output format quality: type: integer minimum: 1 maximum: 100 default: 95 description: Output quality clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/ai-canvas-expand: post: operationId: aiCanvasExpand tags: - Tools summary: AI कैनवास विस्तार (प्रायोगिक) description: | AI outpainting का उपयोग करके एक image कैनवास का विस्तार करें। मूल के साथ सहजता से मिश्रित होने वाली नई सामग्री जनरेट करके किसी भी दिशा में image का विस्तार करता है। LaMa-आधारित outpainting का उपयोग करता है। इसके लिए ai-canvas-expand feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to expand settings: type: string description: | JSON string with options: - `extendTop` (integer >= 0, default 0) - Pixels to extend upward - `extendRight` (integer >= 0, default 0) - Pixels to extend rightward - `extendBottom` (integer >= 0, default 0) - Pixels to extend downward - `extendLeft` (integer >= 0, default 0) - Pixels to extend leftward - `tier` (string, default "balanced") - One of: fast, balanced, high - `format` (string, default "auto") - One of: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl - `quality` (integer 1-100, default 95) - Output quality At least one extend direction must be greater than 0. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input (or no extend direction > 0) content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/collage: post: operationId: createCollage tags: - Tools summary: कोलाज और ग्रिड description: कई images को एक ग्रिड कोलाज में संयोजित करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Multiple image files to combine settings: type: string description: | JSON string with options: - `templateId` (string, required) - Template ID defining the grid layout - `cells` (array, optional) - Per-cell configuration overrides - `gap` (number 0-500, default 8) - Gap between images in pixels - `cornerRadius` (number 0-500, default 0) - Corner rounding radius - `backgroundColor` (string, default "#FFFFFF") - Background fill color - `aspectRatio` (string, default "free") - Aspect ratio constraint - `outputFormat` (string, default "png") - One of: png, jpeg, webp, avif, jxl - `quality` (number 1-100, default 90) - Output quality responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/stitch: post: operationId: stitchImages tags: - Tools summary: इमेज जोड़ें description: कई images को क्षैतिज, लंबवत, या ग्रिड लेआउट में जोड़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Two or more image files to stitch together settings: type: string description: | JSON string with options: - `direction` (string, default "horizontal") - One of: horizontal, vertical, grid - `gridColumns` (integer 2-100, default 2) - Columns when direction is grid - `resizeMode` (string, default "fit") - One of: fit, original, stretch, crop - `alignment` (string, default "center") - One of: start, center, end - `gap` (number 0-1000, default 0) - Gap between images in pixels - `border` (number 0-500, default 0) - Border width in pixels - `cornerRadius` (number 0-500, default 0) - Corner radius in pixels - `backgroundColor` (hex string, default "#FFFFFF") - Hex color for background and gap fill - `format` (string, default "png") - One of: png, jpeg, webp, avif, jxl - `quality` (number 1-100, default 90) - Output quality responses: '200': description: Stitched image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/remove-gif-background: post: operationId: removeGifBackground tags: - Tools summary: किसी एनिमेटेड छवि से पृष्ठभूमि हटाएँ description: AI (rembg) का उपयोग करके एनिमेटेड GIF, WebP, या APNG फ्रेम से पृष्ठभूमि हटाएं। स्थानीय स्तर पर चलता है. security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Animated image file (GIF, animated WebP, or APNG) settings: type: string description: | JSON string with options: - `model` (string, optional) - AI model name - `outputFormat` (string, optional) - One of: webp, apng, gif - `backgroundType` (string, optional) - One of: transparent, color, gradient, blur, image - `backgroundColor` (string, optional) - Hex color for the color background - `gradientColor1` (string, optional) - First gradient color - `gradientColor2` (string, optional) - Second gradient color - `gradientAngle` (number, optional) - Gradient angle in degrees - `blurIntensity` (number 0-100, optional) - Blur strength for the blur background - `shadowEnabled` (boolean, optional) - Enable drop shadow - `shadowOpacity` (number 0-100, optional) - Shadow opacity - `edgeRefine` (number 0-3, optional) - Edge refinement level - `decontaminate` (boolean, optional) - Remove background color spill backgroundImage: type: string format: binary description: Background image, required when backgroundType is "image" clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input (not animated, over the frame cap, or bad settings) content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/remove-background: post: operationId: removeBackground tags: - Tools summary: बैकग्राउंड हटाएं description: AI (rembg) का उपयोग करके एक image से बैकग्राउंड हटाएं। स्थानीय रूप से चलता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `model` (string, optional) - AI model name - `backgroundType` (string, optional) - One of: transparent, color, gradient, blur, image - `backgroundColor` (string, optional) - Hex color to replace removed background with - `gradientColor1` (string, optional) - First gradient color - `gradientColor2` (string, optional) - Second gradient color - `gradientAngle` (number, optional) - Gradient angle in degrees - `blurEnabled` (boolean, optional) - Enable background blur effect - `blurIntensity` (number 0-100, optional) - Blur strength - `shadowEnabled` (boolean, optional) - Enable drop shadow - `shadowOpacity` (number 0-100, optional) - Shadow opacity clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/remove-background/effects: post: operationId: applyBackgroundEffects tags: - Tools summary: बैकग्राउंड प्रभाव लागू करें description: | पहले से प्रोसेस किए गए remove-background परिणाम पर बैकग्राउंड प्रतिस्थापन या प्रभाव लागू करें। इसके लिए पूर्व POST /api/v1/tools/image/remove-background कॉल से एक jobId आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - settings properties: backgroundImage: type: string format: binary description: Custom background image (required when backgroundType is "image") settings: type: string description: | JSON string with options: - `jobId` (string, required) - Job ID from the initial remove-background call - `filename` (string, required) - Original filename - `backgroundType` (string) - One of: transparent, color, gradient, blur, image - `backgroundColor` (string) - Hex color for solid background - `gradientColor1` (string) - First gradient color - `gradientColor2` (string) - Second gradient color - `gradientAngle` (number) - Gradient angle in degrees - `blurEnabled` (boolean) - Enable background blur effect - `blurIntensity` (number 0-100) - Blur strength - `shadowEnabled` (boolean) - Enable drop shadow - `shadowOpacity` (number 0-100) - Shadow opacity responses: '200': description: Image with applied effects content: application/json: schema: type: object properties: jobId: type: string downloadUrl: type: string processedSize: type: integer '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/transparency-fixer: post: operationId: fixTransparency tags: - Tools summary: नकली पारदर्शिता ठीक करें description: | "नकली पारदर्शी" PNGs को ठीक करें जिनमें पिछले बैकग्राउंड हटाने से फ़्रिंजिंग, हेलो, या अर्ध-पारदर्शी आर्टिफ़ैक्ट होते हैं। कॉन्फ़िगर करने योग्य डिफ़्रिंज प्रोसेसिंग के साथ एक स्वच्छ alpha channel बनाने के लिए BiRefNet HR-matting (2048x2048) का उपयोग करता है। OOM पर birefnet-general, फिर u2net पर fallback करता है। इसके लिए background-removal feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PNG image with fake or damaged transparency settings: type: string description: | JSON string with options: - `defringe` (number 0-100, default 30) - Edge defringe strength to remove color contamination - `outputFormat` (string, default "png") - One of: png, webp - `removeWatermark` (boolean, default false) - Apply median filter to reduce watermark artifacts before matting clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/upscale: post: operationId: upscaleImage tags: - Tools summary: image अपस्केलिंग description: AI (Real-ESRGAN) का उपयोग करके एक image को अपस्केल करें। स्थानीय रूप से चलता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to upscale settings: type: string description: | JSON string with options: - `scale` (number, default 2) - Upscale factor - `model` (string, default "auto") - AI model name - `faceEnhance` (boolean, default false) - Enable face enhancement - `denoise` (number, default 0) - Denoise strength - `format` (string, default "auto") - Output format (auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl) - `quality` (number, default 95) - Output quality (1-100) clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/blur-faces: post: operationId: blurFaces tags: - Tools summary: चेहरे और संवेदनशील जानकारी ब्लर करें description: गोपनीयता के लिए एक image में चेहरों का पता लगाएं और धुंधला करें। OpenCV का उपयोग करता है। स्थानीय रूप से चलता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `blurRadius` (number 1-100, default 30) - Blur strength radius - `sensitivity` (number 0-1, default 0.5) - Face detection sensitivity clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/ocr: post: operationId: extractText tags: - Tools summary: OCR / टेक्स्ट निष्कर्षण description: |- किसी छवि से स्थानीय रूप से टेक्स्ट निकालें. अंतर्निर्मितFastस्तरीय उपयोगTesseract.BalancedऔरBestवैकल्पिक हस्ताक्षरित का उपयोग करेंRapidOCRरनटाइम पिन के साथPP-OCRओएनएनएक्स मॉडल। स्पष्ट स्तर के अनुरोध कभी भी चुपचाप नहीं होते दूसरे स्तर पर डाउनग्रेड करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary maxLength: 536870912 description: Image file to extract text from settings: type: string description: | JSON string with options: - `quality` (string, optional) - One of: fast, balanced, best. When both quality and engine are omitted, uses the best available tier in this order: best, balanced, fast. Korean never selects fast; it uses best, then balanced, or returns an accurate-runtime install/compatibility error - `language` (string, default "auto") - One of: auto, en, de, fr, es, zh, ja, ko. Korean is unsupported by fast and the legacy tesseract alias - `enhance` (boolean, optional) - Improve local contrast. Fast applies it directly; accurate tiers retain the variant only when calibrated scoring improves the result. Defaults to true for Best and false for Fast/Balanced - `engine` (string, deprecated) - Compatibility alias: tesseract maps to fast; the legacy paddleocr value maps to balanced but does not load PaddlePaddle clientJobId: type: string responses: '202': description: Accepted after validation and enqueueing. Track progress via SSE at /api/v1/jobs/{jobId}/progress; processing failures arrive in the terminal failed event. content: application/json: schema: type: object required: - jobId - async properties: jobId: type: string progressJobId: type: string artifactJobId: type: string async: type: boolean const: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '413': description: Encoded OCR input exceeds the hard 512 MiB safety limit content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Requested Balanced/Best runtime is not installed or is incompatible content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' '503': description: OCR could not be queued content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/info: post: operationId: getImageInfo tags: - Tools summary: image जानकारी description: आयाम, format, रंग स्थान, और EXIF डेटा सहित एक image के बारे में विस्तृत metadata प्राप्त करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to inspect responses: '200': description: Image metadata content: application/json: schema: type: object properties: width: type: integer height: type: integer filename: type: string format: type: string colorSpace: type: string channels: type: integer bitDepth: type: string density: type: - integer - 'null' hasAlpha: type: boolean fileSize: type: integer hasExif: type: boolean isProgressive: type: boolean orientation: type: - integer - 'null' hasProfile: type: boolean hasIcc: type: boolean hasXmp: type: boolean pages: type: integer histogram: type: array items: type: object properties: channel: type: string min: type: number max: type: number mean: type: number stdev: type: number '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/color-palette: post: operationId: extractColorPalette tags: - Tools summary: रंग पैलेट description: एक image से प्रमुख रंग निकालें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to analyze responses: '200': description: Dominant colors content: application/json: schema: type: object properties: filename: type: string colors: type: array items: type: string description: Hex color strings count: type: integer '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/barcode-read: post: operationId: readBarcode tags: - Tools summary: बारकोड रीडर description: एक image से QR codes और बारकोड पढ़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file containing barcode or QR code settings: type: string description: | JSON string with options: - `tryHarder` (boolean, default true) - Enable more aggressive barcode detection responses: '200': description: Decoded barcode data content: application/json: schema: type: object properties: filename: type: string barcodes: type: array items: type: object properties: type: type: string text: type: string position: type: object properties: topLeft: type: object properties: x: type: number 'y': type: number topRight: type: object properties: x: type: number 'y': type: number bottomLeft: type: object properties: x: type: number 'y': type: number bottomRight: type: object properties: x: type: number 'y': type: number annotatedUrl: type: - string - 'null' previewUrl: type: - string - 'null' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/find-duplicates: post: operationId: findDuplicates tags: - Tools summary: डुप्लिकेट खोजें description: perceptual hashing का उपयोग करके एक सेट में डुप्लिकेट images खोजें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Multiple image files to check for duplicates settings: type: string description: | JSON string with options: - `threshold` (number 0-20, default 8) - Hamming distance threshold for duplicate detection responses: '200': description: Duplicate groups content: application/json: schema: type: object properties: totalImages: type: integer duplicateGroups: type: array items: type: object properties: groupId: type: integer files: type: array items: type: object properties: filename: type: string similarity: type: number width: type: integer height: type: integer fileSize: type: integer format: type: string isBest: type: boolean thumbnail: type: - string - 'null' uniqueImages: type: integer spaceSaveable: type: integer skippedFiles: type: array description: Files that could not be processed (present only when non-empty) items: type: object properties: filename: type: string reason: type: string '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/qr-generate: post: operationId: generateQrCode tags: - Tools summary: QR code जनरेटर description: टेक्स्ट से एक QR code image जनरेट करें। यह tool एक JSON body स्वीकार करता है, multipart नहीं। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - text properties: text: type: string maxLength: 2000 description: Text to encode in the QR code size: type: integer minimum: 100 maximum: 10000 default: 400 description: Image size in pixels errorCorrection: type: string enum: - L - M - Q - H default: M foreground: type: string default: '#000000' description: Foreground color (hex) background: type: string default: '#FFFFFF' description: Background color (hex) responses: '200': description: Generated QR code content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/html-to-image: post: operationId: captureWebpage tags: - Tools summary: वेबपेज को image के रूप में कैप्चर करें description: एक वेबपेज को उच्च-गुणवत्ता स्क्रीनशॉट image के रूप में कैप्चर करें। एक URL और कैप्चर विकल्पों के साथ एक JSON body स्वीकार करता है। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - url properties: url: type: string format: uri description: URL to capture (http/https only) format: type: string enum: - jpg - png - webp default: png quality: type: integer minimum: 1 maximum: 100 default: 90 fullPage: type: boolean default: false devicePreset: type: string enum: - desktop - tablet - mobile - custom default: desktop viewportWidth: type: integer minimum: 320 maximum: 3840 default: 1280 viewportHeight: type: integer minimum: 320 maximum: 2160 default: 720 responses: '200': description: Screenshot captured successfully content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid URL or parameters content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '503': description: Browser service unavailable content: application/json: schema: $ref: '#/components/schemas/Error' '504': description: Page load timeout content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/strip-metadata/inspect: post: operationId: inspectMetadata tags: - Tools summary: metadata निरीक्षण करें description: एक image में सभी metadata (EXIF, GPS, ICC, XMP) को हटाए बिना देखें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to inspect responses: '200': description: Image metadata content: application/json: schema: type: object properties: filename: type: string fileSize: type: integer exif: type: object description: EXIF metadata exifError: type: string description: Present when EXIF parsing fails gps: type: object description: GPS metadata icc: type: object description: ICC profile metadata xmp: type: object description: XMP metadata '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Failed to read image metadata content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/edit-metadata: post: operationId: editMetadata tags: - Tools summary: इमेज मेटाडेटा संपादित करें description: ExifTool का उपयोग करके एक image में EXIF, IPTC, GPS, और अन्य metadata fields संपादित करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `title` (string) - Image title - `author` (string) - Author name - `artist` (string) - Artist or author name - `copyright` (string) - Copyright notice - `imageDescription` (string) - Image description - `software` (string) - Software used - `dateTime` (string) - Date/time string - `dateTimeOriginal` (string) - Original capture date/time - `clearGps` (boolean, default false) - Remove all GPS data - `fieldsToRemove` (string[]) - Specific metadata fields to remove - `gpsLatitude` (number -90 to 90) - GPS latitude - `gpsLongitude` (number -180 to 180) - GPS longitude - `gpsAltitude` (number) - GPS altitude in meters - `keywords` (string[]) - Keywords or tags - `keywordsMode` (string, default "add") - One of: add, set - `dateShift` (string) - Shift dates by offset, e.g. "+2:00" or "-1:30" - `setAllDates` (string) - Set all date fields to this value - `iptcTitle` (string) - IPTC title - `iptcHeadline` (string) - IPTC headline - `iptcCity` (string) - IPTC city - `iptcState` (string) - IPTC state or province - `iptcCountry` (string) - IPTC country responses: '200': description: Image with updated metadata content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/edit-metadata/inspect: post: operationId: inspectMetadataExifTool tags: - Tools summary: metadata निरीक्षण करें (ExifTool) description: ExifTool का उपयोग करके एक image से सभी metadata पढ़ें। सभी एम्बेडेड EXIF, IPTC, XMP, और GPS fields लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to inspect responses: '200': description: Full metadata object (keys vary by image) content: application/json: schema: type: object additionalProperties: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Failed to read image metadata content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/{section}/{toolId}/batch: post: operationId: batchProcess tags: - Batch summary: images बैच प्रोसेस करें description: | एक ही tool के जरिए कई images भेजें। एक ZIP फ़ाइल लौटाता है। response में प्रगति ट्रैकिंग के लिए एक X-Job-Id header शामिल होता है। security: - bearerAuth: [] parameters: - name: section in: path required: true schema: type: string description: Tool section slug (image, video, audio, pdf, files) - name: toolId in: path required: true schema: type: string description: Tool identifier (e.g. resize, crop) requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Image files to process (one or more) settings: type: string description: JSON string of tool settings applied to all images responses: '200': description: ZIP archive of processed images headers: X-Job-Id: schema: type: string description: Job identifier for progress tracking content: application/zip: schema: type: string format: binary '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/pipeline/execute: post: operationId: executePipeline tags: - Pipelines summary: एक pipeline निष्पादित करें description: एक image को tools की श्रृंखला के जरिए चलाएं। pipeline परिभाषा `pipeline` multipart field में एक JSON string के रूप में भेजी जाती है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file - pipeline properties: file: type: string format: binary description: Image file to process pipeline: type: string description: 'JSON string: { "steps": [{ "toolId": "resize", "settings": {...} }, ...] }' responses: '200': description: Pipeline result content: application/json: schema: type: object properties: jobId: type: string downloadUrl: type: string originalSize: type: integer processedSize: type: integer stepsCompleted: type: integer steps: type: array items: type: object '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/pipeline/save: post: operationId: savePipeline tags: - Pipelines summary: एक pipeline सहेजें description: 'बाद के निष्पादन के लिए एक नामित pipeline परिभाषा को उसके tool चरणों के साथ स्थायी करें। पुन: प्रयोज्य workflows को सहेजने के लिए इसका उपयोग करें।' security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - name - steps properties: name: type: string description: type: string description: Optional human-readable description of the pipeline steps: type: array items: type: object properties: toolId: type: string settings: type: object responses: '201': description: Pipeline saved content: application/json: schema: type: object properties: id: type: string name: type: string description: type: string description: Human-readable description of the pipeline steps: type: array items: type: object createdAt: type: string format: date-time '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/pipeline/list: get: operationId: listPipelines tags: - Pipelines summary: सहेजे गए pipelines सूचीबद्ध करें description: वर्तमान user के लिए सभी सहेजी गई pipeline परिभाषाएं पुनर्प्राप्त करें। प्रत्येक के लिए नाम, चरण, और निर्माण तिथि लौटाता है। security: - bearerAuth: [] responses: '200': description: List of pipelines content: application/json: schema: type: object properties: pipelines: type: array items: type: object properties: id: type: string name: type: string description: type: string description: Human-readable description of the pipeline steps: type: array items: type: object createdAt: type: string format: date-time '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/pipeline/{id}: delete: operationId: deletePipeline tags: - Pipelines summary: एक pipeline हटाएं description: एक सहेजे गए pipeline को उसके ID से स्थायी रूप से हटाएं। केवल pipeline स्वामी या एक admin इसे हटा सकता है। security: - bearerAuth: [] parameters: - name: id in: path required: true description: Pipeline UUID schema: type: string responses: '200': description: Pipeline deleted content: application/json: schema: type: object properties: ok: type: boolean '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Not authorized to delete this pipeline content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Pipeline not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/pipeline/tools: get: operationId: listPipelineTools tags: - Pipelines summary: pipeline-संगत tools सूचीबद्ध करें description: सभी tool IDs लौटाता है जिन्हें pipeline चरणों के रूप में उपयोग किया जा सकता है। security: [] responses: '200': description: Tool IDs content: application/json: schema: type: object properties: toolIds: type: array items: type: string /api/v1/pipeline/batch: post: operationId: batchPipeline tags: - Pipelines summary: कई फ़ाइलों पर pipeline चलाएं description: कई images में एक pipeline निष्पादित करें। सभी प्रोसेस किए गए परिणामों के साथ एक ZIP फ़ाइल लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file - pipeline properties: file: type: array items: type: string format: binary description: Image files to process pipeline: type: string description: | JSON string with pipeline definition: - `steps` (array, required, 1-20 items) - Pipeline steps - `steps[].toolId` (string, required) - Tool ID for this step - `steps[].settings` (object, optional) - Tool-specific settings clientJobId: type: string description: Optional client-provided job ID for progress tracking via SSE responses: '200': description: ZIP file with processed images headers: X-Job-Id: schema: type: string description: Job ID for progress tracking X-File-Results: schema: type: string description: Percent-encoded JSON mapping of input index to output filename (decode with decodeURIComponent before JSON.parse) content: application/zip: schema: type: string format: binary '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/upload: post: operationId: uploadImage tags: - Files summary: एक image upload करें description: tool endpoints द्वारा बाद की प्रोसेसिंग के लिए एक raw image फ़ाइल upload करें। एक jobId और फ़ाइल metadata लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary responses: '200': description: Upload result content: application/json: schema: type: object properties: jobId: type: string files: type: array items: type: object properties: name: type: string size: type: integer format: type: string '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/download/{jobId}/{filename}: get: operationId: downloadProcessedImage tags: - Files summary: एक प्रोसेस की गई image download करें description: एक प्रोसेस की गई image को उसके job ID और filename से download करें। यह tool responses से downloadUrl में लौटाया गया URL है। security: [] parameters: - name: jobId in: path required: true description: Job identifier from a tool processing response schema: type: string - name: filename in: path required: true description: Output filename from the processing response schema: type: string responses: '200': description: Image binary content: image/*: schema: type: string format: binary '404': description: File not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/preview: post: operationId: generatePreview tags: - Files summary: image preview जनरेट करें description: किसी भी image (HEIC/HEIF सहित) को एक WebP preview में बदलें, जो 1200x1200 पिक्सेल के भीतर फ़िट करने के लिए आकार बदला गया हो। security: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to preview responses: '200': description: WebP preview image content: image/webp: schema: type: string format: binary '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/files: get: operationId: listFiles tags: - Files summary: सहेजी गई फ़ाइलें सूचीबद्ध करें description: प्रत्येक फ़ाइल का नवीनतम संस्करण लौटाता है (प्रति संस्करण श्रृंखला एक)। पेजिनेशन और खोज का समर्थन करता है। security: - bearerAuth: [] parameters: - name: limit in: query description: Maximum number of files to return (default 50) schema: type: integer default: 50 - name: offset in: query description: Number of files to skip for pagination (default 0) schema: type: integer default: 0 - name: search in: query description: Filter files by original filename (substring match) schema: type: string responses: '200': description: List of saved files content: application/json: schema: type: object properties: files: type: array items: type: object properties: id: type: string filename: type: string size: type: integer contentType: type: string createdAt: type: string format: date-time total: type: integer description: Total number of matching files (for pagination) limit: type: integer description: Applied limit value offset: type: integer description: Applied offset value '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' delete: operationId: bulkDeleteFiles tags: - Files summary: सहेजी गई फ़ाइलें बल्क हटाएं description: फ़ाइलें और उनकी संपूर्ण संस्करण श्रृंखलाएं हटाएं। गैर-admin users केवल अपनी फ़ाइलें हटा सकते हैं। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - ids properties: ids: type: array items: type: string description: File IDs to delete (deletes entire version chain for each) responses: '200': description: Deletion result content: application/json: schema: type: object properties: deleted: type: integer description: Total number of records deleted across all version chains '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/files/upload: post: operationId: saveFileToLibrary tags: - Files summary: लाइब्रेरी में फ़ाइल सहेजें description: स्थायी भंडारण और संस्करण ट्रैकिंग के लिए एक या अधिक image फ़ाइलें सीधे फ़ाइल लाइब्रेरी में upload करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary responses: '201': description: Files uploaded content: application/json: schema: type: object properties: files: type: array items: type: object description: Full file object with all metadata '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/files/save-result: post: operationId: saveProcessingResult tags: - Files summary: एक प्रोसेसिंग परिणाम लाइब्रेरी में सहेजें description: एक tool प्रोसेसिंग परिणाम को मौजूदा फ़ाइल के नए संस्करण के रूप में सहेजें। एक संस्करण श्रृंखला बनाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file - parentId properties: file: type: string format: binary description: The processed image file parentId: type: string description: ID of the parent file in the version chain toolId: type: string description: Tool that produced this result responses: '201': description: File saved content: application/json: schema: type: object properties: file: type: object description: Full file object with all metadata '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Parent file not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/files/{id}: get: operationId: getFile tags: - Files summary: फ़ाइल metadata और संस्करण इतिहास प्राप्त करें description: एक सहेजी गई फ़ाइल के लिए metadata और पूर्ण संस्करण इतिहास पुनर्प्राप्त करें। download करने से पहले फ़ाइल विवरण का निरीक्षण करने के लिए इसका उपयोग करें। security: - bearerAuth: [] parameters: - name: id in: path required: true description: Saved file UUID schema: type: string responses: '200': description: File metadata with version history content: application/json: schema: type: object properties: file: type: object properties: id: type: string originalName: type: string mimeType: type: string size: type: integer width: type: integer height: type: integer version: type: integer parentId: type: - string - 'null' toolChain: type: array items: type: string createdAt: type: string format: date-time versions: type: array items: type: object description: Full version chain of this file '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: File not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/files/{id}/download: get: operationId: downloadSavedFile tags: - Files summary: एक सहेजी गई फ़ाइल download करें description: लाइब्रेरी से एक सहेजी गई फ़ाइल की binary सामग्री को उसके ID से download करें। security: - bearerAuth: [] parameters: - name: id in: path required: true description: Saved file UUID schema: type: string responses: '200': description: Image binary content: image/*: schema: type: string format: binary '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: File not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/files/{id}/thumbnail: get: operationId: getFileThumbnail tags: - Files summary: फ़ाइल थंबनेल प्राप्त करें description: एक सहेजी गई फ़ाइल का 300px JPEG थंबनेल पुनर्प्राप्त करें। गैलरी दृश्यों और फ़ाइल ब्राउज़र के लिए उपयोगी। security: - bearerAuth: [] parameters: - name: id in: path required: true description: Saved file UUID schema: type: string responses: '200': description: 300px JPEG thumbnail content: image/jpeg: schema: type: string format: binary '404': description: File not found content: application/json: schema: $ref: '#/components/schemas/Error' '422': description: Thumbnail generation failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/fetch-urls: post: operationId: fetchImageUrls tags: - Files summary: URLs से images प्राप्त करें description: | बाहरी URLs से एक या अधिक images प्राप्त करें। प्रत्येक URL को SSRF हमलों के विरुद्ध validate किया जाता है, आकार-सीमित किया जाता है, और एक वैध image के रूप में सत्यापित किया जाता है। प्रत्येक सफलतापूर्वक प्राप्त की गई image के लिए download URLs लौटाता है। प्रति घंटे 200 requests तक सीमित। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - urls properties: urls: type: array items: type: string format: uri minItems: 1 maxItems: 50 description: URLs of images to fetch (1-50) responses: '200': description: Fetch results for each URL content: application/json: schema: type: object properties: results: type: array items: type: object properties: success: type: boolean url: type: string filename: type: string contentType: type: string size: type: integer width: type: integer height: type: integer downloadUrl: type: string previewUrl: type: - string - 'null' error: type: string description: Present only when success is false '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/config/locale: get: operationId: getLocaleConfig tags: - System summary: डिफ़ॉल्ट locale प्राप्त करें description: डिफ़ॉल्ट locale सेटिंग लौटाता है। सार्वजनिक endpoint। security: [] responses: '200': description: Default locale content: application/json: schema: type: object properties: defaultLocale: type: string example: en /api/auth/login: post: operationId: login tags: - Auth summary: लॉग इन करें description: username और password के साथ authenticate करें। बाद के API requests के लिए एक bearer token लौटाता है। security: [] requestBody: required: true content: application/json: schema: type: object required: - username - password properties: username: type: string password: type: string format: password responses: '200': description: Login successful content: application/json: schema: type: object properties: token: type: string user: type: object properties: id: type: string username: type: string role: type: string mustChangePassword: type: boolean permissions: type: array items: type: string teamName: type: string expiresAt: type: string format: date-time '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Invalid credentials content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/auth/logout: post: operationId: logout tags: - Auth summary: लॉग आउट करें description: वर्तमान session token को अमान्य करें। logout के बाद token का आगे के requests के लिए उपयोग नहीं किया जा सकता। security: - bearerAuth: [] responses: '200': description: Logged out content: application/json: schema: type: object properties: ok: type: boolean '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/auth/session: get: operationId: getSession tags: - Auth summary: वर्तमान session प्राप्त करें description: user प्रोफ़ाइल, role, और permissions सहित वर्तमान session विवरण पुनर्प्राप्त करें। authenticate न होने पर null user लौटाता है। security: [] responses: '200': description: Session info content: application/json: schema: type: object properties: user: type: object properties: id: type: string username: type: string role: type: string mustChangePassword: type: boolean permissions: type: array items: type: string expiresAt: type: - string - 'null' format: date-time /api/auth/change-password: post: operationId: changePassword tags: - Auth summary: password बदलें description: authenticate किए गए user का password बदलें। सत्यापन के लिए वर्तमान password आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - currentPassword - newPassword properties: currentPassword: type: string format: password newPassword: type: string format: password responses: '200': description: Password changed content: application/json: schema: type: object properties: ok: type: boolean '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/auth/users: get: operationId: listUsers tags: - Auth summary: users सूचीबद्ध करें description: users:manage permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: List of users content: application/json: schema: type: object properties: users: type: array items: type: object properties: id: type: string username: type: string role: type: string team: type: string createdAt: type: string format: date-time maxUsers: type: integer '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' /api/auth/register: post: operationId: createUser tags: - Auth summary: user बनाएं description: | Requires users:manage permission. The assigned role must be within the actor's effective role authority, including hierarchy, permissions, tool access, and any API-key scope. security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - username - password properties: username: type: string password: type: string format: password role: type: string description: Built-in role (admin, editor, user) or custom role name default: user team: type: string default: Default responses: '201': description: User created content: application/json: schema: type: object properties: id: type: string username: type: string role: type: string team: type: string '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '409': description: Username already exists content: application/json: schema: $ref: '#/components/schemas/ConflictError' /api/auth/users/{id}: put: operationId: updateUser tags: - Auth summary: user अपडेट करें description: | Requires users:manage permission and authority over the target's current role. Any newly assigned role must also be within the actor's effective hierarchy, permissions, tool access, and API-key scope. security: - bearerAuth: [] parameters: - name: id in: path required: true description: User UUID schema: type: string requestBody: required: true content: application/json: schema: type: object properties: role: type: string description: Built-in role (admin, editor, user) or custom role name team: type: string responses: '200': description: User updated content: application/json: schema: type: object properties: ok: type: boolean '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' delete: operationId: deleteUser tags: - Auth summary: user हटाएं description: | Requires users:manage permission and authority over the target's current role, including hierarchy, permissions, tool access, and any API-key scope. Self-deletion is not allowed. security: - bearerAuth: [] parameters: - name: id in: path required: true description: User UUID schema: type: string responses: '200': description: User deleted content: application/json: schema: type: object properties: ok: type: boolean '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' /api/auth/users/{id}/reset-password: post: operationId: resetUserPassword tags: - Auth summary: user password रीसेट करें description: | Reset a local user's password. Requires users:manage permission and authority over the target's current role, including hierarchy, permissions, tool access, and any API-key scope. security: - bearerAuth: [] parameters: - name: id in: path required: true description: User UUID schema: type: string requestBody: required: true content: application/json: schema: type: object required: - newPassword properties: newPassword: type: string format: password responses: '200': description: Password reset content: application/json: schema: type: object properties: ok: type: boolean '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' /api/v1/api-keys: post: operationId: createApiKey tags: - API Keys summary: एक API key बनाएं description: | एक नई API key जनरेट करें। पूर्ण key (si_ के आगे लगे साथ) केवल एक बार लौटाई जाती है। Keys scrypt hashing का उपयोग करके संग्रहीत की जाती हैं। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object properties: name: type: string maxLength: 100 default: Default API Key permissions: type: array items: type: string description: Scoped permissions for this key expiresAt: type: string format: date-time description: Optional expiration date responses: '201': description: API key created content: application/json: schema: type: object properties: id: type: string key: type: string description: Full key (only shown once) name: type: string permissions: type: - array - 'null' items: type: string expiresAt: type: - string - 'null' format: date-time createdAt: type: string format: date-time '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' get: operationId: listApiKeys tags: - API Keys summary: API keys सूचीबद्ध करें description: key metadata लौटाता है लेकिन पूर्ण key नहीं। security: - bearerAuth: [] responses: '200': description: List of API keys content: application/json: schema: type: object properties: apiKeys: type: array items: type: object properties: id: type: string name: type: string permissions: type: - array - 'null' items: type: string createdAt: type: string format: date-time lastUsedAt: type: - string - 'null' format: date-time expiresAt: type: - string - 'null' format: date-time '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/api-keys/{id}: delete: operationId: deleteApiKey tags: - API Keys summary: एक API key हटाएं description: एक API key को स्थायी रूप से रद्द करें और हटाएं। हटाने के बाद key का authentication के लिए उपयोग नहीं किया जा सकता। security: - bearerAuth: [] parameters: - name: id in: path required: true description: API key UUID schema: type: string responses: '200': description: API key deleted content: application/json: schema: type: object properties: ok: type: boolean '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/settings: get: operationId: getSettings tags: - Settings summary: सभी settings प्राप्त करें description: कॉलर की प्रभावी अनुमतियों द्वारा अधिकृत सिस्टम सेटिंग्स प्राप्त करें। `settings:read` आवश्यक है; सुरक्षा, अनुपालन और पूर्ण-एडमिन सेटिंग्स को अलग-अलग फ़िल्टर किया जाता है। security: - bearerAuth: [] responses: '200': description: All settings wrapped in a settings object content: application/json: schema: type: object properties: settings: type: object additionalProperties: type: string '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' put: operationId: updateSettings tags: - Settings summary: settings अपडेट करें description: मान्य और लिखने योग्य सेटिंग कीज़ वाला एक फ़्लैट JSON ऑब्जेक्ट स्वीकार करता है। `settings:write` आवश्यक है; सुरक्षा और अनुपालन कीज़ के लिए उनकी संबंधित प्रभावी अनुमति भी आवश्यक है, गोपनीय मानों के लिए पूर्ण-एडमिन अधिकार आवश्यक हैं, और समर्पित या सर्वर-प्रबंधित कीज़ केवल पढ़ने योग्य हैं। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object additionalProperties: type: string responses: '200': description: Settings updated content: application/json: schema: type: object properties: ok: type: boolean updatedCount: type: integer '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Admin access required content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' /api/v1/settings/{key}: get: operationId: getSetting tags: - Settings summary: एकल setting प्राप्त करें description: की द्वारा एक मान्य सेटिंग प्राप्त करें। जब कॉलर के पास `settings:read` और उस की का अतिरिक्त अधिकार दोनों हों, तब मान और अंतिम-अपडेट टाइमस्टैम्प लौटाता है। security: - bearerAuth: [] parameters: - name: key in: path required: true description: Setting key name schema: type: string responses: '200': description: Setting value content: application/json: schema: type: object properties: key: type: string value: type: string updatedAt: type: string format: date-time '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Setting not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/teams: get: operationId: listTeams tags: - Teams summary: teams सूचीबद्ध करें description: teams:manage permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: List of teams content: application/json: schema: type: object properties: teams: type: array items: type: object properties: id: type: string name: type: string memberCount: type: integer createdAt: type: string format: date-time '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' post: operationId: createTeam tags: - Teams summary: एक team बनाएं description: teams:manage permission आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - name properties: name: type: string responses: '201': description: Team created content: application/json: schema: type: object properties: id: type: string name: type: string '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '409': description: Team name already exists content: application/json: schema: $ref: '#/components/schemas/ConflictError' /api/v1/teams/{id}: put: operationId: updateTeam tags: - Teams summary: एक team का नाम बदलें description: teams:manage permission आवश्यक है। security: - bearerAuth: [] parameters: - name: id in: path required: true description: Team UUID schema: type: string requestBody: required: true content: application/json: schema: type: object required: - name properties: name: type: string responses: '200': description: Team updated content: application/json: schema: type: object properties: ok: type: boolean '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Team not found content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Team name already exists content: application/json: schema: $ref: '#/components/schemas/ConflictError' delete: operationId: deleteTeam tags: - Teams summary: एक team हटाएं description: teams:manage permission आवश्यक है। security: - bearerAuth: [] parameters: - name: id in: path required: true description: Team UUID schema: type: string responses: '200': description: Team deleted content: application/json: schema: type: object properties: ok: type: boolean '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Team not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/config/auth: get: operationId: getAuthConfig tags: - System summary: Auth configuration description: जाँचें कि इस instance पर authentication सक्षम है या नहीं। login फ़्लो निर्धारित करने के लिए frontend द्वारा उपयोग किया जाने वाला सार्वजनिक endpoint। security: [] responses: '200': description: Auth config content: application/json: schema: type: object properties: authEnabled: type: boolean /api/v1/jobs/{jobId}/progress: get: operationId: getJobProgress tags: - System summary: Job प्रगति (SSE) description: लंबे समय तक चलने वाले कार्यों को ट्रैक करने के लिए Server-Sent Events स्ट्रीम। यह एकल-फ़ाइल, बैच और हार्टबीट फ़्रेम भेजती है और अंतिम कार्य इवेंट के तुरंत बाद बंद हो जाती है। security: [] parameters: - name: jobId in: path required: true description: Job UUID from a tool processing or installation response schema: type: string responses: '200': description: | SSE stream of job progress frames. Single-file frames use `phase`, `percent`, optional `stage`, and terminal `result` or `error` fields. Batch frames use `status`, file counters, and `errors`. Heartbeat frames keep idle connections alive. content: text/event-stream: schema: oneOf: - title: Single-file progress frame type: object required: - jobId - type - phase - percent properties: jobId: type: string type: type: string const: single phase: type: string enum: - processing - complete - failed stage: type: string percent: type: number minimum: 0 maximum: 100 error: type: string description: Present on terminal failed frames result: type: object additionalProperties: true description: Present on terminal complete frames; contains the tool result - title: Batch progress frame type: object required: - jobId - type - status - totalFiles - completedFiles - failedFiles - errors properties: jobId: type: string type: type: string const: batch status: type: string enum: - processing - completed - failed totalFiles: type: integer minimum: 0 completedFiles: type: integer minimum: 0 failedFiles: type: integer minimum: 0 currentFile: type: string errors: type: array items: type: object required: - filename - error properties: filename: type: string error: type: string - title: Heartbeat frame type: object required: - type properties: type: type: string const: heartbeat /api/v1/admin/health: get: operationId: adminHealthCheck tags: - Admin summary: Admin स्वास्थ्य जाँच description: | database स्थिति, storage मोड, queue स्थिति, और GPU उपलब्धता सहित पूर्ण सिस्टम निदान। system:health permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: Detailed system health content: application/json: schema: $ref: '#/components/schemas/AdminHealthResponse' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' /api/v1/config/analytics: get: operationId: getAnalyticsConfig tags: - Analytics summary: analytics configuration प्राप्त करें description: | प्रभावी analytics प्रदाता configuration लौटाता है। Analytics केवल तब सक्षम होता है जब compile-time bake और instance analyticsEnabled setting दोनों इसे अनुमति देते हैं। जब अक्षम हो, तो keys, DSN, और instanceId रिक्त होते हैं। सार्वजनिक endpoint। security: [] responses: '200': description: Analytics configuration content: application/json: schema: type: object properties: enabled: type: boolean description: | Effective analytics state. True only when both the compile-time bake and the instance analyticsEnabled setting are on. When false, the keys, DSN, and instanceId are blank. posthogApiKey: type: string posthogHost: type: string sentryDsn: type: string sentryDsnWeb: type: string posthogSampleRate: type: number instanceId: type: string /api/v1/features: get: operationId: listFeatures tags: - Features summary: feature bundles सूचीबद्ध करें description: | सभी उपलब्ध AI feature bundles और उनकी इंस्टॉलेशन स्थिति लौटाता है। गैर-Docker वातावरण में, सभी bundles इंस्टॉल के रूप में दिखते हैं। security: - bearerAuth: [] responses: '200': description: Feature bundle list content: application/json: schema: type: object properties: bundles: type: array items: type: object properties: id: type: string name: type: string description: type: string description: Human-readable description of the feature bundle status: type: string enum: - installed - not_installed - installing - queued - error installedVersion: type: - string - 'null' estimatedSize: type: string downloadBytes: type: - integer - 'null' description: Compressed archive size for this host's architecture, when the manifest records it. Null in native (non-Docker) mode or when unmeasured. installedBytes: type: - integer - 'null' description: Extracted on-disk size for this host's architecture, when the manifest records it. compatibility: type: string enum: - compatible - incompatible - invalid description: OCR runtime compatibility; omitted for legacy bundles compatibilityReason: type: - string - 'null' description: OCR runtime compatibility reason; omitted for legacy bundles selectedTarget: type: - string - 'null' description: Selected OCR runtime target, such as linux-amd64-cpu-py312 missingDownloadBytes: type: - integer - 'null' description: Remaining OCR runtime download size for this host requiredMemoryBytes: type: - integer - 'null' description: Minimum effective memory required by the selected OCR runtime; null for legacy bundles effectiveMemoryBytes: type: - integer - 'null' description: Effective memory available to OCR (the configured container cgroup limit, otherwise host memory); null for legacy bundles healthyGeneration: type: - string - 'null' description: Active immutable OCR generation identifier availableQualities: type: array description: OCR quality tiers currently available on this host items: type: string enum: - fast - balanced - best enablesTools: type: array items: type: string progress: type: - object - 'null' properties: percent: type: number stage: type: string error: type: - string - 'null' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/admin/features/{bundleId}/install: post: operationId: installFeature tags: - Features summary: एक feature bundle इंस्टॉल करें description: |- एआई फीचर बंडल का एसिंक इंस्टालेशन प्रारंभ करें। डाउनलोड मॉडल और Python sidecar को कॉन्फ़िगर करता है। प्रगति ट्रैकिंग के लिए jobId लौटाता है SSE समापन बिंदु के माध्यम से। features:manage अनुमति की आवश्यकता है. bundleId=ocr के लिए, इंस्टॉलेशन आधिकारिक Linux amd64 और arm64 कंटेनरों में समर्थित है। यह इस होस्ट के लिए चयनित लक्ष्य को डाउनलोड करता है, रिलीज़ को सत्यापित करता है सूचकांक के Ed25519 हस्ताक्षर और artifact/मॉडल डाइजेस्ट, धुआं-परीक्षण a चरणबद्ध अपरिवर्तनीय पीढ़ी, और परमाणु रूप से इसे सक्रिय करती है। OCR रनटाइम CPU का उपयोग करता है, भले ही कंटेनर में NVIDIA GPU एक्सेस हो। द सटीक रनटाइम के लिए कम से कम 4 GiB प्रभावी मेमोरी की आवश्यकता होती है कॉन्फ़िगर कंटेनर cgroup सीमा, अन्यथा होस्ट मेमोरी)। उसके नीचे के सिस्टम पर हस्ताक्षर किए गए न्यूनतम संगतता को डाउनलोड करने से पहले अस्वीकार कर दिया जाता है compatibilityReason=insufficient-memory. Fast Tesseract OCR नहीं है इस आवश्यकता के अधीन. इंस्टॉल क्रमबद्ध सर्वर-साइड होते हैं: एक अनुरोध किया जाता है जबकि दूसरा इंस्टॉल चल रहा है अस्वीकृत होने के बजाय कतारबद्ध (queued=true) है, और रनिंग इंस्टाल समाप्त होने पर स्वचालित रूप से प्रारंभ हो जाता है। एक दोहराव उसी इन-फ़्लाइट बंडल के लिए अनुरोध काट लिया जाता है और वही वापस कर दिया जाता है jobId. security: - bearerAuth: [] parameters: - name: bundleId in: path required: true description: Feature bundle identifier schema: type: string responses: '202': description: Installation started or queued content: application/json: schema: type: object properties: jobId: type: string description: Job ID for tracking installation progress via SSE queued: type: boolean description: True when the install was queued behind another running install instead of starting immediately. '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Unknown bundle ID content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Bundle already installed or OCR runtime unsupported on this host content: application/json: schema: $ref: '#/components/schemas/ConflictError' '503': description: OCR runtime trust key is not configured in this image content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/admin/features/{bundleId}/uninstall: post: operationId: uninstallFeature tags: - Features summary: एक feature bundle अनइंस्टॉल करें description: | एक AI feature bundle अनइंस्टॉल करें और उसकी model फ़ाइलें हटाएं (जब तक किसी अन्य इंस्टॉल किए गए bundle के साथ साझा न हों)। features:manage permission आवश्यक है। security: - bearerAuth: [] parameters: - name: bundleId in: path required: true description: Feature bundle identifier schema: type: string responses: '200': description: Bundle uninstalled content: application/json: schema: type: object properties: ok: type: boolean '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Unknown bundle ID content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Bundle is not installed content: application/json: schema: $ref: '#/components/schemas/ConflictError' /api/v1/admin/features/disk-usage: get: operationId: getFeatureDiskUsage tags: - Features summary: AI model डिस्क उपयोग description: | AI model फ़ाइलों द्वारा उपयोग की गई कुल डिस्क स्थान लौटाता है। features:manage permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: Disk usage content: application/json: schema: type: object properties: totalBytes: type: integer description: Total bytes used by AI model files '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' /api/v1/audit-log: get: operationId: queryAuditLog tags: - Audit summary: audit log क्वेरी करें description: | प्रशासनिक कार्रवाइयों का पेजिनेटेड audit log। कार्रवाई प्रकार और तिथि सीमा के अनुसार फ़िल्टरिंग का समर्थन करता है। audit:read permission आवश्यक है। security: - bearerAuth: [] parameters: - name: page in: query description: Page number (default 1) schema: type: integer minimum: 1 default: 1 - name: limit in: query description: Results per page (1-100, default 50) schema: type: integer minimum: 1 maximum: 100 default: 50 - name: action in: query description: Filter by action type schema: type: string - name: from in: query description: Filter entries after this ISO 8601 date schema: type: string format: date-time - name: to in: query description: Filter entries before this ISO 8601 date schema: type: string format: date-time responses: '200': description: Paginated audit log entries content: application/json: schema: type: object properties: entries: type: array items: type: object properties: id: type: string actorId: type: - string - 'null' actorUsername: type: string action: type: string targetType: type: - string - 'null' targetId: type: - string - 'null' details: type: - object - 'null' ipAddress: type: - string - 'null' requestId: type: - string - 'null' createdAt: type: string format: date-time total: type: integer description: Total matching entries page: type: integer limit: type: integer '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' /api/v1/roles: get: operationId: listRoles tags: - Roles summary: roles सूचीबद्ध करें description: | सभी roles (बिल्ट-इन और कस्टम) को उनके permissions और user संख्याओं के साथ सूचीबद्ध करें। audit:read permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: Role list content: application/json: schema: type: object properties: roles: type: array items: type: object properties: id: type: string name: type: string description: type: string description: Human-readable description of the role permissions: type: array items: type: string isBuiltin: type: boolean userCount: type: integer createdAt: type: string format: date-time updatedAt: type: string format: date-time '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' post: operationId: createRole tags: - Roles summary: एक कस्टम role बनाएं description: | Create a new custom role with specified permissions. Role names must be 2-30 characters, lowercase alphanumeric with hyphens and underscores. Requires security:manage permission. The new role's permissions and tool access must be contained by the actor's effective authority. security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - name - permissions properties: name: type: string minLength: 2 maxLength: 30 pattern: ^[a-z0-9_-]+$ description: Lowercase role name description: type: string description: Human-readable description permissions: type: array items: type: string description: | Permission strings. Valid values: tools:use, files:own, files:all, apikeys:own, apikeys:all, pipelines:own, pipelines:all, settings:read, settings:write, users:manage, teams:manage, features:manage, system:health, audit:read, compliance:manage, webhooks:manage, security:manage responses: '201': description: Role created content: application/json: schema: type: object properties: id: type: string name: type: string description: type: string description: Human-readable description of the role permissions: type: array items: type: string isBuiltin: type: boolean '400': description: Validation error content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '409': description: Role name already exists content: application/json: schema: $ref: '#/components/schemas/ConflictError' /api/v1/roles/{id}: put: operationId: updateRole tags: - Roles summary: एक कस्टम role अपडेट करें description: | Update name, description, or permissions of a custom role. Built-in roles cannot be modified. Requires security:manage permission and authority over the current role; the resulting permissions and tool access must remain contained by the actor's effective authority. security: - bearerAuth: [] parameters: - name: id in: path required: true description: Role UUID schema: type: string requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 2 maxLength: 30 description: type: string description: Updated description for the role permissions: type: array items: type: string responses: '200': description: Role updated content: application/json: schema: type: object properties: ok: type: boolean '400': description: Validation error or cannot modify built-in role content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Role not found content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Role name already exists content: application/json: schema: $ref: '#/components/schemas/ConflictError' delete: operationId: deleteRole tags: - Roles summary: एक कस्टम role हटाएं description: | Delete a custom role. Users assigned to this role are reassigned to the default "user" role. Built-in roles cannot be deleted. Requires security:manage permission, authority over the current role, and authority to assign the fallback role. security: - bearerAuth: [] parameters: - name: id in: path required: true description: Role UUID schema: type: string responses: '200': description: Role deleted content: application/json: schema: type: object properties: ok: type: boolean '400': description: Cannot delete built-in role content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Role not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/convert-video: post: operationId: convertVideo tags: - Tools summary: Convert Video description: MP4, MOV, WebM, AVI, और MKV के बीच videos बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `format` (string, default "mp4") - One of: mp4, mov, webm, avi, mkv - `quality` (string, default "balanced") - One of: high, balanced, small clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/compress-video: post: operationId: compressVideo tags: - Tools summary: Compress Video description: गुणवत्ता नियंत्रण के साथ video फ़ाइल आकार सिकोड़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `quality` (string, default "balanced") - One of: light, balanced, strong - `resolution` (string, default "original") - One of: original, 1080p, 720p, 480p clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/trim-video: post: operationId: trimVideo tags: - Tools summary: Trim Video description: एक video से एक क्लिप काटें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `startS` (number >= 0, default 0) - Start time in seconds - `endS` (number, required) - End time in seconds (must be after startS) - `precise` (boolean, default false) - Re-encode for frame-accurate cuts instead of keyframe seek responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/mute-video: post: operationId: muteVideo tags: - Tools summary: Mute Video description: एक video से audio ट्रैक हटाएं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/video-to-gif: post: operationId: videoToGif tags: - Tools summary: Video to GIF description: एक video क्लिप को एक एनिमेटेड GIF में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `fps` (integer 1-30, default 12) - Output frame rate - `width` (integer 64-1280, default 480) - Output width in pixels - `startS` (number >= 0, default 0) - Start time in seconds - `durationS` (number 0-60, default 5) - Duration in seconds clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/resize-video: post: operationId: resizeVideo tags: - Tools summary: Resize Video description: एक video को नए रिज़ॉल्यूशन या प्रीसेट आकार में स्केल करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `width` (integer 16-7680, optional) - Target width in pixels - `height` (integer 16-4320, optional) - Target height in pixels - `preset` (string, default "custom") - One of: custom, 2160p, 1440p, 1080p, 720p, 480p, 360p. When "custom", at least width or height is required responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/crop-video: post: operationId: cropVideo tags: - Tools summary: Crop Video description: एक video से एक क्षेत्र क्रॉप करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `width` (integer >= 16, required) - Crop region width in pixels - `height` (integer >= 16, required) - Crop region height in pixels - `x` (integer >= 0, default 0) - Horizontal offset from top-left - `y` (integer >= 0, default 0) - Vertical offset from top-left responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/rotate-video: post: operationId: rotateVideo tags: - Tools summary: Rotate Video description: एक video घुमाएं या फ़्लिप करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `transform` (string, required) - One of: cw90, ccw90, 180, hflip, vflip responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/change-fps: post: operationId: changeFps tags: - Tools summary: Change FPS description: एक video की फ़्रेम दर बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `fps` (number 1-120, default 30) - Target frame rate responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/video-color: post: operationId: videoColor tags: - Tools summary: Video Color description: चमक, कंट्रास्ट, संतृप्ति, और गामा समायोजित करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `brightness` (number -1 to 1, default 0) - Brightness adjustment - `contrast` (number 0-4, default 1) - Contrast multiplier - `saturation` (number 0-3, default 1) - Saturation multiplier - `gamma` (number 0.1-10, default 1) - Gamma correction responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/video-speed: post: operationId: videoSpeed tags: - Tools summary: Video Speed description: एक video की गति बढ़ाएं या घटाएं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `factor` (number 0.25-4, default 2) - Speed multiplier (2 = double speed, 0.5 = half speed) - `keepPitch` (boolean, default true) - Preserve audio pitch when changing speed responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/reverse-video: post: operationId: reverseVideo tags: - Tools summary: Reverse Video description: एक video क्लिप को पीछे की ओर चलाएं। 5 मिनट तक की क्लिप तक सीमित। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/video-loudnorm: post: operationId: videoLoudnorm tags: - Tools summary: वीडियो ऑडियो नॉर्मलाइज़ description: video audio वॉल्यूम को प्रसारण मानक (EBU R128) में सामान्य करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/aspect-pad: post: operationId: aspectPad tags: - Tools summary: Aspect Pad description: एक लक्ष्य आस्पेक्ट अनुपात में फ़िट करने के लिए ठोस-रंग बार जोड़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `target` (string, default "9:16") - One of: 16:9, 9:16, 1:1, 4:3, 3:4 - `color` (string, default "#000000") - Hex color for padding bars (e.g. "#000000") responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/blur-pad: post: operationId: blurPad tags: - Tools summary: Blur Pad description: बार को video की एक धुंधली प्रति से भरें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `target` (string, default "16:9") - One of: 16:9, 9:16, 1:1, 4:3, 3:4 - `blur` (number 2-50, default 20) - Gaussian blur sigma for the background responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/watermark-video: post: operationId: watermarkVideo tags: - Tools summary: Watermark Video description: video फ़्रेम पर एक टेक्स्ट वॉटरमार्क बर्न करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `text` (string, required) - Watermark text (1-200 characters) - `position` (string, default "br") - One of: tl, tc, tr, l, c, r, bl, bc, br - `fontSize` (integer 8-120, default 36) - Font size in pixels - `opacity` (number 0.05-1, default 0.5) - Watermark opacity - `color` (string, default "#ffffff") - Hex color for the text (e.g. "#ffffff") responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/stabilize-video: post: operationId: stabilizeVideo tags: - Tools summary: Stabilize Video description: दो-पास स्थिरीकरण के साथ कैमरा शेक कम करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `smoothing` (integer 5-60, default 15) - Smoothing window size in frames clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/gif-to-video: post: operationId: gifToVideo tags: - Tools summary: GIF to Video description: एक एनिमेटेड GIF को एक MP4, WebM, या MOV video में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: GIF file to convert settings: type: string description: | JSON string with options: - `format` (string, default "mp4") - One of: mp4, webm, mov responses: '200': description: Converted video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/video-to-webp: post: operationId: videoToWebp tags: - Tools summary: Video to WebP description: एक video क्लिप को एक एनिमेटेड WebP image में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `fps` (integer 1-30, default 12) - Output frame rate - `width` (integer 16-1920, default 480) - Output width in pixels - `quality` (integer 1-100, default 75) - WebP compression quality - `loop` (boolean, default true) - Loop the animation responses: '200': description: Converted animated WebP content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/video-to-frames: post: operationId: videoToFrames tags: - Tools summary: Video to Frames description: एक video से फ़्रेम को images के ZIP के रूप में निकालें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process settings: type: string description: | JSON string with options: - `mode` (string, default "all") - One of: all, nth, timestamps - `n` (integer 2-1000, default 10) - Extract every Nth frame (used when mode is "nth") - `timestamps` (string, default "") - Comma-separated timestamps in seconds (required when mode is "timestamps") - `format` (string, default "png") - One of: png, jpg responses: '200': description: ZIP archive containing extracted frames content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/merge-videos: post: operationId: mergeVideos tags: - Tools summary: Merge Videos description: | कई video क्लिप को एक MP4 फ़ाइल में जोड़ें। सभी inputs को पहले video के रिज़ॉल्यूशन और 30 fps में सामान्य किया जाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Two or more video files to merge (up to 10) clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/replace-audio: post: operationId: replaceAudio tags: - Tools summary: Replace Audio description: एक video के audio ट्रैक को किसी अन्य फ़ाइल से स्वैप करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: A video file followed by an audio file (exactly 2 files) responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/burn-subtitles: post: operationId: burnSubtitles tags: - Tools summary: Burn Subtitles description: video फ़्रेम पर subtitles को स्थायी रूप से रेंडर करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: A video file followed by a subtitle file (.srt, .vtt, .ass) settings: type: string description: | JSON string with options: - `fontSize` (integer 8-72, default 24) - Subtitle font size in pixels clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/embed-subtitles: post: operationId: embedSubtitles tags: - Tools summary: Embed Subtitles description: video container में एक subtitle ट्रैक mux करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: A video file followed by a subtitle file (.srt, .vtt, .ass) settings: type: string description: | JSON string with options: - `language` (string, default "eng") - ISO 639-2/B language code (3 lowercase letters, e.g. "eng", "fra", "deu") responses: '200': description: Processed video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/extract-subtitles: post: operationId: extractSubtitles tags: - Tools summary: Extract Subtitles description: एक video से subtitle ट्रैक को एक SRT फ़ाइल के रूप में निकालें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file with an embedded subtitle track responses: '200': description: Extracted subtitle file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/images-to-video: post: operationId: imagesToVideo tags: - Tools summary: Images to Video description: images के एक सेट को एक स्लाइडशो video में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Two or more image files (up to 60) settings: type: string description: | JSON string with options: - `secondsPerImage` (number 0.5-10, default 2) - Display duration per image in seconds - `resolution` (string, default "720p") - One of: 1080p, 720p, square - `fps` (integer 10-60, default 30) - Output frame rate responses: '200': description: Generated slideshow video content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/video-metadata: post: operationId: videoMetadata tags: - Tools summary: Clean Video Metadata description: एक video से metadata हटाएं और जो मिला उसकी रिपोर्ट करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to process responses: '200': description: Processed video with metadata report content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/video/auto-subtitles: post: operationId: autoSubtitles tags: - Tools summary: Auto Subtitles description: | faster-whisper का उपयोग करके video audio ट्रैक से AI-संचालित subtitle जनरेशन। ऑटो-डिटेक्शन और 10 स्पष्ट भाषाओं का समर्थन करता है। इसके लिए transcription feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to transcribe settings: type: string description: | JSON string with options: - `language` (string, default "auto") - One of: auto, en, de, fr, es, zh, ja, ko, id, th, vi - `format` (string, default "srt") - One of: srt, vtt clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/video/extract-audio: post: operationId: extractAudio tags: - Tools summary: Extract Audio description: एक video से audio ट्रैक निकालें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Video file to extract audio from settings: type: string description: | JSON string with options: - `format` (string, default "mp3") - One of: mp3, wav, m4a, ogg responses: '200': description: Extracted audio file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/convert-audio: post: operationId: convertAudio tags: - Tools summary: Convert Audio description: MP3, WAV, OGG, और अधिक के बीच audio बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `format` (string, default "mp3") - One of: mp3, wav, ogg, flac, m4a - `bitrateKbps` (integer 32-320, default 192) - Output bitrate in kbps responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/trim-audio: post: operationId: trimAudio tags: - Tools summary: Trim Audio description: एक audio फ़ाइल से एक सेक्शन काटें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `startS` (number, min 0, default 0) - Start time in seconds - `endS` (number, required) - End time in seconds (must be after start) responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/volume-adjust: post: operationId: volumeAdjust tags: - Tools summary: वॉल्यूम समायोजन description: एक निश्चित गेन द्वारा audio वॉल्यूम बढ़ाएं या घटाएं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `gainDb` (number -30 to 30, default 3) - Volume adjustment in decibels responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/normalize-audio: post: operationId: normalizeAudio tags: - Tools summary: Normalize Audio description: प्रसारण मानक स्तरों (EBU R128, -16 LUFS) पर लाउडनेस को समान करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/fade-audio: post: operationId: fadeAudio tags: - Tools summary: Fade Audio description: audio में fade-in और fade-out प्रभाव जोड़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `fadeInS` (number 0-30, default 1) - Fade-in duration in seconds - `fadeOutS` (number 0-30, default 1) - Fade-out duration in seconds responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/reverse-audio: post: operationId: reverseAudio tags: - Tools summary: Reverse Audio description: audio को पीछे की ओर चलाएं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/audio-speed: post: operationId: audioSpeed tags: - Tools summary: Audio Speed description: audio प्लेबैक की गति बढ़ाएं या घटाएं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `factor` (number 0.25-4, default 1.5) - Speed multiplier (0.25 = quarter speed, 4 = quadruple speed) responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/pitch-shift: post: operationId: pitchShift tags: - Tools summary: Pitch Shift description: गति बदले बिना सेमीटोन द्वारा पिच बढ़ाएं या घटाएं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `semitones` (integer -12 to 12, default 3) - Semitones to shift (must be nonzero) responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/audio-channels: post: operationId: audioChannels tags: - Tools summary: Audio Channels description: मोनो, स्टीरियो के बीच बदलें, या बाएं और दाएं चैनल स्वैप करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `mode` (string, required) - One of: stereo-to-mono, mono-to-stereo, swap responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/silence-removal: post: operationId: removeSilence tags: - Tools summary: Silence Removal description: audio से मौन सेक्शन हटाएं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `thresholdDb` (number -80 to -20, default -50) - Silence threshold in dB - `minSilenceS` (number 0.1-5, default 0.5) - Minimum silence duration in seconds to remove responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/noise-reduction: post: operationId: reduceNoise tags: - Tools summary: Noise Reduction description: FFT-आधारित denoising के साथ बैकग्राउंड शोर कम करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `strength` (string, default "medium") - One of: light, medium, strong responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/merge-audio: post: operationId: mergeAudio tags: - Tools summary: Merge Audio description: कई audio फ़ाइलों को एक क्रमिक ट्रैक में संयोजित करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Two or more audio files to merge (max 10) settings: type: string description: | JSON string with options: - `format` (string, default "mp3") - One of: mp3, wav, flac, m4a responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/split-audio: post: operationId: splitAudio tags: - Tools summary: Split Audio description: | audio को समय, समान भागों, या मौन डिटेक्शन के अनुसार विभाजित करें। सेगमेंट के एक ZIP archive की ओर इशारा करने वाले downloadUrl के साथ एक ToolResponse लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to split settings: type: string description: | JSON string with options: - `mode` (string, default "time") - One of: time, parts, silence - `segmentS` (number 1-3600, default 60) - Segment length in seconds (mode=time) - `parts` (integer 2-20, default 2) - Number of equal parts (mode=parts) - `thresholdDb` (number -80 to -20, default -40) - Silence threshold in dB (mode=silence) - `minSilenceS` (number 0.1-10, default 0.3) - Minimum silence gap in seconds (mode=silence) responses: '200': description: Processed audio (downloadUrl points to a ZIP archive) content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/ringtone-maker: post: operationId: ringtoneMaker tags: - Tools summary: Ringtone Maker description: किसी भी audio फ़ाइल से एक रिंगटोन क्लिप (.m4r) बनाएं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `startS` (number, min 0, default 0) - Start time in seconds - `durationS` (number 1-30, default 30) - Clip duration in seconds responses: '200': description: Processed audio content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/waveform-image: post: operationId: waveformImage tags: - Tools summary: Waveform Image description: एक audio फ़ाइल से एक वेवफ़ॉर्म विज़ुअलाइज़ेशन को PNG image के रूप में जनरेट करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `width` (integer 256-3840, default 1024) - Image width in pixels - `height` (integer 64-1080, default 256) - Image height in pixels - `color` (string, default "#4f46e5") - Waveform hex color (e.g. "#4f46e5") responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/audio-metadata: post: operationId: audioMetadata tags: - Tools summary: Audio Metadata description: | audio टैग (ID3) देखें, संपादित करें, या हटाएं। response में मानक ToolResponse fields के साथ container, durationS, bitrateKbps, और tags के साथ एक `metadata` object शामिल होता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to process settings: type: string description: | JSON string with options: - `strip` (boolean, default false) - Remove all existing metadata - `title` (string, optional, max 500) - Set the title tag - `artist` (string, optional, max 500) - Set the artist tag - `album` (string, optional, max 500) - Set the album tag responses: '200': description: Processed audio with metadata content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/audio/transcribe-audio: post: operationId: transcribeAudio tags: - Tools summary: Transcribe Audio description: | faster-whisper का उपयोग करके AI-संचालित स्पीच-टू-टेक्स्ट ट्रांसक्रिप्शन। सादा टेक्स्ट, SRT, या VTT subtitle formats आउटपुट करता है। इसके लिए transcription feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Audio file to transcribe settings: type: string description: | JSON string with options: - `language` (string, default "auto") - One of: auto, en, de, fr, es, zh, ja, ko, id, th, vi - `outputFormat` (string, default "txt") - One of: txt, srt, vtt clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/pdf/merge-pdf: post: operationId: mergePdf tags: - Tools summary: Merge PDFs description: कई PDFs को एक में संयोजित करें। कम से कम दो फ़ाइलें आवश्यक हैं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Two or more PDF files to merge (max 20) responses: '200': description: Merged PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/split-pdf: post: operationId: splitPdf tags: - Tools summary: Split PDF description: | पृष्ठ निकालें या भागों में विभाजित करें। "range" मोड में चयनित पृष्ठों के साथ एक एकल PDF लौटाता है। "every" मोड में N पृष्ठों के हिस्सों में विभाजित करता है और भागों वाला एक ZIP archive लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to split settings: type: string description: | JSON string with options: - `mode` (string, default "range") - One of: range, every - `range` (string, optional) - Page range in qpdf syntax, e.g. "1-5,8,10-z" (required when mode is "range") - `everyN` (integer 1-500, optional) - Split into chunks of N pages (required when mode is "every") responses: '200': description: Split PDF or ZIP archive of parts content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/compress-pdf: post: operationId: compressPdf tags: - Tools summary: Compress PDF description: | एम्बेडेड images को डाउनसैंपल करके PDF फ़ाइल आकार सिकोड़ें। "quality" मोड में एक 1-100 स्लाइडर image DPI नियंत्रित करता है। "targetSize" मोड में एक binary search सबसे उच्च DPI ढूँढता है जो लक्ष्य में फ़िट हो। यदि संपीड़न फ़ाइल को बड़ा कर देगा, तो मूल bytes अपरिवर्तित लौटाए जाते हैं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to compress settings: type: string description: | JSON string with options: - `mode` (string, default "quality") - One of: quality, targetSize - `quality` (integer 1-100, optional) - Compression quality (higher = less compression). Used in quality mode - `targetSizeKb` (number, optional) - Target file size in kilobytes. Used in targetSize mode responses: '200': description: Compressed PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/rotate-pdf: post: operationId: rotatePdf tags: - Tools summary: Rotate PDF description: एक PDF में पृष्ठों को 90, 180, या 270 डिग्री घुमाएं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to process settings: type: string description: | JSON string with options: - `angle` (integer, default 90) - One of: 90, 180, 270 - `range` (string, default "1-z") - Page range in qpdf syntax, e.g. "1-5,8" ("1-z" = all pages) responses: '200': description: Rotated PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/extract-pages: post: operationId: extractPages tags: - Tools summary: पृष्ठ निकालें description: चयनित पृष्ठों को एक नई PDF में खींचें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to extract from settings: type: string description: | JSON string with options: - `range` (string, required) - Page range in qpdf syntax, e.g. "1-5,8,10-z" responses: '200': description: Extracted pages as a new PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/remove-pages: post: operationId: removePages tags: - Tools summary: पृष्ठ हटाएं description: एक PDF से विशिष्ट पृष्ठ हटाएं। हर पृष्ठ नहीं हटा सकते। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to process settings: type: string description: | JSON string with options: - `pages` (string, required) - Page range to remove in qpdf syntax, e.g. "3,5-7" responses: '200': description: PDF with pages removed content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/organize-pdf: post: operationId: organizePdf tags: - Tools summary: Organize PDF description: 'एक स्पष्ट पृष्ठ क्रम के साथ पृष्ठों को पुन: क्रमबद्ध करें।' security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to reorganize settings: type: string description: | JSON string with options: - `order` (string, required) - Desired page order in qpdf syntax, e.g. "3,1,2,5-z" responses: '200': description: Reorganized PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/protect-pdf: post: operationId: protectPdf tags: - Tools summary: Protect PDF description: AES-256 एन्क्रिप्शन के साथ password सुरक्षा जोड़ें। Passwords audit logs से हटा दिए जाते हैं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to protect settings: type: string description: | JSON string with options: - `userPassword` (string 1-256 chars, required) - Password required to open the PDF - `ownerPassword` (string 1-256 chars, optional) - Owner password for permissions; defaults to userPassword if omitted responses: '200': description: Encrypted PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/unlock-pdf: post: operationId: unlockPdf tags: - Tools summary: Unlock PDF description: एक PDF से password सुरक्षा हटाएं। सही password प्रदान किया जाना चाहिए। Passwords audit logs से हटा दिए जाते हैं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Password-protected PDF file settings: type: string description: | JSON string with options: - `password` (string 1-256 chars, required) - Password to decrypt the PDF responses: '200': description: Decrypted PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/repair-pdf: post: operationId: repairPdf tags: - Tools summary: Repair PDF description: एक क्षतिग्रस्त या दूषित PDF की मरम्मत का प्रयास करें। विकृत फ़ाइलों की अनुमति देने के लिए input पर संरचनात्मक validation छोड़ दिया जाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Damaged PDF file to repair responses: '200': description: Repaired PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/linearize-pdf: post: operationId: linearizePdf tags: - Tools summary: Web-optimize PDF description: तेज़ वेब देखने के लिए एक PDF को linearize करें (प्रोग्रेसिव डाउनलोड)। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to linearize responses: '200': description: Linearized PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/grayscale-pdf: post: operationId: grayscalePdf tags: - Tools summary: Grayscale PDF description: एक PDF में सभी रंगों को ग्रेस्केल में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to convert responses: '200': description: Grayscale PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/pdfa-convert: post: operationId: pdfaConvert tags: - Tools summary: PDF/A कन्वर्टर description: दीर्घकालिक संरक्षण के लिए एक PDF को archival PDF/A-2 format में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to convert responses: '200': description: PDF/A-2 compliant file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/crop-pdf: post: operationId: cropPdf tags: - Tools summary: Crop PDF description: एक समान मार्जिन के साथ सभी पृष्ठ क्रॉप करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to crop settings: type: string description: | JSON string with options: - `margin` (number 0-2000, default 20) - Uniform crop margin in points responses: '200': description: Cropped PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/nup-pdf: post: operationId: nupPdf tags: - Tools summary: प्रति शीट पेज (N-up) description: प्रति शीट कई पृष्ठ व्यवस्थित करें (उदा. 2-up, 4-up)। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to process settings: type: string description: | JSON string with options: - `perSheet` (integer, default 2) - One of: 2, 3, 4, 8, 9, 12, 16 responses: '200': description: N-up PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/booklet-pdf: post: operationId: bookletPdf tags: - Tools summary: Booklet PDF description: पृष्ठों को एक बुकलेट में मोड़ने के लिए व्यवस्थित करें (डुप्लेक्स प्रिंटिंग के लिए impose करें)। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to process settings: type: string description: | JSON string with options: - `perSheet` (integer, default 2) - One of: 2, 4, 6, 8 responses: '200': description: Booklet-imposed PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/watermark-pdf: post: operationId: watermarkPdf tags: - Tools summary: Watermark PDF description: एक PDF के हर पृष्ठ पर एक टेक्स्ट वॉटरमार्क जोड़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to watermark settings: type: string description: | JSON string with options: - `text` (string 1-200 chars, required) - Watermark text - `position` (string, default "c") - One of: tl, tc, tr, l, c, r, bl, bc, br - `fontSize` (integer 6-72, default 48) - Font size in points - `opacity` (number 0.05-1, default 0.3) - Watermark opacity - `rotation` (number -180 to 180, default 45) - Rotation angle in degrees responses: '200': description: Watermarked PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/pdf-page-numbers: post: operationId: pdfPageNumbers tags: - Tools summary: PDF पृष्ठ संख्या description: एक PDF के हर पृष्ठ पर पृष्ठ संख्याएं ("Page N of M") जोड़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to process settings: type: string description: | JSON string with options: - `position` (string, default "bc") - One of: bl, bc, br, tl, tc, tr - `fontSize` (integer 6-24, default 10) - Font size in points responses: '200': description: PDF with page numbers content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/convert-document: post: operationId: convertDocument tags: - Tools summary: दस्तावेज़ बदलें description: Word, OpenDocument, RTF, और सादा टेक्स्ट formats के बीच बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Document file to convert (.docx, .doc, .odt, .rtf, .txt) settings: type: string description: | JSON string with options: - `format` (string, required) - One of: docx, odt, rtf, txt clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/convert-presentation: post: operationId: convertPresentation tags: - Tools summary: प्रस्तुति बदलें description: PowerPoint और OpenDocument प्रस्तुति formats के बीच बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Presentation file to convert (.pptx, .ppt, .odp) settings: type: string description: | JSON string with options: - `format` (string, required) - One of: pptx, odp clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/convert-spreadsheet: post: operationId: convertSpreadsheet tags: - Tools summary: स्प्रेडशीट बदलें description: Excel, OpenDocument, और CSV formats के बीच बदलें। मल्टी-शीट workbooks पहली शीट को CSV में निर्यात करते हैं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Spreadsheet file to convert (.xlsx, .xls, .ods, .csv) settings: type: string description: | JSON string with options: - `format` (string, required) - One of: xlsx, ods, csv clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/excel-to-pdf: post: operationId: excelToPdf tags: - Tools summary: Excel to PDF description: स्प्रेडशीट को PDF में बदलें। चौड़ी शीट कई पृष्ठों में पेजिनेट हो सकती हैं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Spreadsheet file to convert (.xlsx, .xls, .ods, .csv) clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/word-to-pdf: post: operationId: wordToPdf tags: - Tools summary: Word to PDF description: Word दस्तावेज़ों को PDF में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Word document to convert (.docx, .doc, .odt, .rtf, .txt) clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/powerpoint-to-pdf: post: operationId: powerpointToPdf tags: - Tools summary: PowerPoint to PDF description: प्रस्तुतियों को PDF में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Presentation file to convert (.pptx, .ppt, .odp) clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/html-to-pdf: post: operationId: htmlToPdf tags: - Tools summary: HTML to PDF description: एक HTML फ़ाइल को PDF में बदलें। गोपनीयता के लिए रिमोट संसाधन अक्षम हैं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: HTML file to convert (.html, .htm) clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/markdown-to-docx: post: operationId: markdownToDocx tags: - Tools summary: Markdown to Word description: एक Markdown फ़ाइल को एक Word दस्तावेज़ (DOCX) में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Markdown file to convert (.md, .markdown) responses: '200': description: Processed document content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/markdown-to-html: post: operationId: markdownToHtml tags: - Tools summary: Markdown to HTML description: एक Markdown फ़ाइल को एक स्टैंडअलोन HTML पृष्ठ में बदलें। स्रोत में रिमोट images आउटपुट में यथावत रहती हैं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Markdown file to convert (.md, .markdown) responses: '200': description: Processed document content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/markdown-to-pdf: post: operationId: markdownToPdf tags: - Tools summary: Markdown to PDF description: एक Markdown फ़ाइल को एक स्टाइल किए गए PDF में बदलें। गोपनीयता के लिए रिमोट संसाधन अक्षम हैं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Markdown file to convert (.md, .markdown) clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/epub-convert: post: operationId: epubConvert tags: - Tools summary: EPUB से कन्वर्ट description: एक EPUB को PDF, DOCX, HTML, या Markdown में बदलें। पुस्तक के भीतर रिमोट संसाधन प्राप्त नहीं किए जाते। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: EPUB file to convert (.epub) settings: type: string description: | JSON string with options: - `format` (string, required) - One of: pdf, docx, html, md clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/to-epub: post: operationId: toEpub tags: - Tools summary: Convert to EPUB description: Word, Markdown, HTML, या सादा टेक्स्ट फ़ाइलों को EPUB में बदलें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Document file to convert (.docx, .md, .html, .txt) clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/flatten-pdf: post: operationId: flattenPdf tags: - Tools summary: Flatten PDF description: forms और annotations को पृष्ठ सामग्री में बेक करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to process (.pdf) responses: '200': description: Processed PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/redact-pdf: post: operationId: redactPdf tags: - Tools summary: Redact PDF description: टेक्स्ट घटनाओं को स्थायी रूप से हटाएं (सत्यापित सच्चा redaction)। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to process (.pdf) settings: type: string description: | JSON string with options: - `terms` (string[], required) - Text strings to redact (1-50 terms, each up to 200 characters) - `caseSensitive` (boolean, default false) - Whether matching is case-sensitive responses: '200': description: Processed PDF content: application/json: schema: allOf: - $ref: '#/components/schemas/ToolResponse' - type: object properties: found: type: integer description: Number of redacted occurrences found '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/pdf-to-text: post: operationId: pdfToText tags: - Tools summary: PDF to text description: एक PDF से सादा टेक्स्ट निकालें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to process (.pdf) responses: '200': description: Extracted text file content: application/json: schema: allOf: - $ref: '#/components/schemas/ToolResponse' - type: object properties: chars: type: integer description: Number of characters extracted '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/pdf-to-word: post: operationId: pdfToWord tags: - Tools summary: PDF to Word description: टेक्स्ट-आधारित PDFs के लिए सर्वश्रेष्ठ; स्कैन किए गए पृष्ठों को OCR की आवश्यकता होती है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to convert (.pdf) clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/pdf-metadata: post: operationId: pdfMetadata tags: - Tools summary: PDF metadata description: PDF दस्तावेज़ metadata पढ़ें और लिखें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF file to process (.pdf) settings: type: string description: | JSON string with options: - `title` (string, optional, max 500) - Document title - `author` (string, optional, max 500) - Document author - `subject` (string, optional, max 500) - Document subject - `keywords` (string, optional, max 500) - Document keywords responses: '200': description: Processed PDF with updated metadata content: application/json: schema: allOf: - $ref: '#/components/schemas/ToolResponse' - type: object properties: metadata: type: object description: The resulting PDF metadata fields '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/pdf/ocr-pdf: post: operationId: ocrPdf tags: - Tools summary: PDF OCR description: |- स्कैन किए गए PDF दस्तावेज़ों से पेज दर पेज टेक्स्ट निकालें। Fast का उपयोग करता है अंतर्निहित Tesseract रनटाइम। Balanced और Best हस्ताक्षरित वैकल्पिक का उपयोग करें पिन किए गए PP-OCR ONNX मॉडल के साथ RapidOCR रनटाइम। स्पष्ट स्तरीय अनुरोध कभी भी चुपचाप डाउनग्रेड न करें। एक अनुरोध अधिकतम 50 पृष्ठों का चयन कर सकता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary maxLength: 536870912 description: PDF file to process (.pdf) settings: type: string description: | JSON string with options: - `quality` (string, optional) - One of: fast, balanced, best. When both quality and engine are omitted, uses the best available tier in this order: best, balanced, fast. Korean never selects fast; it uses best, then balanced, or returns an accurate-runtime install/compatibility error - `language` (string, default "auto") - One of: auto, en, de, fr, es, zh, ja, ko. Korean is unsupported by fast and the legacy tesseract alias - `pages` (string, default "all") - Page selection, e.g. "all", "1-3", "1,3,5" - `enhance` (boolean, optional) - Improve local contrast. Fast applies it directly; accurate tiers retain the variant only when calibrated scoring improves the result. Defaults to true for Best and false for Fast/Balanced - `engine` (string, deprecated) - Compatibility alias: tesseract maps to fast; the legacy paddleocr value maps to balanced but does not load PaddlePaddle clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object required: - jobId - async properties: jobId: type: string progressJobId: type: string artifactJobId: type: string async: type: boolean const: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '413': description: Encoded PDF exceeds the hard 512 MiB safety limit content: application/json: schema: $ref: '#/components/schemas/Error' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Requested Balanced/Best runtime is not installed or is incompatible content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' '503': description: PDF OCR could not be queued content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/files/chart-maker: post: operationId: chartMaker tags: - Tools summary: Chart Maker description: CSV या JSON डेटा से बार, लाइन, या पाई चार्ट बनाएं। एक PNG image लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: CSV or JSON data file settings: type: string description: | JSON string with options: - `kind` (string, default "bar") - One of: bar, line, pie - `title` (string, optional) - Chart title (max 120 characters) - `width` (integer 320-2048, default 960) - Chart width in pixels - `height` (integer 240-1536, default 540) - Chart height in pixels responses: '200': description: Generated chart image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/csv-excel: post: operationId: csvExcel tags: - Tools summary: CSV to Excel description: CSV और Excel (XLSX) के बीच, दोनों दिशाओं में बदलें। XLSX पाने के लिए एक CSV या TSV फ़ाइल upload करें, या CSV पाने के लिए एक XLSX फ़ाइल upload करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: CSV, TSV, or XLSX file to convert settings: type: string description: | JSON string with options: - `sheet` (integer, min 1, default 1) - Worksheet number to export when converting from XLSX responses: '200': description: Converted file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/csv-json: post: operationId: csvJson tags: - Tools summary: CSV to JSON description: CSV और JSON के बीच, दोनों दिशाओं में बदलें। JSON पाने के लिए एक CSV या TSV फ़ाइल upload करें, या CSV पाने के लिए objects का एक JSON array upload करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: CSV, TSV, or JSON file to convert settings: type: string description: | JSON string with options: - `pretty` (boolean, default true) - Pretty-print JSON output with indentation responses: '200': description: Converted file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/json-xml: post: operationId: jsonXml tags: - Tools summary: JSON to XML description: JSON और XML के बीच, दोनों दिशाओं में बदलें। XML पाने के लिए एक JSON फ़ाइल upload करें, या JSON पाने के लिए एक XML फ़ाइल upload करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: JSON or XML file to convert settings: type: string description: | JSON string with options: - `pretty` (boolean, default true) - Pretty-print output with indentation responses: '200': description: Converted file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/split-csv: post: operationId: splitCsv tags: - Tools summary: Split CSV description: एक CSV फ़ाइल को row संख्या के अनुसार छोटी फ़ाइलों में विभाजित करें। भागों वाला एक ZIP archive लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: CSV or TSV file to split settings: type: string description: | JSON string with options: - `rowsPerFile` (integer 1-1000000, default 1000) - Number of data rows per output file - `keepHeader` (boolean, default true) - Repeat the header row in each output file responses: '200': description: ZIP archive containing split CSV parts content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/merge-csvs: post: operationId: mergeCsvs tags: - Tools summary: Merge CSVs description: मेल खाते columns वाली कई CSV या TSV फ़ाइलों को एक मर्ज की गई फ़ाइल में संयोजित करें। सभी फ़ाइलों में समान column हेडर होने चाहिए। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Two or more CSV or TSV files to merge (2-20 files) responses: '200': description: Merged CSV file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/yaml-json: post: operationId: yamlJson tags: - Tools summary: YAML / JSON कन्वर्ट description: YAML और JSON के बीच, दोनों दिशाओं में बदलें। JSON पाने के लिए एक YAML फ़ाइल upload करें, या YAML पाने के लिए एक JSON फ़ाइल upload करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: YAML (.yaml, .yml) or JSON file to convert responses: '200': description: Converted file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/xml-to-csv: post: operationId: xmlToCsv tags: - Tools summary: XML to CSV description: एक XML फ़ाइल से दोहराए जाने वाले elements को एक CSV तालिका में निकालें। XML ट्री में objects के पहले array को स्वचालित रूप से ढूँढता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: XML file to convert responses: '200': description: Extracted CSV file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/create-zip: post: operationId: createZip tags: - Tools summary: Create ZIP description: कई फ़ाइलों को एक ही ZIP archive में बंडल करें। डुप्लिकेट filenames स्वचालित रूप से deduplicate किए जाते हैं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Two or more files to bundle (2-50 files, any type) responses: '200': description: ZIP archive content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/files/extract-zip: post: operationId: extractZip tags: - Tools summary: Extract ZIP description: बम सुरक्षा के साथ एक ZIP archive से फ़ाइलें सुरक्षित रूप से निकालें। एकल-फ़ाइल archives फ़ाइल सीधे लौटाते हैं; मल्टी-फ़ाइल archives एक फ़्लैट ZIP लौटाते हैं। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: ZIP archive to extract responses: '200': description: Extracted file or repackaged ZIP archive content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/background-replace: post: operationId: backgroundReplace tags: - Tools summary: बैकग्राउंड बदलें description: | AI-संचालित बैकग्राउंड प्रतिस्थापन। विषय का बैकग्राउंड हटाता है और इसे एक ठोस रंग या ग्रेडिएंट पर कंपोज़िट करता है। इसके लिए background-removal feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `backgroundType` (string, default "color") - One of: color, gradient - `color` (string, default "#ffffff") - Background hex color (when backgroundType is color) - `gradientColor1` (string, optional) - First gradient hex color - `gradientColor2` (string, optional) - Second gradient hex color - `gradientAngle` (integer 0-360, default 180) - Gradient angle in degrees - `feather` (integer 0-20, default 0) - Edge feathering radius - `format` (string, default "png") - One of: png, webp clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/blur-background: post: operationId: blurBackground tags: - Tools summary: बैकग्राउंड धुंधला करें description: | AI-संचालित बैकग्राउंड धुंधलापन। बैकग्राउंड हटाता है, मूल को धुंधला करता है, और तीक्ष्ण विषय को शीर्ष पर कंपोज़िट करता है। इसके लिए background-removal feature bundle इंस्टॉल होना आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `intensity` (integer 1-100, default 50) - Blur intensity - `feather` (integer 0-20, default 0) - Edge feathering radius - `format` (string, default "png") - One of: png, webp clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/image/barcode-generate: post: operationId: generateBarcode tags: - Tools summary: बारकोड जनरेटर description: टेक्स्ट से एक बारकोड image जनरेट करें। यह tool एक JSON body स्वीकार करता है, multipart नहीं। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - text properties: text: type: string minLength: 1 maxLength: 256 description: Text to encode in the barcode type: type: string enum: - code128 - ean13 - upca - code39 - itf14 - datamatrix default: code128 description: Barcode format scale: type: integer minimum: 1 maximum: 8 default: 3 description: Image scale factor includeText: type: boolean default: true description: Whether to render the text below the barcode responses: '200': description: Generated barcode content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/circle-crop: post: operationId: circleCrop tags: - Tools summary: सर्कल क्रॉप description: एक image को पारदर्शी कोनों, वैकल्पिक बॉर्डर, और समायोज्य ज़ूम/ऑफ़सेट के साथ एक केंद्रित सर्कल में क्रॉप करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `zoom` (number 1-5, default 1) - Zoom factor (>=1 crops tighter) - `offsetX` (number 0-1, default 0.5) - Horizontal center position - `offsetY` (number 0-1, default 0.5) - Vertical center position - `borderWidth` (integer 0-200, default 0) - Border width in pixels - `borderColor` (string, default "#ffffff") - Border hex color - `background` (string, default "transparent") - "transparent" or a hex color for corners - `outputSize` (integer 16-4096, optional) - Final square dimension in pixels responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/rounded-crop: post: operationId: roundedCrop tags: - Tools summary: Rounded crop description: Crop an image to a rounded square or squircle with transparent corners, optional border, and adjustable zoom/offset. security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `shape` (string, default "rounded-square") - "rounded-square" or "squircle" - `cornerRadius` (number 0-50, default 25) - Corner radius as a percent of the shorter side (rounded-square only) - `zoom` (number 1-5, default 1) - Zoom factor (>=1 crops tighter) - `offsetX` (number 0-1, default 0.5) - Horizontal center position - `offsetY` (number 0-1, default 0.5) - Vertical center position - `borderWidth` (integer 0-200, default 0) - Border width in pixels - `borderColor` (string, default "#ffffff") - Border hex color - `background` (string, default "transparent") - "transparent" or a hex color for corners - `outputSize` (integer 16-4096, optional) - Final square dimension in pixels responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/duotone: post: operationId: duotone tags: - Tools summary: Duotone description: कस्टम शैडो और हाइलाइट रंगों के साथ एक दो-रंग duotone प्रभाव लागू करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `shadow` (string, default "#1e3a8a") - Shadow hex color - `highlight` (string, default "#fbbf24") - Highlight hex color - `intensity` (integer 0-100, default 100) - Effect intensity (0 = original, 100 = full duotone) responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/image-pad: post: operationId: imagePad tags: - Tools summary: image पैड description: एक image को एक ठोस रंग, पारदर्शी, या धुंधले बैकग्राउंड के साथ एक लक्ष्य आस्पेक्ट अनुपात में पैड करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `target` (string, default "1:1") - One of: 16:9, 9:16, 1:1, 4:3, 3:4, custom - `ratioW` (integer 1-100, default 1) - Custom ratio width (when target is custom) - `ratioH` (integer 1-100, default 1) - Custom ratio height (when target is custom) - `background` (string, default "color") - One of: color, transparent, blur - `color` (string, default "#ffffff") - Background hex color (when background is color) - `padding` (integer 0-50, default 0) - Extra padding as percentage of canvas responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/pixelate: post: operationId: pixelate tags: - Tools summary: Pixelate description: पूरी image या किसी विशिष्ट आयताकार क्षेत्र पर एक पिक्सेलेशन प्रभाव लागू करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `blockSize` (integer 2-128, default 12) - Pixel block size - `region` (object, optional) - Restrict pixelation to a rectangle: - `left` (integer >= 0) - Left offset in pixels - `top` (integer >= 0) - Top offset in pixels - `width` (integer >= 1) - Region width in pixels - `height` (integer >= 1) - Region height in pixels responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/vignette: post: operationId: vignette tags: - Tools summary: Vignette description: समायोज्य ताकत, रंग, त्रिज्या, कोमलता, गोलाई, और केंद्र स्थिति के साथ एक vignette प्रभाव जोड़ें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `strength` (number 0.1-1, default 0.5) - Vignette opacity - `color` (string, default "#000000") - Vignette hex color - `radius` (integer 0-100, default 70) - Outer radius as percentage of half-diagonal - `softness` (integer 0-100, default 50) - Feather softness (higher = more gradual) - `roundness` (integer 0-100, default 100) - 100 = circle, 0 = ellipse matching image aspect ratio - `centerX` (integer 0-100, default 50) - Horizontal center position as percentage - `centerY` (integer 0-100, default 50) - Vertical center position as percentage responses: '200': description: Processed image content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/gif-webp: post: operationId: gifWebp tags: - Tools summary: GIF/WebP कन्वर्टर description: एनिमेटेड GIF को WebP में और इसके विपरीत बदलें, सभी फ़्रेम संरक्षित करते हुए। केवल .gif और .webp inputs स्वीकार करता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: GIF or WebP file to convert settings: type: string description: | JSON string with options: - `quality` (integer 1-100, default 80) - Output quality for WebP encoding - `lossless` (boolean, default false) - Use lossless WebP compression - `resizePercent` (integer 10-100, default 100) - Scale the output by percentage responses: '200': description: Converted animation content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/histogram: post: operationId: histogram tags: - Tools summary: Histogram description: | एक image से एक RGB histogram चार्ट जनरेट करें। response JSON में एक PNG histogram image के साथ per-channel आंकड़े और raw 256-bin histogram डेटा लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to analyze settings: type: string description: | JSON string with options: - `scale` (string, default "linear") - One of: linear, log responses: '200': description: Histogram image and channel statistics content: application/json: schema: allOf: - $ref: '#/components/schemas/ToolResponse' - type: object properties: bins: type: object description: Raw 256-bin histogram arrays per channel properties: r: type: array items: type: integer g: type: array items: type: integer b: type: array items: type: integer lum: type: array items: type: integer stats: type: object description: Per-channel statistics properties: r: type: object properties: mean: type: integer median: type: integer stdev: type: number g: type: object properties: mean: type: integer median: type: integer stdev: type: number b: type: object properties: mean: type: integer median: type: integer stdev: type: number lum: type: object properties: mean: type: integer median: type: integer stdev: type: number mean: type: object description: Backward-compatible mean values properties: r: type: integer g: type: integer b: type: integer max: type: object description: Backward-compatible max bin values properties: r: type: integer g: type: integer b: type: integer '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/lqip-placeholder: post: operationId: lqipPlaceholder tags: - Tools summary: LQIP प्लेसहोल्डर description: | एक छोटा निम्न-गुणवत्ता image प्लेसहोल्डर जनरेट करें। response JSON में एक छोटी image फ़ाइल के साथ एक base64 data URI, उपयोग-के-लिए-तैयार HTML img टैग, और CSS बैकग्राउंड स्निपेट लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Image file to process settings: type: string description: | JSON string with options: - `width` (integer 4-64, default 16) - Target width in pixels - `blur` (number 0-20, default 2) - Blur radius (for blur strategy) - `strategy` (string, default "blur") - One of: blur, pixelate, solid - `format` (string, default "webp") - One of: webp, png, jpeg - `quality` (integer 1-100, default 50) - Output quality responses: '200': description: LQIP placeholder image and data URI content: application/json: schema: allOf: - $ref: '#/components/schemas/ToolResponse' - type: object properties: dataUri: type: string description: Complete data URI (data:mime;base64,...) width: type: integer description: Placeholder width in pixels height: type: integer description: Placeholder height in pixels bytes: type: integer description: Placeholder file size in bytes strategy: type: string description: Strategy used (blur, pixelate, or solid) html: type: string description: Ready-to-use HTML img tag css: type: string description: Ready-to-use CSS background-image snippet '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/sprite-sheet: post: operationId: spriteSheet tags: - Tools summary: Sprite sheet description: | कई images को एक ही sprite sheet ग्रिड में संयोजित करें। 2 से 64 images स्वीकार करता है। प्रत्येक image को पहली image के आयामों से मेल खाने के लिए आकार बदला जाता है। sprite sheet image के साथ frame निर्देशांक metadata लौटाता है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: Two or more image files to combine (max 64) settings: type: string description: | JSON string with options: - `columns` (integer 1-16, default 4) - Number of columns in the grid - `padding` (integer 0-64, default 0) - Padding between cells in pixels - `background` (string, default "#ffffff") - Background hex color - `format` (string, default "png") - One of: png, webp, jpeg - `quality` (integer 1-100, default 90) - Output quality responses: '200': description: Sprite sheet image with frame metadata content: application/json: schema: allOf: - $ref: '#/components/schemas/ToolResponse' - type: object properties: frames: type: array description: Per-frame coordinates in the sprite sheet items: type: object properties: index: type: integer left: type: integer top: type: integer width: type: integer height: type: integer cols: type: integer description: Number of columns rows: type: integer description: Number of rows cellWidth: type: integer description: Cell width in pixels cellHeight: type: integer description: Cell height in pixels canvasWidth: type: integer description: Total canvas width in pixels canvasHeight: type: integer description: Total canvas height in pixels '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' /api/v1/tools/image/passport-photo: post: operationId: passportPhotoTool tags: - Tools summary: Passport Photo description: | दो-चरण पासपोर्ट फ़ोटो फ़्लो के लिए मार्गदर्शन endpoint। एक image का विश्लेषण करने के लिए `/api/v1/tools/image/passport-photo/analyze` का उपयोग करें, फिर अंतिम पासपोर्ट फ़ोटो बनाने के लिए `/api/v1/tools/image/passport-photo/generate` का उपयोग करें। जब आवश्यक feature bundles इंस्टॉल हों तो यह बेस route एक 400 मार्गदर्शन त्रुटि लौटाता है, या जब वे गायब हों तो 501। security: - bearerAuth: [] responses: '400': description: Use the analyze or generate endpoint content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '501': description: Feature not installed content: application/json: schema: $ref: '#/components/schemas/FeatureNotInstalledError' /api/v1/tools/pdf/sign-pdf: post: operationId: signPdfTool tags: - Tools summary: Sign PDF description: सामान्यीकृत पृष्ठ प्लेसमेंट का उपयोग करके एक या अधिक signature PNG images को एक PDF पर स्टैंप करें। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file - placements - sig0 properties: file: type: string format: binary description: PDF file to sign sig0: type: string format: binary description: First signature image. Additional signatures use sig1, sig2, and so on. placements: type: string description: JSON array of placement objects with sig, page, x, y, w, and h. Coordinates are page fractions with top-left origin. clientJobId: type: string description: Client-provided job ID for SSE progress tracking fileId: type: string description: Optional file library ID to save the signed result as a new version responses: '200': description: Signed PDF content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/jpg-to-png: post: operationId: jpgToPngTool tags: - Tools summary: JPG to PNG description: | JPG को PNG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: JPG to PNG input file (.jpg, .jpeg) settings: type: string description: | Dedicated JPG to PNG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/png-to-jpg: post: operationId: pngToJpgTool tags: - Tools summary: PNG to JPG description: | PNG को JPG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PNG to JPG input file (.png) settings: type: string description: | Dedicated PNG to JPG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/jpg-to-webp: post: operationId: jpgToWebpTool tags: - Tools summary: JPG to WebP description: | JPG को WebP में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: JPG to WebP input file (.jpg, .jpeg) settings: type: string description: | Dedicated JPG to WebP converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/png-to-webp: post: operationId: pngToWebpTool tags: - Tools summary: PNG to WebP description: | PNG को WebP में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PNG to WebP input file (.png) settings: type: string description: | Dedicated PNG to WebP converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/webp-to-jpg: post: operationId: webpToJpgTool tags: - Tools summary: WebP to JPG description: | WebP को JPG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: WebP to JPG input file (.webp) settings: type: string description: | Dedicated WebP to JPG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/webp-to-png: post: operationId: webpToPngTool tags: - Tools summary: WebP to PNG description: | WebP को PNG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: WebP to PNG input file (.webp) settings: type: string description: | Dedicated WebP to PNG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/jpg-to-avif: post: operationId: jpgToAvifTool tags: - Tools summary: JPG to AVIF description: | JPG को AVIF में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: JPG to AVIF input file (.jpg, .jpeg) settings: type: string description: | Dedicated JPG to AVIF converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/png-to-avif: post: operationId: pngToAvifTool tags: - Tools summary: PNG to AVIF description: | PNG को AVIF में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PNG to AVIF input file (.png) settings: type: string description: | Dedicated PNG to AVIF converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/webp-to-avif: post: operationId: webpToAvifTool tags: - Tools summary: WebP to AVIF description: | WebP को AVIF में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: WebP to AVIF input file (.webp) settings: type: string description: | Dedicated WebP to AVIF converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/heic-to-jpg: post: operationId: heicToJpgTool tags: - Tools summary: HEIC to JPG description: | HEIC को JPG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: HEIC to JPG input file (.heic, .heif) settings: type: string description: | Dedicated HEIC to JPG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/heic-to-png: post: operationId: heicToPngTool tags: - Tools summary: HEIC to PNG description: | HEIC को PNG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: HEIC to PNG input file (.heic, .heif) settings: type: string description: | Dedicated HEIC to PNG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/heic-to-avif: post: operationId: heicToAvifTool tags: - Tools summary: HEIC to AVIF description: | HEIC को AVIF में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: HEIC to AVIF input file (.heic, .heif) settings: type: string description: | Dedicated HEIC to AVIF converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/jpg-to-gif: post: operationId: jpgToGifTool tags: - Tools summary: JPG to GIF description: | JPG को GIF में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: JPG to GIF input file (.jpg, .jpeg) settings: type: string description: | Dedicated JPG to GIF converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/png-to-gif: post: operationId: pngToGifTool tags: - Tools summary: PNG to GIF description: | PNG को GIF में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PNG to GIF input file (.png) settings: type: string description: | Dedicated PNG to GIF converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/gif-to-jpg: post: operationId: gifToJpgTool tags: - Tools summary: GIF to JPG description: | GIF को JPG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: GIF to JPG input file (.gif) settings: type: string description: | Dedicated GIF to JPG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/gif-to-png: post: operationId: gifToPngTool tags: - Tools summary: GIF to PNG description: | GIF को PNG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: GIF to PNG input file (.gif) settings: type: string description: | Dedicated GIF to PNG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/webp-to-gif: post: operationId: webpToGifTool tags: - Tools summary: WebP to GIF description: | WebP को GIF में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: WebP to GIF input file (.webp) settings: type: string description: | Dedicated WebP to GIF converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/jpg-to-tiff: post: operationId: jpgToTiffTool tags: - Tools summary: JPG to TIFF description: | JPG को TIFF में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: JPG to TIFF input file (.jpg, .jpeg) settings: type: string description: | Dedicated JPG to TIFF converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/png-to-tiff: post: operationId: pngToTiffTool tags: - Tools summary: PNG to TIFF description: | PNG को TIFF में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PNG to TIFF input file (.png) settings: type: string description: | Dedicated PNG to TIFF converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/tiff-to-jpg: post: operationId: tiffToJpgTool tags: - Tools summary: TIFF to JPG description: | TIFF को JPG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: TIFF to JPG input file (.tiff, .tif) settings: type: string description: | Dedicated TIFF to JPG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/tiff-to-png: post: operationId: tiffToPngTool tags: - Tools summary: TIFF to PNG description: | TIFF को PNG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: TIFF to PNG input file (.tiff, .tif) settings: type: string description: | Dedicated TIFF to PNG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/psd-to-jpg: post: operationId: psdToJpgTool tags: - Tools summary: PSD to JPG description: | PSD को JPG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PSD to JPG input file (.psd) settings: type: string description: | Dedicated PSD to JPG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/psd-to-png: post: operationId: psdToPngTool tags: - Tools summary: PSD to PNG description: | PSD को PNG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PSD to PNG input file (.psd) settings: type: string description: | Dedicated PSD to PNG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/png-to-eps: post: operationId: pngToEpsTool tags: - Tools summary: PNG to EPS description: | PNG को EPS में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PNG to EPS input file (.png) settings: type: string description: | Dedicated PNG to EPS converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/jpg-to-eps: post: operationId: jpgToEpsTool tags: - Tools summary: JPG to EPS description: | JPG को EPS में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: JPG to EPS input file (.jpg, .jpeg) settings: type: string description: | Dedicated JPG to EPS converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/eps-to-png: post: operationId: epsToPngTool tags: - Tools summary: EPS to PNG description: | EPS को PNG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: EPS to PNG input file (.eps) settings: type: string description: | Dedicated EPS to PNG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/eps-to-jpg: post: operationId: epsToJpgTool tags: - Tools summary: EPS to JPG description: | EPS को JPG में बदलें यह `convert` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: EPS to JPG input file (.eps) settings: type: string description: | Dedicated EPS to JPG converter using the convert pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/png-to-svg: post: operationId: pngToSvgTool tags: - Tools summary: PNG to SVG description: | PNG को SVG में बदलें यह `vectorize` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PNG to SVG input file (.png) settings: type: string description: | Dedicated PNG to SVG converter using the vectorize pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/jpg-to-svg: post: operationId: jpgToSvgTool tags: - Tools summary: JPG to SVG description: | JPG को SVG में बदलें यह `vectorize` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: JPG to SVG input file (.jpg, .jpeg) settings: type: string description: | Dedicated JPG to SVG converter using the vectorize pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/tiff-to-svg: post: operationId: tiffToSvgTool tags: - Tools summary: TIFF to SVG description: | TIFF को SVG में बदलें यह `vectorize` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: TIFF to SVG input file (.tiff, .tif) settings: type: string description: | Dedicated TIFF to SVG converter using the vectorize pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/psd-to-svg: post: operationId: psdToSvgTool tags: - Tools summary: PSD to SVG description: | PSD को SVG में बदलें यह `vectorize` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PSD to SVG input file (.psd) settings: type: string description: | Dedicated PSD to SVG converter using the vectorize pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/eps-to-svg: post: operationId: epsToSvgTool tags: - Tools summary: EPS to SVG description: | EPS को SVG में बदलें यह `vectorize` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: EPS to SVG input file (.eps) settings: type: string description: | Dedicated EPS to SVG converter using the vectorize pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/svg-to-png: post: operationId: svgToPngTool tags: - Tools summary: SVG to PNG description: | SVG को PNG में बदलें यह `svg-to-raster` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: SVG to PNG input file (.svg, .svgz) settings: type: string description: | Dedicated SVG to PNG converter using the svg-to-raster pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/svg-to-jpg: post: operationId: svgToJpgTool tags: - Tools summary: SVG to JPG description: | SVG को JPG में बदलें यह `svg-to-raster` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: SVG to JPG input file (.svg, .svgz) settings: type: string description: | Dedicated SVG to JPG converter using the svg-to-raster pipeline. Optional settings: quality (number 1-100). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/jpg-to-pdf: post: operationId: jpgToPdfTool tags: - Tools summary: JPG to PDF description: | JPG को PDF में बदलें यह `image-to-pdf` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: JPG to PDF input files (.jpg, .jpeg) settings: type: string description: | Dedicated JPG to PDF converter using the image-to-pdf pipeline. Optional settings: pageSize (A4, Letter, A3, A5), orientation (portrait or landscape), margin, targetSize, and collate. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/png-to-pdf: post: operationId: pngToPdfTool tags: - Tools summary: PNG to PDF description: | PNG को PDF में बदलें यह `image-to-pdf` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: PNG to PDF input files (.png) settings: type: string description: | Dedicated PNG to PDF converter using the image-to-pdf pipeline. Optional settings: pageSize (A4, Letter, A3, A5), orientation (portrait or landscape), margin, targetSize, and collate. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/heic-to-pdf: post: operationId: heicToPdfTool tags: - Tools summary: HEIC to PDF description: | HEIC को PDF में बदलें यह `image-to-pdf` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: HEIC to PDF input files (.heic, .heif) settings: type: string description: | Dedicated HEIC to PDF converter using the image-to-pdf pipeline. Optional settings: pageSize (A4, Letter, A3, A5), orientation (portrait or landscape), margin, targetSize, and collate. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/tiff-to-pdf: post: operationId: tiffToPdfTool tags: - Tools summary: TIFF to PDF description: | TIFF को PDF में बदलें यह `image-to-pdf` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: TIFF to PDF input files (.tiff, .tif) settings: type: string description: | Dedicated TIFF to PDF converter using the image-to-pdf pipeline. Optional settings: pageSize (A4, Letter, A3, A5), orientation (portrait or landscape), margin, targetSize, and collate. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/webp-to-pdf: post: operationId: webpToPdfTool tags: - Tools summary: WebP to PDF description: | WebP को PDF में बदलें यह `image-to-pdf` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: WebP to PDF input files (.webp) settings: type: string description: | Dedicated WebP to PDF converter using the image-to-pdf pipeline. Optional settings: pageSize (A4, Letter, A3, A5), orientation (portrait or landscape), margin, targetSize, and collate. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/gif-to-pdf: post: operationId: gifToPdfTool tags: - Tools summary: GIF to PDF description: | GIF को PDF में बदलें यह `image-to-pdf` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: GIF to PDF input files (.gif) settings: type: string description: | Dedicated GIF to PDF converter using the image-to-pdf pipeline. Optional settings: pageSize (A4, Letter, A3, A5), orientation (portrait or landscape), margin, targetSize, and collate. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/image/eps-to-pdf: post: operationId: epsToPdfTool tags: - Tools summary: EPS to PDF description: | EPS को PDF में बदलें यह `image-to-pdf` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: array items: type: string format: binary description: EPS to PDF input files (.eps) settings: type: string description: | Dedicated EPS to PDF converter using the image-to-pdf pipeline. Optional settings: pageSize (A4, Letter, A3, A5), orientation (portrait or landscape), margin, targetSize, and collate. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/pdf/pdf-to-jpg: post: operationId: pdfToJpgTool tags: - Tools summary: PDF to JPG description: | PDF को JPG में बदलें यह `pdf-to-image` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF to JPG input file (.pdf) settings: type: string description: | Dedicated PDF to JPG converter using the pdf-to-image pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/pdf/pdf-to-png: post: operationId: pdfToPngTool tags: - Tools summary: PDF to PNG description: | PDF को PNG में बदलें यह `pdf-to-image` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF to PNG input file (.pdf) settings: type: string description: | Dedicated PDF to PNG converter using the pdf-to-image pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/pdf/pdf-to-tiff: post: operationId: pdfToTiffTool tags: - Tools summary: PDF to TIFF description: | PDF को TIFF में बदलें यह `pdf-to-image` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: PDF to TIFF input file (.pdf) settings: type: string description: | Dedicated PDF to TIFF converter using the pdf-to-image pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mov-to-mp4: post: operationId: movToMp4Tool tags: - Tools summary: MOV to MP4 description: | MOV को MP4 में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MOV to MP4 input file (.mov) settings: type: string description: | Dedicated MOV to MP4 converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/webm-to-mp4: post: operationId: webmToMp4Tool tags: - Tools summary: WEBM to MP4 description: | WEBM को MP4 में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: WEBM to MP4 input file (.webm) settings: type: string description: | Dedicated WEBM to MP4 converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mkv-to-mp4: post: operationId: mkvToMp4Tool tags: - Tools summary: MKV to MP4 description: | MKV को MP4 में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MKV to MP4 input file (.mkv) settings: type: string description: | Dedicated MKV to MP4 converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/avi-to-mp4: post: operationId: aviToMp4Tool tags: - Tools summary: AVI to MP4 description: | AVI को MP4 में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: AVI to MP4 input file (.avi) settings: type: string description: | Dedicated AVI to MP4 converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mp4-to-mov: post: operationId: mp4ToMovTool tags: - Tools summary: MP4 to MOV description: | MP4 को MOV में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MP4 to MOV input file (.mp4) settings: type: string description: | Dedicated MP4 to MOV converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mp4-to-webm: post: operationId: mp4ToWebmTool tags: - Tools summary: MP4 to WEBM description: | MP4 को WEBM में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MP4 to WEBM input file (.mp4) settings: type: string description: | Dedicated MP4 to WEBM converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/webm-to-mov: post: operationId: webmToMovTool tags: - Tools summary: WEBM to MOV description: | WEBM को MOV में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: WEBM to MOV input file (.webm) settings: type: string description: | Dedicated WEBM to MOV converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mkv-to-mov: post: operationId: mkvToMovTool tags: - Tools summary: MKV to MOV description: | MKV को MOV में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MKV to MOV input file (.mkv) settings: type: string description: | Dedicated MKV to MOV converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/avi-to-mov: post: operationId: aviToMovTool tags: - Tools summary: AVI to MOV description: | AVI को MOV में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: AVI to MOV input file (.avi) settings: type: string description: | Dedicated AVI to MOV converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mp4-to-avi: post: operationId: mp4ToAviTool tags: - Tools summary: MP4 to AVI description: | MP4 को AVI में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MP4 to AVI input file (.mp4) settings: type: string description: | Dedicated MP4 to AVI converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mov-to-avi: post: operationId: movToAviTool tags: - Tools summary: MOV to AVI description: | MOV को AVI में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MOV to AVI input file (.mov) settings: type: string description: | Dedicated MOV to AVI converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mkv-to-avi: post: operationId: mkvToAviTool tags: - Tools summary: MKV to AVI description: | MKV को AVI में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MKV to AVI input file (.mkv) settings: type: string description: | Dedicated MKV to AVI converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/avi-to-mkv: post: operationId: aviToMkvTool tags: - Tools summary: AVI to MKV description: | AVI को MKV में बदलें यह `convert-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: AVI to MKV input file (.avi) settings: type: string description: | Dedicated AVI to MKV converter using the convert-video pipeline. Optional settings: quality (high, balanced, small). The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mp4-to-gif: post: operationId: mp4ToGifTool tags: - Tools summary: MP4 to GIF description: | MP4 को GIF में बदलें यह `video-to-gif` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MP4 to GIF input file (.mp4) settings: type: string description: | Dedicated MP4 to GIF converter using the video-to-gif pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mov-to-gif: post: operationId: movToGifTool tags: - Tools summary: MOV to GIF description: | MOV को GIF में बदलें यह `video-to-gif` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MOV to GIF input file (.mov) settings: type: string description: | Dedicated MOV to GIF converter using the video-to-gif pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mkv-to-gif: post: operationId: mkvToGifTool tags: - Tools summary: MKV to GIF description: | MKV को GIF में बदलें यह `video-to-gif` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MKV to GIF input file (.mkv) settings: type: string description: | Dedicated MKV to GIF converter using the video-to-gif pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/avi-to-gif: post: operationId: aviToGifTool tags: - Tools summary: AVI to GIF description: | AVI को GIF में बदलें यह `video-to-gif` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: AVI to GIF input file (.avi) settings: type: string description: | Dedicated AVI to GIF converter using the video-to-gif pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/gif-to-mp4: post: operationId: gifToMp4Tool tags: - Tools summary: GIF to MP4 description: | GIF को MP4 में बदलें यह `gif-to-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: GIF to MP4 input file (.gif) settings: type: string description: | Dedicated GIF to MP4 converter using the gif-to-video pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/gif-to-webm: post: operationId: gifToWebmTool tags: - Tools summary: GIF to WEBM description: | GIF को WEBM में बदलें यह `gif-to-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: GIF to WEBM input file (.gif) settings: type: string description: | Dedicated GIF to WEBM converter using the gif-to-video pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/gif-to-mov: post: operationId: gifToMovTool tags: - Tools summary: GIF to MOV description: | GIF को MOV में बदलें यह `gif-to-video` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: GIF to MOV input file (.gif) settings: type: string description: | Dedicated GIF to MOV converter using the gif-to-video pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mp4-to-mp3: post: operationId: mp4ToMp3Tool tags: - Tools summary: MP4 to MP3 description: | MP4 को MP3 में बदलें यह `extract-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MP4 to MP3 input file (.mp4) settings: type: string description: | Dedicated MP4 to MP3 converter using the extract-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mov-to-mp3: post: operationId: movToMp3Tool tags: - Tools summary: MOV to MP3 description: | MOV को MP3 में बदलें यह `extract-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MOV to MP3 input file (.mov) settings: type: string description: | Dedicated MOV to MP3 converter using the extract-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mkv-to-mp3: post: operationId: mkvToMp3Tool tags: - Tools summary: MKV to MP3 description: | MKV को MP3 में बदलें यह `extract-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MKV to MP3 input file (.mkv) settings: type: string description: | Dedicated MKV to MP3 converter using the extract-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/webm-to-mp3: post: operationId: webmToMp3Tool tags: - Tools summary: WEBM to MP3 description: | WEBM को MP3 में बदलें यह `extract-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: WEBM to MP3 input file (.webm) settings: type: string description: | Dedicated WEBM to MP3 converter using the extract-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/avi-to-mp3: post: operationId: aviToMp3Tool tags: - Tools summary: AVI to MP3 description: | AVI को MP3 में बदलें यह `extract-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: AVI to MP3 input file (.avi) settings: type: string description: | Dedicated AVI to MP3 converter using the extract-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mp4-to-wav: post: operationId: mp4ToWavTool tags: - Tools summary: MP4 to WAV description: | MP4 को WAV में बदलें यह `extract-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MP4 to WAV input file (.mp4) settings: type: string description: | Dedicated MP4 to WAV converter using the extract-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mov-to-wav: post: operationId: movToWavTool tags: - Tools summary: MOV to WAV description: | MOV को WAV में बदलें यह `extract-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MOV to WAV input file (.mov) settings: type: string description: | Dedicated MOV to WAV converter using the extract-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/video/mp4-to-ogg: post: operationId: mp4ToOggTool tags: - Tools summary: MP4 to OGG description: | MP4 को OGG में बदलें यह `extract-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MP4 to OGG input file (.mp4) settings: type: string description: | Dedicated MP4 to OGG converter using the extract-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/audio/m4a-to-mp3: post: operationId: m4aToMp3Tool tags: - Tools summary: M4A to MP3 description: | M4A को MP3 में बदलें यह `convert-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: M4A to MP3 input file (.m4a) settings: type: string description: | Dedicated M4A to MP3 converter using the convert-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/audio/m4a-to-wav: post: operationId: m4aToWavTool tags: - Tools summary: M4A to WAV description: | M4A को WAV में बदलें यह `convert-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: M4A to WAV input file (.m4a) settings: type: string description: | Dedicated M4A to WAV converter using the convert-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/audio/aac-to-mp3: post: operationId: aacToMp3Tool tags: - Tools summary: AAC to MP3 description: | AAC को MP3 में बदलें यह `convert-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: AAC to MP3 input file (.aac) settings: type: string description: | Dedicated AAC to MP3 converter using the convert-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/audio/aac-to-wav: post: operationId: aacToWavTool tags: - Tools summary: AAC to WAV description: | AAC को WAV में बदलें यह `convert-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: AAC to WAV input file (.aac) settings: type: string description: | Dedicated AAC to WAV converter using the convert-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/audio/aac-to-flac: post: operationId: aacToFlacTool tags: - Tools summary: AAC to FLAC description: | AAC को FLAC में बदलें यह `convert-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: AAC to FLAC input file (.aac) settings: type: string description: | Dedicated AAC to FLAC converter using the convert-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/audio/ogg-to-mp3: post: operationId: oggToMp3Tool tags: - Tools summary: OGG to MP3 description: | OGG को MP3 में बदलें यह `convert-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: OGG to MP3 input file (.ogg) settings: type: string description: | Dedicated OGG to MP3 converter using the convert-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/audio/ogg-to-wav: post: operationId: oggToWavTool tags: - Tools summary: OGG to WAV description: | OGG को WAV में बदलें यह `convert-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: OGG to WAV input file (.ogg) settings: type: string description: | Dedicated OGG to WAV converter using the convert-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/audio/wav-to-mp3: post: operationId: wavToMp3Tool tags: - Tools summary: WAV to MP3 description: | WAV को MP3 में बदलें यह `convert-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: WAV to MP3 input file (.wav) settings: type: string description: | Dedicated WAV to MP3 converter using the convert-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/audio/mp3-to-wav: post: operationId: mp3ToWavTool tags: - Tools summary: MP3 to WAV description: | MP3 को WAV में बदलें यह `convert-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: MP3 to WAV input file (.mp3) settings: type: string description: | Dedicated MP3 to WAV converter using the convert-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/audio/flac-to-mp3: post: operationId: flacToMp3Tool tags: - Tools summary: FLAC to MP3 description: | FLAC को MP3 में बदलें यह `convert-audio` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: FLAC to MP3 input file (.flac) settings: type: string description: | Dedicated FLAC to MP3 converter using the convert-audio pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '200': description: Processed file content: application/json: schema: $ref: '#/components/schemas/ToolResponse' '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/tools/files/excel-to-csv: post: operationId: excelToCsvTool tags: - Tools summary: Excel to CSV description: | Excel को CSV में बदलें यह `convert-spreadsheet` द्वारा समर्थित एक समर्पित conversion preset endpoint है। security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: Excel to CSV input file (.xlsx, .xls) settings: type: string description: | Dedicated Excel to CSV converter using the convert-spreadsheet pipeline. The output format is locked by the endpoint. clientJobId: type: string description: Client-provided job ID for SSE progress tracking responses: '202': description: Accepted for async processing. Track progress via SSE at /api/v1/jobs/{jobId}/progress. content: application/json: schema: type: object properties: jobId: type: string async: type: boolean example: true '400': description: Invalid input or settings content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '422': description: Processing failed content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/readyz: get: operationId: readinessCheck tags: - System summary: तैयारी जाँच description: PostgreSQL, Redis, स्थानीय डिस्क स्थान, और कॉन्फ़िगर होने पर S3 पहुँच योग्यता की जाँच करता है। लोड बैलेंसर और ऑर्केस्ट्रेटर के लिए सार्वजनिक endpoint। security: [] responses: '200': description: Instance is ready to receive traffic '503': description: Instance is not ready to receive traffic /api/v1/jobs/{jobId}/cancel: post: operationId: cancelJob tags: - System summary: job रद्द करें description: एक queued या चल रहे job के लिए रद्दीकरण का अनुरोध करें। security: - bearerAuth: [] parameters: - name: jobId in: path required: true schema: type: string responses: '200': description: Cancellation request result '401': description: Authentication required /api/v1/preferences: get: operationId: getPreferences tags: - Settings summary: user प्राथमिकताएं प्राप्त करें description: वर्तमान user का per-user प्राथमिकता मानचित्र लौटाएं। security: - bearerAuth: [] responses: '200': description: Preference map '401': description: Authentication required put: operationId: updatePreferences tags: - Settings summary: user प्राथमिकताएं अपडेट करें description: वर्तमान user के लिए एक या अधिक प्राथमिकताएं upsert करें। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object responses: '200': description: Preferences updated '400': description: Invalid preferences body '401': description: Authentication required /api/auth/mfa/enroll: post: operationId: enrollMfa tags: - Auth summary: MFA नामांकन शुरू करें description: वर्तमान user के लिए TOTP MFA नामांकन शुरू करें। इसके लिए enterprise MFA feature आवश्यक है। security: - bearerAuth: [] responses: '200': description: Enrollment URI and recovery codes '401': description: Authentication required '403': description: MFA feature not licensed '409': description: MFA enrollment already enabled or pending /api/auth/mfa/verify: post: operationId: verifyMfaEnrollment tags: - Auth summary: MFA नामांकन सत्यापित करें description: एक TOTP code के साथ लंबित MFA नामांकन की पुष्टि करें। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - code properties: code: type: string responses: '200': description: MFA enabled '400': description: No pending enrollment or invalid body '401': description: Invalid TOTP code /api/auth/mfa/complete: post: operationId: completeMfaLogin tags: - Auth summary: MFA login पूर्ण करें description: एक TOTP या recovery code के साथ एक लंबित login चुनौती पूर्ण करें। security: [] requestBody: required: true content: application/json: schema: type: object required: - mfaToken - code properties: mfaToken: type: string code: type: string responses: '200': description: Session token and user profile '400': description: Invalid request body '401': description: Invalid or expired MFA challenge /api/auth/mfa/disable: post: operationId: disableMfa tags: - Auth summary: MFA अक्षम करें description: एक TOTP code सत्यापित करने के बाद वर्तमान user के लिए MFA अक्षम करें। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - code properties: code: type: string responses: '200': description: MFA disabled '400': description: MFA is not enabled or body is invalid '401': description: Authentication required or invalid code /api/auth/users/{id}/mfa/reset: post: operationId: resetUserMfa tags: - Auth summary: user MFA रीसेट करें description: | Reset a user's MFA enrollment. Requires users:manage permission and authority over the target's current role, including hierarchy, permissions, tool access, and any API-key scope. security: - bearerAuth: [] parameters: - name: id in: path required: true schema: type: string responses: '200': description: MFA reset '401': description: Authentication required '403': description: Insufficient permissions '404': description: User not found /api/auth/oidc/login: get: operationId: oidcLogin tags: - Auth summary: OIDC login शुरू करें description: कॉन्फ़िगर किए गए OpenID Connect प्रदाता पर रीडायरेक्ट करें। security: [] responses: '302': description: Redirect to identity provider '500': description: OIDC provider discovery failed /api/auth/oidc/callback: get: operationId: oidcCallback tags: - Auth summary: OIDC callback description: OIDC authorization code फ़्लो पूर्ण करें और एक session बनाएं। security: [] responses: '302': description: Redirect to the application /api/auth/saml/metadata: get: operationId: samlMetadata tags: - Auth summary: SAML metadata description: SAML service provider metadata XML लौटाएं। security: [] responses: '200': description: SAML metadata XML /api/auth/saml/login: get: operationId: samlLogin tags: - Auth summary: SAML login शुरू करें description: कॉन्फ़िगर किए गए SAML identity provider पर रीडायरेक्ट करें। security: [] responses: '302': description: Redirect to identity provider /api/auth/saml/callback: post: operationId: samlCallback tags: - Auth summary: SAML callback description: SAML login के लिए assertion consumer service endpoint। security: [] responses: '302': description: Redirect to the application /api/v1/files/{id}/preview: get: operationId: getFilePreview tags: - Files summary: फ़ाइल preview description: एक सहेजी गई PDF, office दस्तावेज़, video, या audio फ़ाइल के लिए एक browser-संगत preview स्ट्रीम या जनरेट करें। security: - bearerAuth: [] parameters: - name: id in: path required: true schema: type: string responses: '200': description: Preview binary '400': description: Preview not supported '401': description: Authentication required '404': description: File not found '422': description: Could not generate preview /api/v1/preview/generate: post: operationId: generatePreview tags: - Files summary: upload preview जनरेट करें description: एक upload की गई मीडिया फ़ाइल के लिए एक ऑन-डिमांड MP4 या MP3 preview जनरेट करें। security: [] requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary responses: '200': description: Preview binary '400': description: Unsupported file type or missing file '422': description: Could not generate preview /api/v1/admin/log-level: get: operationId: getLogLevel tags: - Admin summary: log स्तर प्राप्त करें description: वर्तमान runtime log स्तर पढ़ें। settings:write permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: Current log level '403': description: Insufficient permissions post: operationId: setLogLevel tags: - Admin summary: log स्तर सेट करें description: runtime log स्तर बदलें। settings:write permission आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - level properties: level: type: string enum: - fatal - error - warn - info - debug - trace - silent responses: '200': description: New log level '400': description: Invalid log level '403': description: Insufficient permissions /api/v1/metrics: get: operationId: getMetrics tags: - Admin summary: Prometheus metrics description: Prometheus metrics लौटाएं। system:health permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: Prometheus text format '403': description: Insufficient permissions /api/v1/admin/support-bundle: get: operationId: getSupportBundle tags: - Admin summary: Support bundle description: एक redacted diagnostic support bundle ZIP download करें। system:health permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: Support bundle ZIP '403': description: Insufficient permissions /api/v1/admin/usage: get: operationId: getAdminUsage tags: - Admin summary: उपयोग डैशबोर्ड डेटा description: स्थानीय उपयोग डैशबोर्ड डेटा लौटाएं। audit:read permission आवश्यक है। security: - bearerAuth: [] parameters: - name: days in: query required: false schema: type: string responses: '200': description: Usage dashboard data '400': description: Invalid query parameters '403': description: Insufficient permissions /api/v1/admin/backup-status: get: operationId: getBackupStatus tags: - Admin summary: बैकअप स्थिति description: अंतिम बैकअप metadata और ताज़गी लौटाएं। system:health permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: Backup status '403': description: Insufficient permissions post: operationId: setBackupStatus tags: - Admin summary: बैकअप स्थिति रिकॉर्ड करें description: एक पूर्ण बैकअप रिकॉर्ड करें। system:health permission आवश्यक है। security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - type properties: type: type: string sizeBytes: type: integer notes: type: string responses: '200': description: Backup status recorded '400': description: Invalid backup status '403': description: Insufficient permissions /api/v1/admin/features/import: post: operationId: importFeatureBundle tags: - Features summary: feature bundle आयात करें description: |- एक लीगेसी AI बंडल संग्रह आयात करें, या एक ऑफ़लाइन सटीक OCR आयात करें इसके हस्ताक्षरित सूचकांक और मिलान प्लेटफ़ॉर्म संग्रह का उपयोग करके रिलीज़ करें। OCR आयात समान हस्ताक्षर, हैश, अनुकूलता, निष्कर्षण करता है, और smoke-test सटीक सहित ऑनलाइन इंस्टॉलेशन की जांच करता है रनटाइम की 4 GiB प्रभावी-मेमोरी न्यूनतम। Fast Tesseract OCR नहीं है इस आवश्यकता के अधीन. features:manage अनुमति की आवश्यकता है. security: - bearerAuth: [] requestBody: required: true content: multipart/form-data: schema: type: object oneOf: - required: - file - required: - index - archive properties: file: type: string format: binary description: One legacy AI bundle archive; mutually exclusive with index/archive index: type: string format: binary description: Signed ocr-runtime-index.json from the SnapOtter release archive: type: string format: binary description: OCR runtime archive for the current Linux amd64 or arm64 target; must follow index responses: '200': description: Bundle verified, imported, and activated '400': description: Invalid archive '403': description: Insufficient permissions '409': description: Import lock is held '507': description: Insufficient storage for the authenticated archive and expanded runtime /api/v1/enterprise/scim/token: post: operationId: createScimToken tags: - Enterprise summary: SCIM token बनाएं description: | Generate a global SCIM bearer token. Requires the enterprise SCIM feature and full effective built-in administrator authority; custom roles and API keys missing any administrator permission do not qualify. Legacy unversioned tokens are invalid and must be reissued as v2 tokens. security: - bearerAuth: [] responses: '201': description: SCIM token created '403': description: SCIM feature not licensed or insufficient permissions delete: operationId: revokeScimToken tags: - Enterprise summary: SCIM token रद्द करें description: | Revoke the global SCIM bearer token. Requires the enterprise SCIM feature and full effective built-in administrator authority; custom roles and API keys missing any administrator permission do not qualify. security: - bearerAuth: [] responses: '204': description: SCIM token revoked '403': description: SCIM feature not licensed or insufficient permissions /api/v1/scim/v2/ServiceProviderConfig: get: operationId: getScimServiceProviderConfig tags: - Enterprise summary: SCIM service provider config description: सार्वजनिक SCIM डिस्कवरी endpoint। security: [] responses: '200': description: SCIM service provider capabilities /api/v1/scim/v2/Schemas: get: operationId: getScimSchemas tags: - Enterprise summary: SCIM schemas description: सार्वजनिक SCIM schema डिस्कवरी endpoint। security: [] responses: '200': description: SCIM schemas /api/v1/scim/v2/ResourceTypes: get: operationId: getScimResourceTypes tags: - Enterprise summary: SCIM resource types description: सार्वजनिक SCIM resource type डिस्कवरी endpoint। security: [] responses: '200': description: SCIM resource types /api/v1/scim/v2/Users: get: operationId: listScimUsers tags: - Enterprise summary: SCIM users सूचीबद्ध करें description: SCIM users सूचीबद्ध करें। SCIM bearer token आवश्यक है। responses: '200': description: SCIM user list post: operationId: createScimUser tags: - Enterprise summary: SCIM user बनाएं description: एक SCIM user बनाएं। SCIM bearer token आवश्यक है। responses: '201': description: SCIM user created /api/v1/scim/v2/Users/{id}: get: operationId: getScimUser tags: - Enterprise summary: SCIM user प्राप्त करें description: ID द्वारा एक SCIM user प्राप्त करें। SCIM bearer token आवश्यक है। parameters: - name: id in: path required: true schema: type: string responses: '200': description: SCIM user put: operationId: updateScimUser tags: - Enterprise summary: SCIM user अपडेट करें description: ID द्वारा एक SCIM user को प्रतिस्थापित करें। SCIM bearer token आवश्यक है। parameters: - name: id in: path required: true schema: type: string responses: '200': description: SCIM user updated delete: operationId: deleteScimUser tags: - Enterprise summary: SCIM user हटाएं description: ID द्वारा एक SCIM user को सॉफ़्ट निष्क्रिय करें। SCIM bearer token आवश्यक है। parameters: - name: id in: path required: true schema: type: string responses: '200': description: SCIM user deactivated /api/v1/scim/v2/Groups: get: operationId: listScimGroups tags: - Enterprise summary: SCIM groups सूचीबद्ध करें description: SCIM groups सूचीबद्ध करें। SCIM bearer token आवश्यक है। responses: '200': description: SCIM group list post: operationId: createScimGroup tags: - Enterprise summary: SCIM group बनाएं description: एक SCIM group बनाएं। SCIM bearer token आवश्यक है। responses: '201': description: SCIM group created /api/v1/scim/v2/Groups/{id}: get: operationId: getScimGroup tags: - Enterprise summary: SCIM group प्राप्त करें description: ID द्वारा एक SCIM group प्राप्त करें। SCIM bearer token आवश्यक है। parameters: - name: id in: path required: true schema: type: string responses: '200': description: SCIM group put: operationId: updateScimGroup tags: - Enterprise summary: SCIM group अपडेट करें description: ID द्वारा एक SCIM group को प्रतिस्थापित करें। SCIM bearer token आवश्यक है। parameters: - name: id in: path required: true schema: type: string responses: '200': description: SCIM group updated delete: operationId: deleteScimGroup tags: - Enterprise summary: SCIM group हटाएं description: ID द्वारा एक SCIM group हटाएं। SCIM bearer token आवश्यक है। parameters: - name: id in: path required: true schema: type: string responses: '204': description: SCIM group deleted /api/v1/enterprise/audit/export: get: operationId: exportAuditLog tags: - Enterprise summary: audit log निर्यात करें description: audit entries को JSON या CSV के रूप में निर्यात करें। audit:read permission और enterprise audit export feature आवश्यक है। security: - bearerAuth: [] responses: '200': description: Audit export '400': description: Invalid query parameters '403': description: Feature not licensed or insufficient permissions /api/v1/enterprise/config/export: get: operationId: exportEnterpriseConfig tags: - Enterprise summary: configuration निर्यात करें description: | संशोधित इंस्टेंस कॉन्फ़िगरेशन, कस्टम भूमिकाएँ और टीमें निर्यात करें। पूर्ण प्रभावी अंतर्निहित एडमिन अधिकार आवश्यक है; कस्टम भूमिकाएँ योग्य नहीं हैं और वे API कुंजियाँ भी योग्य नहीं हैं जिनमें एडमिन की कोई अनुमति अनुपलब्ध है। security: - bearerAuth: [] responses: '200': description: Configuration export '403': description: Feature not licensed or insufficient permissions /api/v1/enterprise/config/import: post: operationId: importEnterpriseConfig tags: - Enterprise summary: configuration आयात करें description: | इंस्टेंस कॉन्फ़िगरेशन, कस्टम भूमिकाएँ और टीमें आयात करें। पूर्ण प्रभावी अंतर्निहित एडमिन अधिकार आवश्यक है; कस्टम भूमिकाएँ योग्य नहीं हैं और वे API कुंजियाँ भी योग्य नहीं हैं जिनमें एडमिन की कोई अनुमति अनुपलब्ध है। security: - bearerAuth: [] responses: '200': description: Import result '400': description: Invalid import payload '403': description: Feature not licensed or insufficient permissions /api/v1/enterprise/ip-allowlist: get: operationId: getIpAllowlist tags: - Enterprise summary: IP allowlist प्राप्त करें description: enterprise IP allowlist पढ़ें। security:manage permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: IP allowlist '403': description: Feature not licensed or insufficient permissions put: operationId: updateIpAllowlist tags: - Enterprise summary: IP allowlist अपडेट करें description: सेल्फ-लॉकआउट रोकथाम के साथ CIDR allowlist entries अपडेट करें। security:manage permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: IP allowlist updated '400': description: Invalid CIDR entries '403': description: Feature not licensed or insufficient permissions /api/v1/enterprise/legal-hold: get: operationId: listLegalHolds tags: - Enterprise summary: legal holds सूचीबद्ध करें description: legal hold के अंतर्गत users और teams सूचीबद्ध करें। compliance:manage permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: Legal holds '403': description: Feature not licensed or insufficient permissions put: operationId: updateLegalHold tags: - Enterprise summary: legal hold अपडेट करें description: एक user या team पर एक legal hold लागू करें या जारी करें। compliance:manage permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: Legal hold updated '400': description: Invalid request body '403': description: Feature not licensed or insufficient permissions /api/v1/enterprise/siem/config: get: operationId: getSiemConfig tags: - Enterprise summary: SIEM config प्राप्त करें description: SIEM forwarding configuration पढ़ें। webhooks:manage permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: SIEM config '403': description: Feature not licensed or insufficient permissions put: operationId: updateSiemConfig tags: - Enterprise summary: SIEM config अपडेट करें description: SIEM forwarding configuration अपडेट करें। webhooks:manage permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: SIEM config updated '400': description: Invalid SIEM config '403': description: Feature not licensed or insufficient permissions /api/v1/enterprise/webhooks: get: operationId: listWebhooks tags: - Enterprise summary: webhooks सूचीबद्ध करें description: webhook destinations सूचीबद्ध करें। webhooks:manage permission आवश्यक है। security: - bearerAuth: [] responses: '200': description: Webhook destinations '403': description: Feature not licensed or insufficient permissions post: operationId: createWebhook tags: - Enterprise summary: webhook बनाएं description: एक webhook destination बनाएं। webhooks:manage permission आवश्यक है। security: - bearerAuth: [] responses: '201': description: Webhook created '400': description: Invalid webhook destination '403': description: Feature not licensed or insufficient permissions /api/v1/enterprise/webhooks/{index}: put: operationId: updateWebhook tags: - Enterprise summary: webhook अपडेट करें description: index द्वारा एक webhook destination अपडेट करें। webhooks:manage permission आवश्यक है। security: - bearerAuth: [] parameters: - name: index in: path required: true schema: type: string responses: '200': description: Webhook updated '400': description: Invalid index or destination '404': description: Webhook not found delete: operationId: deleteWebhook tags: - Enterprise summary: webhook हटाएं description: index द्वारा एक webhook destination हटाएं। webhooks:manage permission आवश्यक है। security: - bearerAuth: [] parameters: - name: index in: path required: true schema: type: string responses: '200': description: Webhook deleted '400': description: Invalid index '404': description: Webhook not found /api/v1/enterprise/webhooks/{index}/test: post: operationId: testWebhook tags: - Enterprise summary: webhook परीक्षण करें description: एक webhook destination पर एक परीक्षण payload भेजें। webhooks:manage permission आवश्यक है। security: - bearerAuth: [] parameters: - name: index in: path required: true schema: type: string responses: '200': description: Test result '400': description: Invalid index '404': description: Webhook not found /api/v1/enterprise/users/{id}/export: post: operationId: startGdprUserExport tags: - Enterprise summary: GDPR निर्यात शुरू करें description: एक GDPR user data निर्यात job शुरू करें। compliance:manage permission आवश्यक है। security: - bearerAuth: [] parameters: - name: id in: path required: true schema: type: string responses: '202': description: Export job started '403': description: Feature not licensed or insufficient permissions '404': description: User not found /api/v1/enterprise/users/{id}/export/{jobId}: get: operationId: getGdprUserExport tags: - Enterprise summary: GDPR निर्यात स्थिति प्राप्त करें description: एक GDPR user निर्यात job के लिए स्थिति और download URL पढ़ें। compliance:manage permission आवश्यक है। security: - bearerAuth: [] parameters: - name: id in: path required: true schema: type: string - name: jobId in: path required: true schema: type: string responses: '200': description: Export status '404': description: Export job not found /api/v1/enterprise/users/{id}/purge: delete: operationId: purgeEnterpriseUser tags: - Enterprise summary: user data पर्ज करें description: | Permanently purge a user's data after explicit confirmation. Requires compliance:manage permission and authority over the target's current role, including hierarchy, permissions, tool access, and any API-key scope. security: - bearerAuth: [] parameters: - name: id in: path required: true schema: type: string responses: '200': description: User purged '400': description: Confirmation required '403': description: Feature not licensed, insufficient permission, or target role beyond actor authority '409': description: User or team is under legal hold /api/v1/enterprise/teams/{id}/purge: delete: operationId: purgeEnterpriseTeam tags: - Enterprise summary: team data पर्ज करें description: | Permanently purge a team's data after explicit confirmation. Requires compliance:manage permission and authority over every member's current role, including hierarchy, permissions, tool access, and any API-key scope. A team containing the actor cannot be purged. security: - bearerAuth: [] parameters: - name: id in: path required: true schema: type: string responses: '200': description: Team purged '400': description: Confirmation required '403': description: Feature not licensed, insufficient permission, or a member role beyond actor authority '409': description: Team is under legal hold /api/v1/admin/version: get: operationId: getAdminVersion tags: - Admin summary: संस्करण metadata description: app संस्करण, build तिथि, Node संस्करण, और schema संस्करण पढ़ें। system:health permission और enterprise upgrade management feature आवश्यक है। security: - bearerAuth: [] responses: '200': description: Version metadata '403': description: Feature not licensed or insufficient permissions /api/v1/admin/migrations/pending: get: operationId: getPendingMigrations tags: - Admin summary: Migration स्थिति description: पैकेज्ड migrations की लागू किए गए migrations से तुलना करें। system:health permission और enterprise upgrade management feature आवश्यक है। security: - bearerAuth: [] responses: '200': description: Migration status '403': description: Feature not licensed or insufficient permissions /api/v1/admin/upgrade-check: get: operationId: getUpgradeCheck tags: - Admin summary: Upgrade तैयारी description: upgrade तैयारी जाँच चलाएं। system:health permission और enterprise upgrade management feature आवश्यक है। security: - bearerAuth: [] responses: '200': description: Upgrade readiness result '403': description: Feature not licensed or insufficient permissions /llms.txt: get: operationId: getLlmsTxt tags: - System summary: LLM सारांश description: OpenAPI spec से जनरेट किया गया LLM-अनुकूल सादा-टेक्स्ट API सारांश। security: [] responses: '200': description: Plain-text LLM summary content: text/plain: schema: type: string /llms-full.txt: get: operationId: getLlmsFullTxt tags: - System summary: पूर्ण LLM API डॉक्स description: OpenAPI spec से जनरेट किया गया संपूर्ण सादा-टेक्स्ट API दस्तावेज़ीकरण। security: [] responses: '200': description: Full plain-text API docs content: text/plain: schema: type: string /api/v1/openapi.yaml: get: operationId: getOpenApiYaml tags: - System summary: OpenAPI YAML description: इस SnapOtter instance के लिए मशीन-पठनीय OpenAPI 3.1 विनिर्देश। security: [] responses: '200': description: OpenAPI YAML document content: text/yaml: schema: type: string /api/v1/tools/popular: get: operationId: getPopularTools tags: - Tools summary: लोकप्रिय tools description: 12 तक लोकप्रिय tool IDs लौटाएं, जब उपयोग डेटा विरल हो तो एक क्यूरेटेड डिफ़ॉल्ट सूची पर fallback करते हुए। security: [] responses: '200': description: Popular tool IDs content: application/json: schema: type: object properties: tools: type: array items: type: string x-i18n: locale: hi generator: scripts/i18n/adapters/api-spec.mjs entries: info.description: sourceHash: 0a7d56a602a9 provenance: machine outputHash: 7932bff8e4ea tags.Tools.description: sourceHash: 9c71553d06df provenance: machine outputHash: be95104f8946 tags.Batch.description: sourceHash: f9c99eda7653 provenance: machine outputHash: d3d84a4d9068 tags.Pipelines.description: sourceHash: 18d60931b26d provenance: machine outputHash: f695ced037c9 tags.Files.description: sourceHash: c3b0e1590a61 provenance: machine outputHash: e64314f7a579 tags.Auth.description: sourceHash: 23f6a0fcf611 provenance: machine outputHash: 2622d1ba57ba tags.API Keys.description: sourceHash: fb725a6a642a provenance: machine outputHash: 637265888a73 tags.Settings.description: sourceHash: 25788b024fe2 provenance: machine outputHash: a9c3bcb6e6a4 tags.Teams.description: sourceHash: 750d92c8bb9f provenance: machine outputHash: eae0cbe0ad33 tags.Roles.description: sourceHash: d031f589a884 provenance: machine outputHash: c44a26d88b41 tags.Audit.description: sourceHash: ed43b35a8636 provenance: machine outputHash: 47a5ff499f07 tags.Analytics.description: sourceHash: 36832a1b1df0 provenance: machine outputHash: dbedffdf05d6 tags.Features.description: sourceHash: a6cdd16968b5 provenance: machine outputHash: 599e71acb44e tags.Admin.description: sourceHash: c19c4b4f68c4 provenance: machine outputHash: f24bb8e3f484 tags.System.description: sourceHash: 91561bc11296 provenance: machine outputHash: 138133c8d0e7 tags.Enterprise.description: sourceHash: 91b6b46b0dd1 provenance: machine outputHash: 24e596d13d7d paths./api/v1/health.get.summary: sourceHash: 14290e1d0681 provenance: machine outputHash: 4d34a47031a4 paths./api/v1/health.get.description: sourceHash: 784e94eaa9df provenance: machine outputHash: b9d7303fa9d4 paths./api/v1/tools/image/resize.post.summary: sourceHash: 6cc5dc48975b provenance: machine outputHash: 59d0c70a999b paths./api/v1/tools/image/resize.post.description: sourceHash: 3dd014df5258 provenance: machine outputHash: 750b0c929322 paths./api/v1/tools/image/content-aware-resize.post.summary: sourceHash: 7f86a6451d78 provenance: machine outputHash: 794d60b869fc paths./api/v1/tools/image/content-aware-resize.post.description: sourceHash: fe6de26388f5 provenance: machine outputHash: 36bea81a59ed paths./api/v1/tools/image/crop.post.summary: sourceHash: fb3dabcf0d02 provenance: machine outputHash: 9be8b6b069b7 paths./api/v1/tools/image/crop.post.description: sourceHash: db6c5c89d359 provenance: machine outputHash: 1a3744e5270c paths./api/v1/tools/image/rotate.post.summary: sourceHash: 816edfdfe65e provenance: machine outputHash: d51d7a55f166 paths./api/v1/tools/image/rotate.post.description: sourceHash: 5360b7d1a4c3 provenance: machine outputHash: c04a1d8213dd paths./api/v1/tools/image/convert.post.summary: sourceHash: 6ccca094d767 provenance: machine outputHash: dc4fa3323165 paths./api/v1/tools/image/convert.post.description: sourceHash: 2298d8af460d provenance: machine outputHash: d7e8b01b4a25 paths./api/v1/tools/image/compress.post.summary: sourceHash: a18573a37f49 provenance: machine outputHash: e8fedf8f6e97 paths./api/v1/tools/image/compress.post.description: sourceHash: 01f63e9e928a provenance: machine outputHash: 01549bece8b8 paths./api/v1/tools/image/strip-metadata.post.summary: sourceHash: 1b49ff96cee6 provenance: machine outputHash: 41b5c19430f5 paths./api/v1/tools/image/strip-metadata.post.description: sourceHash: b5718bfd5335 provenance: machine outputHash: fdc4a3d739f2 paths./api/v1/tools/image/border.post.summary: sourceHash: 1d23e2771077 provenance: machine outputHash: 06bad868483b paths./api/v1/tools/image/border.post.description: sourceHash: 6d48679c08cd provenance: machine outputHash: 93a0620c5b00 paths./api/v1/tools/image/beautify.post.summary: sourceHash: 096b365107c5 provenance: machine outputHash: f8b597a99a7e paths./api/v1/tools/image/beautify.post.description: sourceHash: 7db7fb58263f provenance: machine outputHash: 658f8ad4a967 paths./api/v1/tools/image/adjust-colors.post.summary: sourceHash: a45b7d1e2535 provenance: machine outputHash: 749a56543fe7 paths./api/v1/tools/image/adjust-colors.post.description: sourceHash: 1fb36db32da7 provenance: machine outputHash: 427d0c3e086b paths./api/v1/tools/image/sharpening.post.summary: sourceHash: d07b9f428bbf provenance: machine outputHash: 83f14218b71e paths./api/v1/tools/image/sharpening.post.description: sourceHash: 8080cda0610a provenance: machine outputHash: 883431d63bd0 paths./api/v1/tools/image/optimize-for-web.post.summary: sourceHash: 54245d072fef provenance: machine outputHash: 98518d89dd2f paths./api/v1/tools/image/optimize-for-web.post.description: sourceHash: e846eaabbabc provenance: machine outputHash: d9f9b3050b55 paths./api/v1/tools/image/optimize-for-web/preview.post.summary: sourceHash: f50e6149b56c provenance: machine outputHash: b1fdfcda40dc paths./api/v1/tools/image/optimize-for-web/preview.post.description: sourceHash: 10a427197f6e provenance: machine outputHash: 56a726fe9e56 paths./api/v1/tools/image/image-enhancement.post.summary: sourceHash: 246a536c8207 provenance: machine outputHash: ee3858796a05 paths./api/v1/tools/image/image-enhancement.post.description: sourceHash: 17ec5e5e2b04 provenance: machine outputHash: 99fe53b2b860 paths./api/v1/tools/image/image-enhancement/analyze.post.summary: sourceHash: 2697cf8b079f provenance: machine outputHash: 702cfe304999 paths./api/v1/tools/image/image-enhancement/analyze.post.description: sourceHash: 7712bfd40c3a provenance: machine outputHash: 8f35d82f5f66 paths./api/v1/tools/image/noise-removal.post.summary: sourceHash: 9301fe47b563 provenance: machine outputHash: 2809f811381a paths./api/v1/tools/image/noise-removal.post.description: sourceHash: e16aa743abcb provenance: machine outputHash: 231499aa1d85 paths./api/v1/tools/image/red-eye-removal.post.summary: sourceHash: d9315c5a87b4 provenance: machine outputHash: b775fec3f85e paths./api/v1/tools/image/red-eye-removal.post.description: sourceHash: 479c687988eb provenance: machine outputHash: c7a396f0939c paths./api/v1/tools/image/restore-photo.post.summary: sourceHash: 3ef425c0ba9b provenance: machine outputHash: a7b0282e0d45 paths./api/v1/tools/image/restore-photo.post.description: sourceHash: 6e3b2de0372c provenance: machine outputHash: c1382481112e paths./api/v1/tools/image/passport-photo/analyze.post.summary: sourceHash: 0a3c3687ff5f provenance: machine outputHash: 299068c973af paths./api/v1/tools/image/passport-photo/analyze.post.description: sourceHash: 235c51cb497e provenance: machine outputHash: 2f7b7b1fb139 paths./api/v1/tools/image/passport-photo/generate.post.summary: sourceHash: 029eecf0438e provenance: machine outputHash: c7270ff70c8c paths./api/v1/tools/image/passport-photo/generate.post.description: sourceHash: d0edd7c634d9 provenance: machine outputHash: 178a2520cba0 paths./api/v1/tools/image/colorize.post.summary: sourceHash: 34df56e96234 provenance: machine outputHash: ea97e7e1ed6f paths./api/v1/tools/image/colorize.post.description: sourceHash: 04d7dc54396a provenance: machine outputHash: 6b81407f591e paths./api/v1/tools/image/enhance-faces.post.summary: sourceHash: 74f27131fec9 provenance: machine outputHash: 8fa6e8d7e1f9 paths./api/v1/tools/image/enhance-faces.post.description: sourceHash: beec2f7e8561 provenance: machine outputHash: c8891b1d404d paths./api/v1/tools/image/image-to-base64.post.summary: sourceHash: 440737c09f0d provenance: machine outputHash: 440737c09f0d paths./api/v1/tools/image/image-to-base64.post.description: sourceHash: 02a80d960185 provenance: machine outputHash: 7a186c4af97d paths./api/v1/tools/image/watermark-text.post.summary: sourceHash: dfef3d1052de provenance: machine outputHash: 96cd667be03b paths./api/v1/tools/image/watermark-text.post.description: sourceHash: 158e444c0a77 provenance: machine outputHash: 4a68ca345cad paths./api/v1/tools/image/text-overlay.post.summary: sourceHash: 7311c0ffc340 provenance: machine outputHash: 5641b73e0edc paths./api/v1/tools/image/text-overlay.post.description: sourceHash: e5dd74752a49 provenance: machine outputHash: 022a13cdf084 paths./api/v1/tools/image/replace-color.post.summary: sourceHash: 80e60e5fe0ed provenance: machine outputHash: c1d0804cf074 paths./api/v1/tools/image/replace-color.post.description: sourceHash: cbafc4d168c3 provenance: machine outputHash: d9f26dc4d805 paths./api/v1/tools/image/color-blindness.post.summary: sourceHash: 1ab73f30893d provenance: machine outputHash: fcc2130f1085 paths./api/v1/tools/image/color-blindness.post.description: sourceHash: 1e362d094237 provenance: machine outputHash: 1acf7016b734 paths./api/v1/tools/image/gif-tools.post.summary: sourceHash: 985d94d31548 provenance: machine outputHash: 985d94d31548 paths./api/v1/tools/image/gif-tools.post.description: sourceHash: fe7113c6fefd provenance: machine outputHash: 349c6dc63649 paths./api/v1/tools/image/gif-tools/info.post.summary: sourceHash: e864c10b29f7 provenance: machine outputHash: 2fa3752dacec paths./api/v1/tools/image/gif-tools/info.post.description: sourceHash: aaeba6b11dbf provenance: machine outputHash: cc184e37fdd2 paths./api/v1/tools/image/smart-crop.post.summary: sourceHash: 890848540d35 provenance: machine outputHash: 5131fb6c4520 paths./api/v1/tools/image/smart-crop.post.description: sourceHash: 0f00f334ba29 provenance: machine outputHash: 0da719170d96 paths./api/v1/tools/image/vectorize.post.summary: sourceHash: ffa9db773ada provenance: machine outputHash: ffa9db773ada paths./api/v1/tools/image/vectorize.post.description: sourceHash: 3d5de38dc3f3 provenance: machine outputHash: b09892faaa68 paths./api/v1/tools/image/svg-to-raster.post.summary: sourceHash: bccef23ad06b provenance: machine outputHash: bccef23ad06b paths./api/v1/tools/image/svg-to-raster.post.description: sourceHash: 27a0b0dfe170 provenance: machine outputHash: c37a5673b7d6 paths./api/v1/tools/image/svg-to-raster/batch.post.summary: sourceHash: 340743c4e68b provenance: machine outputHash: 340743c4e68b paths./api/v1/tools/image/svg-to-raster/batch.post.description: sourceHash: a0069d315b7e provenance: machine outputHash: 7cfe1cd3d44f paths./api/v1/tools/image/image-to-pdf.post.summary: sourceHash: 966eba6e1412 provenance: machine outputHash: 966eba6e1412 paths./api/v1/tools/image/image-to-pdf.post.description: sourceHash: f5a0819f56f7 provenance: machine outputHash: 308dd9d36fa0 paths./api/v1/tools/pdf/pdf-to-image.post.summary: sourceHash: 4c3c2ae28b1f provenance: machine outputHash: 4c3c2ae28b1f paths./api/v1/tools/pdf/pdf-to-image.post.description: sourceHash: 4f0f5c643801 provenance: machine outputHash: e5b67932423b paths./api/v1/tools/pdf/pdf-to-image/info.post.summary: sourceHash: d9398268b597 provenance: machine outputHash: d8398f59cf9a paths./api/v1/tools/pdf/pdf-to-image/info.post.description: sourceHash: 9ace4aaa3978 provenance: machine outputHash: 32b27f610fc8 paths./api/v1/tools/pdf/pdf-to-image/preview.post.summary: sourceHash: 3bd369a401ba provenance: machine outputHash: cba6700192d5 paths./api/v1/tools/pdf/pdf-to-image/preview.post.description: sourceHash: 90db92475b9a provenance: machine outputHash: e0bade9d4c65 paths./api/v1/tools/image/split.post.summary: sourceHash: 6a45e35cf509 provenance: machine outputHash: c2b0fc39ab15 paths./api/v1/tools/image/split.post.description: sourceHash: d7d4988765b3 provenance: machine outputHash: f51ca4eb8581 paths./api/v1/tools/image/bulk-rename.post.summary: sourceHash: 5489fe2b69b0 provenance: machine outputHash: 2188f8ff9515 paths./api/v1/tools/image/bulk-rename.post.description: sourceHash: 093bf3688b13 provenance: machine outputHash: 1d354dff1d47 paths./api/v1/tools/image/favicon.post.summary: sourceHash: 7a587af97797 provenance: machine outputHash: 835b6398c427 paths./api/v1/tools/image/favicon.post.description: sourceHash: 5351a1c80471 provenance: machine outputHash: 9e0fa696cd3f paths./api/v1/tools/image/watermark-image.post.summary: sourceHash: 577e5e431f77 provenance: machine outputHash: 1de28d6ce030 paths./api/v1/tools/image/watermark-image.post.description: sourceHash: 4e103b8a7d17 provenance: machine outputHash: 77d869f92a14 paths./api/v1/tools/image/compose.post.summary: sourceHash: 06718c2a3b98 provenance: machine outputHash: 702c7d1bebc0 paths./api/v1/tools/image/compose.post.description: sourceHash: d48d40e77edf provenance: machine outputHash: e3888fbeea0d paths./api/v1/tools/image/meme-generator.post.summary: sourceHash: a4e89614a5c1 provenance: machine outputHash: 3d7306564fbb paths./api/v1/tools/image/meme-generator.post.description: sourceHash: 7aa04984be62 provenance: machine outputHash: 1a8ecce2f8a6 paths./api/v1/meme-templates.get.summary: sourceHash: fd3392277306 provenance: machine outputHash: 81c34181969a paths./api/v1/meme-templates.get.description: sourceHash: a147e348597c provenance: machine outputHash: e67c5ff44292 paths./api/v1/meme-templates/full/{filename}.get.summary: sourceHash: fd501704c913 provenance: machine outputHash: e7f6acd2a987 paths./api/v1/meme-templates/full/{filename}.get.description: sourceHash: 3bb962f4402c provenance: machine outputHash: 16b082f31259 paths./api/v1/meme-templates/thumbs/{filename}.get.summary: sourceHash: d2102190f5a2 provenance: machine outputHash: 73076e6f7c69 paths./api/v1/meme-templates/thumbs/{filename}.get.description: sourceHash: 77c69805732d provenance: machine outputHash: a89f5fc38fe7 paths./api/v1/meme-templates/fonts/{filename}.get.summary: sourceHash: 3627280f2609 provenance: machine outputHash: 0b6d1aa895b9 paths./api/v1/meme-templates/fonts/{filename}.get.description: sourceHash: 717c6764f472 provenance: machine outputHash: 34ca7d7ffcb4 paths./api/v1/tools/image/compare.post.summary: sourceHash: 46e3612ffee1 provenance: machine outputHash: 01ad51f47729 paths./api/v1/tools/image/compare.post.description: sourceHash: ac21fee13ecc provenance: machine outputHash: 07c7e893845d paths./api/v1/tools/image/erase-object.post.summary: sourceHash: 21f13ba2930d provenance: machine outputHash: bd6d0038fd6e paths./api/v1/tools/image/erase-object.post.description: sourceHash: 9d6614ed28c6 provenance: machine outputHash: 72dc5e177592 paths./api/v1/tools/image/ai-canvas-expand.post.summary: sourceHash: 990aeca723ff provenance: machine outputHash: 7ac3772fbb8d paths./api/v1/tools/image/ai-canvas-expand.post.description: sourceHash: 084de536af45 provenance: machine outputHash: eea0731c9e30 paths./api/v1/tools/image/collage.post.summary: sourceHash: 6e5e905e8c16 provenance: machine outputHash: 2b4ccecc19e6 paths./api/v1/tools/image/collage.post.description: sourceHash: fb0ba3d2cf44 provenance: machine outputHash: bba96af0d2de paths./api/v1/tools/image/stitch.post.summary: sourceHash: d0e2b34fe22b provenance: machine outputHash: 009a4abcfd3d paths./api/v1/tools/image/stitch.post.description: sourceHash: 914837a5d232 provenance: machine outputHash: f3385b1cc4c4 paths./api/v1/tools/image/remove-gif-background.post.summary: sourceHash: a316267cf5d1 provenance: machine outputHash: cf7d1350ac94 paths./api/v1/tools/image/remove-gif-background.post.description: sourceHash: ef1d100f2345 provenance: machine outputHash: 41787aa48bdc paths./api/v1/tools/image/remove-background.post.summary: sourceHash: a8d1ab54b32c provenance: machine outputHash: 9831149fa9c5 paths./api/v1/tools/image/remove-background.post.description: sourceHash: 3bb193c0a2f9 provenance: machine outputHash: 025ee2929583 paths./api/v1/tools/image/remove-background/effects.post.summary: sourceHash: 2194d6947f3f provenance: machine outputHash: 166d21f31ad3 paths./api/v1/tools/image/remove-background/effects.post.description: sourceHash: 1e2ab8e3b1ae provenance: machine outputHash: fb439272f9b1 paths./api/v1/tools/image/transparency-fixer.post.summary: sourceHash: 0cf307cacb91 provenance: machine outputHash: 6f35bc4717de paths./api/v1/tools/image/transparency-fixer.post.description: sourceHash: 67b2a3c1cb7b provenance: machine outputHash: 7e247e2ea68d paths./api/v1/tools/image/upscale.post.summary: sourceHash: ce44856d9e64 provenance: machine outputHash: 297a60317d72 paths./api/v1/tools/image/upscale.post.description: sourceHash: e603db60e711 provenance: machine outputHash: 783ab886531b paths./api/v1/tools/image/blur-faces.post.summary: sourceHash: d9a7e1d9a145 provenance: machine outputHash: 525f33cc2dc4 paths./api/v1/tools/image/blur-faces.post.description: sourceHash: 28790ae08ac7 provenance: machine outputHash: 02ce08fcf3c0 paths./api/v1/tools/image/ocr.post.summary: sourceHash: 0b508f19963b provenance: machine outputHash: ec33b69b7a16 paths./api/v1/tools/image/ocr.post.description: sourceHash: 7b74b30329a5 provenance: machine outputHash: 22669457be65 paths./api/v1/tools/image/info.post.summary: sourceHash: 1823e118aed5 provenance: machine outputHash: 46d1f81de031 paths./api/v1/tools/image/info.post.description: sourceHash: 196d7190f16c provenance: machine outputHash: c92202a43740 paths./api/v1/tools/image/color-palette.post.summary: sourceHash: 81a9be1a8044 provenance: machine outputHash: ead340514d98 paths./api/v1/tools/image/color-palette.post.description: sourceHash: d34d5ff2ade7 provenance: machine outputHash: 43456b63d355 paths./api/v1/tools/image/barcode-read.post.summary: sourceHash: b51dcac65420 provenance: machine outputHash: 91dd75a8cd43 paths./api/v1/tools/image/barcode-read.post.description: sourceHash: ae952218a233 provenance: machine outputHash: 031401ba2f1a paths./api/v1/tools/image/find-duplicates.post.summary: sourceHash: bd6e5d3e4d26 provenance: machine outputHash: a28638c42bb8 paths./api/v1/tools/image/find-duplicates.post.description: sourceHash: 61322792b4bd provenance: machine outputHash: c2fe51f6a6c9 paths./api/v1/tools/image/qr-generate.post.summary: sourceHash: 799653bb4ee1 provenance: machine outputHash: ccd20d230115 paths./api/v1/tools/image/qr-generate.post.description: sourceHash: ad4154c7b555 provenance: machine outputHash: a660861dcb7c paths./api/v1/tools/image/html-to-image.post.summary: sourceHash: d4dcd8d52cfd provenance: machine outputHash: 8b3729b69a3a paths./api/v1/tools/image/html-to-image.post.description: sourceHash: adb3e27eb0e6 provenance: machine outputHash: ec800aa7b484 paths./api/v1/tools/image/strip-metadata/inspect.post.summary: sourceHash: 26c48e56ad62 provenance: machine outputHash: 48aa70fd467a paths./api/v1/tools/image/strip-metadata/inspect.post.description: sourceHash: a6a7d5c72088 provenance: machine outputHash: 254f71c3eb6a paths./api/v1/tools/image/edit-metadata.post.summary: sourceHash: b2e22f0aa9d8 provenance: machine outputHash: 97604b84efb4 paths./api/v1/tools/image/edit-metadata.post.description: sourceHash: 70d277ec5566 provenance: machine outputHash: 1e90d10bdc20 paths./api/v1/tools/image/edit-metadata/inspect.post.summary: sourceHash: a9b31ad7470f provenance: machine outputHash: 6cfa72be8d51 paths./api/v1/tools/image/edit-metadata/inspect.post.description: sourceHash: 71173fd89d89 provenance: machine outputHash: ea67ac6d061a paths./api/v1/tools/{section}/{toolId}/batch.post.summary: sourceHash: c48b2b0a9212 provenance: machine outputHash: 1dd9d448ece8 paths./api/v1/tools/{section}/{toolId}/batch.post.description: sourceHash: e2ddfe55094d provenance: machine outputHash: 71cf5fa0ce4b paths./api/v1/pipeline/execute.post.summary: sourceHash: 6357b47fa7a9 provenance: machine outputHash: 52be75afd358 paths./api/v1/pipeline/execute.post.description: sourceHash: ca3c9eb4acf1 provenance: machine outputHash: 614b02905c9c paths./api/v1/pipeline/save.post.summary: sourceHash: 8209ec3e0c9b provenance: machine outputHash: 347cab0978aa paths./api/v1/pipeline/save.post.description: sourceHash: a904ab4f3701 provenance: machine outputHash: 6497745fc8ef paths./api/v1/pipeline/list.get.summary: sourceHash: c8d290eff4a7 provenance: machine outputHash: 041beb47ab45 paths./api/v1/pipeline/list.get.description: sourceHash: d11170073568 provenance: machine outputHash: 86d50828854f paths./api/v1/pipeline/{id}.delete.summary: sourceHash: 0a798831c1be provenance: machine outputHash: 1d82c502b6fa paths./api/v1/pipeline/{id}.delete.description: sourceHash: e3b43bf6d73d provenance: machine outputHash: 1f7b2c19ad09 paths./api/v1/pipeline/tools.get.summary: sourceHash: 79f28e6075f7 provenance: machine outputHash: 58a067be9960 paths./api/v1/pipeline/tools.get.description: sourceHash: 6f341cc670d3 provenance: machine outputHash: 5f83e2a28665 paths./api/v1/pipeline/batch.post.summary: sourceHash: 14abb819b562 provenance: machine outputHash: 9f1fc5b5451f paths./api/v1/pipeline/batch.post.description: sourceHash: 0c7b90acb5d8 provenance: machine outputHash: 16d1ca27cdb5 paths./api/v1/upload.post.summary: sourceHash: 25d0eba68bdc provenance: machine outputHash: 9cf4af22f996 paths./api/v1/upload.post.description: sourceHash: a9e18800407e provenance: machine outputHash: 2edde35d4b60 paths./api/v1/download/{jobId}/{filename}.get.summary: sourceHash: 6246d8c07e4b provenance: machine outputHash: 4462ce0f3585 paths./api/v1/download/{jobId}/{filename}.get.description: sourceHash: a09d603b069c provenance: machine outputHash: bcb512ed7314 paths./api/v1/preview.post.summary: sourceHash: 8266fbd3ff72 provenance: machine outputHash: 73b69c1cbe63 paths./api/v1/preview.post.description: sourceHash: d5e04d49c594 provenance: machine outputHash: 7838b336f290 paths./api/v1/files.get.summary: sourceHash: aefb51ff8aaa provenance: machine outputHash: d6a15bf82950 paths./api/v1/files.get.description: sourceHash: 45f45ad625ed provenance: machine outputHash: aa57c69afdab paths./api/v1/files.delete.summary: sourceHash: 179bb72a6deb provenance: machine outputHash: 741ae5ab08c1 paths./api/v1/files.delete.description: sourceHash: 1bfaa5c376bb provenance: machine outputHash: db8e5f290798 paths./api/v1/files/upload.post.summary: sourceHash: b94c597782ee provenance: machine outputHash: '733067327173' paths./api/v1/files/upload.post.description: sourceHash: 8a070581c1e5 provenance: machine outputHash: 1f884bc8dcf2 paths./api/v1/files/save-result.post.summary: sourceHash: c35e320d9164 provenance: machine outputHash: 2e33fe402fff paths./api/v1/files/save-result.post.description: sourceHash: 3c434713031e provenance: machine outputHash: 9339a8918e7e paths./api/v1/files/{id}.get.summary: sourceHash: a09c1fb7e33a provenance: machine outputHash: 4edf99b7c794 paths./api/v1/files/{id}.get.description: sourceHash: 8193066e23c5 provenance: machine outputHash: 1d30cba4d1eb paths./api/v1/files/{id}/download.get.summary: sourceHash: c0043bd46394 provenance: machine outputHash: 7b284debf93a paths./api/v1/files/{id}/download.get.description: sourceHash: 96df2a599e22 provenance: machine outputHash: 7aa67e734d9a paths./api/v1/files/{id}/thumbnail.get.summary: sourceHash: 07714ad0c5f8 provenance: machine outputHash: 5d7c42ffa3ee paths./api/v1/files/{id}/thumbnail.get.description: sourceHash: 9b04bbf75cba provenance: machine outputHash: 437ac82a24c5 paths./api/v1/fetch-urls.post.summary: sourceHash: a00341e59161 provenance: machine outputHash: cfa51782b8fd paths./api/v1/fetch-urls.post.description: sourceHash: ac474639261c provenance: machine outputHash: 5457e8f09c74 paths./api/v1/config/locale.get.summary: sourceHash: 78de2255222d provenance: machine outputHash: e4da58d804d3 paths./api/v1/config/locale.get.description: sourceHash: b9967e400d09 provenance: machine outputHash: 9da985970506 paths./api/auth/login.post.summary: sourceHash: c189840cf7e2 provenance: machine outputHash: 6d19e795e22a paths./api/auth/login.post.description: sourceHash: 91ad9a828bf3 provenance: machine outputHash: 8a0ee3c702d7 paths./api/auth/logout.post.summary: sourceHash: 49616145514e provenance: machine outputHash: 119f6cee8ede paths./api/auth/logout.post.description: sourceHash: 0b9ae300808d provenance: machine outputHash: b5bba72ce730 paths./api/auth/session.get.summary: sourceHash: f4f7376ca1ea provenance: machine outputHash: 145ff14781d3 paths./api/auth/session.get.description: sourceHash: 2dad822c46ea provenance: machine outputHash: 8fdfd981a6bd paths./api/auth/change-password.post.summary: sourceHash: 3f9c991f63a9 provenance: machine outputHash: 86961805986c paths./api/auth/change-password.post.description: sourceHash: 5190db8a04e7 provenance: machine outputHash: 7ab55c1fc4da paths./api/auth/users.get.summary: sourceHash: '9029730603e0' provenance: machine outputHash: 83db7d55ae82 paths./api/auth/users.get.description: sourceHash: 34d5a11733bd provenance: machine outputHash: ca30c0150768 paths./api/auth/register.post.summary: sourceHash: f06da128c342 provenance: machine outputHash: ee4fc9fef8a4 paths./api/auth/users/{id}.put.summary: sourceHash: 602b8b1607b0 provenance: machine outputHash: a80d88e0b5d2 paths./api/auth/users/{id}.delete.summary: sourceHash: 58363fd94240 provenance: machine outputHash: 83e2cc37a32d paths./api/auth/users/{id}/reset-password.post.summary: sourceHash: aae899c2d3ad provenance: machine outputHash: b42e554ee28d paths./api/v1/api-keys.get.summary: sourceHash: ad0527749f03 provenance: machine outputHash: 3c2e0abf4f77 paths./api/v1/api-keys.get.description: sourceHash: 470cee6220f0 provenance: machine outputHash: 393fdffd1a7c paths./api/v1/api-keys.post.summary: sourceHash: eb136082215a provenance: machine outputHash: eb6dc930f22e paths./api/v1/api-keys.post.description: sourceHash: 7568aec4ab9b provenance: machine outputHash: 6baddb6dc532 paths./api/v1/api-keys/{id}.delete.summary: sourceHash: 9ebde15b7f02 provenance: machine outputHash: 7f65d798521b paths./api/v1/api-keys/{id}.delete.description: sourceHash: 46a57dbc68a5 provenance: machine outputHash: f9680e957534 paths./api/v1/settings.get.summary: sourceHash: 8530e17de153 provenance: machine outputHash: c6fdce15d344 paths./api/v1/settings.get.description: sourceHash: 57a4d7da3780 provenance: human outputHash: 970c5299cc14 paths./api/v1/settings.put.summary: sourceHash: 46ed69579c39 provenance: machine outputHash: 072888ed4abc paths./api/v1/settings.put.description: sourceHash: 0ad5adfe3216 provenance: human outputHash: aab6513a2028 paths./api/v1/settings/{key}.get.summary: sourceHash: 186add054525 provenance: machine outputHash: 4dde6655440e paths./api/v1/settings/{key}.get.description: sourceHash: ffbf8af128f0 provenance: human outputHash: b6fec86f5f9e paths./api/v1/teams.get.summary: sourceHash: 863546c57b78 provenance: machine outputHash: 40ff24b770d1 paths./api/v1/teams.get.description: sourceHash: 88ce5170c6ed provenance: machine outputHash: 1031650c67de paths./api/v1/teams.post.summary: sourceHash: 00766ad4b096 provenance: machine outputHash: 3ec3e0ef4035 paths./api/v1/teams.post.description: sourceHash: 88ce5170c6ed provenance: machine outputHash: 1031650c67de paths./api/v1/teams/{id}.put.summary: sourceHash: c5dd33827a5b provenance: machine outputHash: 66ac0c31460d paths./api/v1/teams/{id}.put.description: sourceHash: 88ce5170c6ed provenance: machine outputHash: 1031650c67de paths./api/v1/teams/{id}.delete.summary: sourceHash: b51488367ba6 provenance: machine outputHash: e00bc25760fe paths./api/v1/teams/{id}.delete.description: sourceHash: 88ce5170c6ed provenance: machine outputHash: 1031650c67de paths./api/v1/config/auth.get.summary: sourceHash: 13189298880a provenance: machine outputHash: 13189298880a paths./api/v1/config/auth.get.description: sourceHash: 404909083a24 provenance: machine outputHash: de8bf378259a paths./api/v1/jobs/{jobId}/progress.get.summary: sourceHash: bcf19846aa43 provenance: machine outputHash: 01ebf40a4868 paths./api/v1/jobs/{jobId}/progress.get.description: sourceHash: 2df913c75d85 provenance: human outputHash: 4fb6dcbff064 paths./api/v1/admin/health.get.summary: sourceHash: 92f8575c9c94 provenance: machine outputHash: ee07af770058 paths./api/v1/admin/health.get.description: sourceHash: 4abbba893ea4 provenance: machine outputHash: 6d54837ec00c paths./api/v1/config/analytics.get.summary: sourceHash: b7fdcf112830 provenance: machine outputHash: 31eed73fca2e paths./api/v1/config/analytics.get.description: sourceHash: 2447c239373f provenance: machine outputHash: ffd67c0825da paths./api/v1/features.get.summary: sourceHash: e45ee3163f96 provenance: machine outputHash: 68dec6bce163 paths./api/v1/features.get.description: sourceHash: aa0b433ca9a9 provenance: machine outputHash: 0f91db19ca62 paths./api/v1/admin/features/{bundleId}/install.post.summary: sourceHash: bebc6f7ea7c3 provenance: machine outputHash: d68ee36d3af2 paths./api/v1/admin/features/{bundleId}/install.post.description: sourceHash: 6051af19be7e provenance: machine outputHash: 95d79a5eff08 paths./api/v1/admin/features/{bundleId}/uninstall.post.summary: sourceHash: 160eaf179d4f provenance: machine outputHash: 390d1d713f51 paths./api/v1/admin/features/{bundleId}/uninstall.post.description: sourceHash: 35bdb459a1a7 provenance: machine outputHash: 4b64d0d0ad2c paths./api/v1/admin/features/disk-usage.get.summary: sourceHash: 54dc8991b9a7 provenance: machine outputHash: 8604fc575f75 paths./api/v1/admin/features/disk-usage.get.description: sourceHash: a78fac026ea3 provenance: machine outputHash: d3b2fd722d81 paths./api/v1/audit-log.get.summary: sourceHash: 05536545727c provenance: machine outputHash: 5190b46de074 paths./api/v1/audit-log.get.description: sourceHash: b7950dcf7e49 provenance: machine outputHash: 4dbe977755fd paths./api/v1/roles.get.summary: sourceHash: 833a75e86b93 provenance: machine outputHash: 473042f065ff paths./api/v1/roles.get.description: sourceHash: 9ccdec8630d3 provenance: machine outputHash: 246b89bd155d paths./api/v1/roles.post.summary: sourceHash: 6dd06b2529d4 provenance: machine outputHash: 20b639a2c3dc paths./api/v1/roles/{id}.put.summary: sourceHash: 6c0cda1bc967 provenance: machine outputHash: f823846ad3b6 paths./api/v1/roles/{id}.delete.summary: sourceHash: d5a3ab01055a provenance: machine outputHash: f038a74fc497 paths./api/v1/tools/video/convert-video.post.summary: sourceHash: b4defe1d6906 provenance: machine outputHash: b4defe1d6906 paths./api/v1/tools/video/convert-video.post.description: sourceHash: 00ab19fbffe4 provenance: machine outputHash: 22b984df61fe paths./api/v1/tools/video/compress-video.post.summary: sourceHash: 8af3d4b27a4b provenance: machine outputHash: 8af3d4b27a4b paths./api/v1/tools/video/compress-video.post.description: sourceHash: 7f517e885483 provenance: machine outputHash: fb45417f85b6 paths./api/v1/tools/video/trim-video.post.summary: sourceHash: af6ed946e090 provenance: machine outputHash: af6ed946e090 paths./api/v1/tools/video/trim-video.post.description: sourceHash: c01dd24a19dd provenance: machine outputHash: 34ddcacb44d3 paths./api/v1/tools/video/mute-video.post.summary: sourceHash: 48ed61cb4802 provenance: machine outputHash: 48ed61cb4802 paths./api/v1/tools/video/mute-video.post.description: sourceHash: 76898fc22f53 provenance: machine outputHash: 312a673406dd paths./api/v1/tools/video/video-to-gif.post.summary: sourceHash: 4abd5ab74c35 provenance: machine outputHash: 4abd5ab74c35 paths./api/v1/tools/video/video-to-gif.post.description: sourceHash: d2d195459149 provenance: machine outputHash: 5309e806f6ed paths./api/v1/tools/video/resize-video.post.summary: sourceHash: 99fde7cc129d provenance: machine outputHash: 99fde7cc129d paths./api/v1/tools/video/resize-video.post.description: sourceHash: ffe090ccf55b provenance: machine outputHash: c5573c3680a7 paths./api/v1/tools/video/crop-video.post.summary: sourceHash: f042b21b17c0 provenance: machine outputHash: f042b21b17c0 paths./api/v1/tools/video/crop-video.post.description: sourceHash: a70528f0d600 provenance: machine outputHash: 4339a8dbaf4d paths./api/v1/tools/video/rotate-video.post.summary: sourceHash: a1d5d2488fd5 provenance: machine outputHash: a1d5d2488fd5 paths./api/v1/tools/video/rotate-video.post.description: sourceHash: 0858085b737b provenance: machine outputHash: 479720c92aaa paths./api/v1/tools/video/change-fps.post.summary: sourceHash: bc48dbea9413 provenance: machine outputHash: bc48dbea9413 paths./api/v1/tools/video/change-fps.post.description: sourceHash: 20c9ae3f7c23 provenance: machine outputHash: 329bbd56b2e2 paths./api/v1/tools/video/video-color.post.summary: sourceHash: 6005cc99c426 provenance: machine outputHash: 6005cc99c426 paths./api/v1/tools/video/video-color.post.description: sourceHash: f8ce7dae4f04 provenance: machine outputHash: d1383ec8bea8 paths./api/v1/tools/video/video-speed.post.summary: sourceHash: 4439901f7d61 provenance: machine outputHash: 4439901f7d61 paths./api/v1/tools/video/video-speed.post.description: sourceHash: 7a4b64e60829 provenance: machine outputHash: 957893db8485 paths./api/v1/tools/video/reverse-video.post.summary: sourceHash: 4f0d7b5ea9ae provenance: machine outputHash: 4f0d7b5ea9ae paths./api/v1/tools/video/reverse-video.post.description: sourceHash: 77abcb48d823 provenance: machine outputHash: 72ccf1d6d787 paths./api/v1/tools/video/video-loudnorm.post.summary: sourceHash: e502f3536632 provenance: machine outputHash: 33c8d84d4122 paths./api/v1/tools/video/video-loudnorm.post.description: sourceHash: 019f6147f722 provenance: machine outputHash: baaf441e5364 paths./api/v1/tools/video/aspect-pad.post.summary: sourceHash: aa7c02eeacf1 provenance: machine outputHash: aa7c02eeacf1 paths./api/v1/tools/video/aspect-pad.post.description: sourceHash: 288b33cc62de provenance: machine outputHash: f6172fa75baf paths./api/v1/tools/video/blur-pad.post.summary: sourceHash: 84af9c217d52 provenance: machine outputHash: 84af9c217d52 paths./api/v1/tools/video/blur-pad.post.description: sourceHash: d49a3fab5e02 provenance: machine outputHash: 21b22c2c090f paths./api/v1/tools/video/watermark-video.post.summary: sourceHash: bbbe197c46c5 provenance: machine outputHash: bbbe197c46c5 paths./api/v1/tools/video/watermark-video.post.description: sourceHash: d914078985d7 provenance: machine outputHash: 3602c71cf05a paths./api/v1/tools/video/stabilize-video.post.summary: sourceHash: f76615a74aac provenance: machine outputHash: f76615a74aac paths./api/v1/tools/video/stabilize-video.post.description: sourceHash: 42e5e8a954ae provenance: machine outputHash: 60ac855cf2ad paths./api/v1/tools/video/gif-to-video.post.summary: sourceHash: 766d5d54badb provenance: machine outputHash: 766d5d54badb paths./api/v1/tools/video/gif-to-video.post.description: sourceHash: 22a13cbfe672 provenance: machine outputHash: f0f11afe9fe0 paths./api/v1/tools/video/video-to-webp.post.summary: sourceHash: 0c4028ecac61 provenance: machine outputHash: 0c4028ecac61 paths./api/v1/tools/video/video-to-webp.post.description: sourceHash: 48fa0306cbe8 provenance: machine outputHash: 4152e2cc5aca paths./api/v1/tools/video/video-to-frames.post.summary: sourceHash: 8941a5926866 provenance: machine outputHash: 8941a5926866 paths./api/v1/tools/video/video-to-frames.post.description: sourceHash: 907e19fcf6a2 provenance: machine outputHash: fbcb3799bdd2 paths./api/v1/tools/video/merge-videos.post.summary: sourceHash: afbd2e62e1dd provenance: machine outputHash: afbd2e62e1dd paths./api/v1/tools/video/merge-videos.post.description: sourceHash: 30e77c05314f provenance: machine outputHash: 7c33a6df8fb2 paths./api/v1/tools/video/replace-audio.post.summary: sourceHash: 0cd096774105 provenance: machine outputHash: 0cd096774105 paths./api/v1/tools/video/replace-audio.post.description: sourceHash: f9aef92c2ad2 provenance: machine outputHash: 1b091fb4900d paths./api/v1/tools/video/burn-subtitles.post.summary: sourceHash: 53e23068613b provenance: machine outputHash: 53e23068613b paths./api/v1/tools/video/burn-subtitles.post.description: sourceHash: a501f3253970 provenance: machine outputHash: 16865fc19aac paths./api/v1/tools/video/embed-subtitles.post.summary: sourceHash: 55a0c6104e9e provenance: machine outputHash: 55a0c6104e9e paths./api/v1/tools/video/embed-subtitles.post.description: sourceHash: 9ed219a50b61 provenance: machine outputHash: 865ff6389a7b paths./api/v1/tools/video/extract-subtitles.post.summary: sourceHash: 0ae3dd9f7012 provenance: machine outputHash: 0ae3dd9f7012 paths./api/v1/tools/video/extract-subtitles.post.description: sourceHash: 4daf70632777 provenance: machine outputHash: 7616ade2b457 paths./api/v1/tools/video/images-to-video.post.summary: sourceHash: feb4b6d19902 provenance: machine outputHash: feb4b6d19902 paths./api/v1/tools/video/images-to-video.post.description: sourceHash: c7ec30bbfec8 provenance: machine outputHash: 26f5c4730a52 paths./api/v1/tools/video/video-metadata.post.summary: sourceHash: f2902a6112ff provenance: machine outputHash: f2902a6112ff paths./api/v1/tools/video/video-metadata.post.description: sourceHash: 25b0eb0d1f64 provenance: machine outputHash: 18b0334db05f paths./api/v1/tools/video/auto-subtitles.post.summary: sourceHash: 61b5c42d8cd0 provenance: machine outputHash: 61b5c42d8cd0 paths./api/v1/tools/video/auto-subtitles.post.description: sourceHash: fe628b19b3dc provenance: machine outputHash: 772e6d6c7434 paths./api/v1/tools/video/extract-audio.post.summary: sourceHash: ad7f2c51f215 provenance: machine outputHash: ad7f2c51f215 paths./api/v1/tools/video/extract-audio.post.description: sourceHash: 97425b1da99f provenance: machine outputHash: 183a1198e213 paths./api/v1/tools/audio/convert-audio.post.summary: sourceHash: 295e4a5939e1 provenance: machine outputHash: 295e4a5939e1 paths./api/v1/tools/audio/convert-audio.post.description: sourceHash: db7c32326757 provenance: machine outputHash: 797539eb5fc5 paths./api/v1/tools/audio/trim-audio.post.summary: sourceHash: 6fdc83d79136 provenance: machine outputHash: 6fdc83d79136 paths./api/v1/tools/audio/trim-audio.post.description: sourceHash: 1150da04e398 provenance: machine outputHash: a87649c1ff4c paths./api/v1/tools/audio/volume-adjust.post.summary: sourceHash: 04257764f127 provenance: machine outputHash: e641de4d3102 paths./api/v1/tools/audio/volume-adjust.post.description: sourceHash: 18308a469600 provenance: machine outputHash: 3725fba4ee1a paths./api/v1/tools/audio/normalize-audio.post.summary: sourceHash: f5298327c322 provenance: machine outputHash: f5298327c322 paths./api/v1/tools/audio/normalize-audio.post.description: sourceHash: d9993db45ccb provenance: machine outputHash: b6e9465cb731 paths./api/v1/tools/audio/fade-audio.post.summary: sourceHash: fc7e035a63d5 provenance: machine outputHash: fc7e035a63d5 paths./api/v1/tools/audio/fade-audio.post.description: sourceHash: a85ba1a120e5 provenance: machine outputHash: 684833613c30 paths./api/v1/tools/audio/reverse-audio.post.summary: sourceHash: b2eddae3a717 provenance: machine outputHash: b2eddae3a717 paths./api/v1/tools/audio/reverse-audio.post.description: sourceHash: 218f9b33f5eb provenance: machine outputHash: 59a06fa5ba97 paths./api/v1/tools/audio/audio-speed.post.summary: sourceHash: aee2a47692bd provenance: machine outputHash: aee2a47692bd paths./api/v1/tools/audio/audio-speed.post.description: sourceHash: 51fe7745adbd provenance: machine outputHash: 2830bf1dad87 paths./api/v1/tools/audio/pitch-shift.post.summary: sourceHash: b26d4482b076 provenance: machine outputHash: b26d4482b076 paths./api/v1/tools/audio/pitch-shift.post.description: sourceHash: 04cf48eca03e provenance: machine outputHash: 80469464a1bd paths./api/v1/tools/audio/audio-channels.post.summary: sourceHash: 409c74651939 provenance: machine outputHash: 409c74651939 paths./api/v1/tools/audio/audio-channels.post.description: sourceHash: 0974271a6730 provenance: machine outputHash: 5ba3c3c917ef paths./api/v1/tools/audio/silence-removal.post.summary: sourceHash: dc27812cd572 provenance: machine outputHash: dc27812cd572 paths./api/v1/tools/audio/silence-removal.post.description: sourceHash: 29d4e890a62d provenance: machine outputHash: 8879fed98cc4 paths./api/v1/tools/audio/noise-reduction.post.summary: sourceHash: 0bcf30a006cb provenance: machine outputHash: 0bcf30a006cb paths./api/v1/tools/audio/noise-reduction.post.description: sourceHash: 032c91b97641 provenance: machine outputHash: f0c15668d53f paths./api/v1/tools/audio/merge-audio.post.summary: sourceHash: 780965910dff provenance: machine outputHash: 780965910dff paths./api/v1/tools/audio/merge-audio.post.description: sourceHash: 1397edf49056 provenance: machine outputHash: 6ffa953cb5e4 paths./api/v1/tools/audio/split-audio.post.summary: sourceHash: e59c513c0ba2 provenance: machine outputHash: e59c513c0ba2 paths./api/v1/tools/audio/split-audio.post.description: sourceHash: 763e0458c032 provenance: machine outputHash: a28c6b7b369a paths./api/v1/tools/audio/ringtone-maker.post.summary: sourceHash: f0e142322ff9 provenance: machine outputHash: f0e142322ff9 paths./api/v1/tools/audio/ringtone-maker.post.description: sourceHash: c301dcbbedc1 provenance: machine outputHash: 9d3ea345e501 paths./api/v1/tools/audio/waveform-image.post.summary: sourceHash: 0e373ca45197 provenance: machine outputHash: 0e373ca45197 paths./api/v1/tools/audio/waveform-image.post.description: sourceHash: 70f63b279b5d provenance: machine outputHash: f19de4964d6c paths./api/v1/tools/audio/audio-metadata.post.summary: sourceHash: 55d1a5a0e65d provenance: machine outputHash: 55d1a5a0e65d paths./api/v1/tools/audio/audio-metadata.post.description: sourceHash: 5c799135421c provenance: machine outputHash: d73fd6083be4 paths./api/v1/tools/audio/transcribe-audio.post.summary: sourceHash: a723c84c3ab0 provenance: machine outputHash: a723c84c3ab0 paths./api/v1/tools/audio/transcribe-audio.post.description: sourceHash: 2967ad141d14 provenance: machine outputHash: 0be12b6be19d paths./api/v1/tools/pdf/merge-pdf.post.summary: sourceHash: 43d1539b7596 provenance: machine outputHash: 43d1539b7596 paths./api/v1/tools/pdf/merge-pdf.post.description: sourceHash: 728388cddb8a provenance: machine outputHash: 75bdefcbccaf paths./api/v1/tools/pdf/split-pdf.post.summary: sourceHash: 4f1b846cb144 provenance: machine outputHash: 4f1b846cb144 paths./api/v1/tools/pdf/split-pdf.post.description: sourceHash: fbe9d9c35006 provenance: machine outputHash: 9ce14f22112e paths./api/v1/tools/pdf/compress-pdf.post.summary: sourceHash: 932c3c48a4de provenance: machine outputHash: 932c3c48a4de paths./api/v1/tools/pdf/compress-pdf.post.description: sourceHash: 89f23fb6b3c8 provenance: machine outputHash: 9dab1f5d541a paths./api/v1/tools/pdf/rotate-pdf.post.summary: sourceHash: 1eccabbce838 provenance: machine outputHash: 1eccabbce838 paths./api/v1/tools/pdf/rotate-pdf.post.description: sourceHash: 7c561cc7ed48 provenance: machine outputHash: 418e61b49f39 paths./api/v1/tools/pdf/extract-pages.post.summary: sourceHash: 0247b9f3e6cf provenance: machine outputHash: 4ac4d71783c9 paths./api/v1/tools/pdf/extract-pages.post.description: sourceHash: c07eea0c017f provenance: machine outputHash: 6c135a4743a0 paths./api/v1/tools/pdf/remove-pages.post.summary: sourceHash: 670a5909f883 provenance: machine outputHash: b55d3f3001e4 paths./api/v1/tools/pdf/remove-pages.post.description: sourceHash: 6231b16e7bea provenance: machine outputHash: 0cfd17a396b4 paths./api/v1/tools/pdf/organize-pdf.post.summary: sourceHash: d5a641ebd93a provenance: machine outputHash: d5a641ebd93a paths./api/v1/tools/pdf/organize-pdf.post.description: sourceHash: ac32f48665e7 provenance: machine outputHash: 3d316fd1c7e6 paths./api/v1/tools/pdf/protect-pdf.post.summary: sourceHash: dae6c607e963 provenance: machine outputHash: dae6c607e963 paths./api/v1/tools/pdf/protect-pdf.post.description: sourceHash: 600a3be47970 provenance: machine outputHash: 8a509ed5594f paths./api/v1/tools/pdf/unlock-pdf.post.summary: sourceHash: 893947d82ded provenance: machine outputHash: 893947d82ded paths./api/v1/tools/pdf/unlock-pdf.post.description: sourceHash: 1d199055f386 provenance: machine outputHash: f5fb34a02e44 paths./api/v1/tools/pdf/repair-pdf.post.summary: sourceHash: 43faa052d4cf provenance: machine outputHash: 43faa052d4cf paths./api/v1/tools/pdf/repair-pdf.post.description: sourceHash: 77f71d364df4 provenance: machine outputHash: 3f7f942761cd paths./api/v1/tools/pdf/linearize-pdf.post.summary: sourceHash: 75fa522e3fe3 provenance: machine outputHash: 75fa522e3fe3 paths./api/v1/tools/pdf/linearize-pdf.post.description: sourceHash: 200f45aa4a91 provenance: machine outputHash: f0ad570e59f3 paths./api/v1/tools/pdf/grayscale-pdf.post.summary: sourceHash: 58b0007c3425 provenance: machine outputHash: 58b0007c3425 paths./api/v1/tools/pdf/grayscale-pdf.post.description: sourceHash: 7b7e2b4857e6 provenance: machine outputHash: 7e0ba9bca4d1 paths./api/v1/tools/pdf/pdfa-convert.post.summary: sourceHash: 9971b16fe624 provenance: machine outputHash: 63501b30d118 paths./api/v1/tools/pdf/pdfa-convert.post.description: sourceHash: 3c8ad47aa904 provenance: machine outputHash: 1f101f90f59e paths./api/v1/tools/pdf/crop-pdf.post.summary: sourceHash: dc4bdbce825f provenance: machine outputHash: dc4bdbce825f paths./api/v1/tools/pdf/crop-pdf.post.description: sourceHash: 94eb9575aecc provenance: machine outputHash: 71df7859b9ab paths./api/v1/tools/pdf/nup-pdf.post.summary: sourceHash: dac1b895452a provenance: machine outputHash: 9194761c0b12 paths./api/v1/tools/pdf/nup-pdf.post.description: sourceHash: 5e2a264dafb0 provenance: machine outputHash: 2ad05c051bd8 paths./api/v1/tools/pdf/booklet-pdf.post.summary: sourceHash: a1fdff0bc065 provenance: machine outputHash: a1fdff0bc065 paths./api/v1/tools/pdf/booklet-pdf.post.description: sourceHash: 0ce5f88843c3 provenance: machine outputHash: 00ea762774d4 paths./api/v1/tools/pdf/watermark-pdf.post.summary: sourceHash: 903ce98c712a provenance: machine outputHash: 903ce98c712a paths./api/v1/tools/pdf/watermark-pdf.post.description: sourceHash: c15a57a06624 provenance: machine outputHash: 1d15e5d6d476 paths./api/v1/tools/pdf/pdf-page-numbers.post.summary: sourceHash: 44eb045097be provenance: machine outputHash: d8398f59cf9a paths./api/v1/tools/pdf/pdf-page-numbers.post.description: sourceHash: 30ce839cac96 provenance: machine outputHash: 202d351a46e3 paths./api/v1/tools/files/convert-document.post.summary: sourceHash: 51556213858a provenance: machine outputHash: 4a537b56ed10 paths./api/v1/tools/files/convert-document.post.description: sourceHash: 8a61bf0f3459 provenance: machine outputHash: d7e396c618a3 paths./api/v1/tools/files/convert-presentation.post.summary: sourceHash: 5e2293e30835 provenance: machine outputHash: dcebe7a82319 paths./api/v1/tools/files/convert-presentation.post.description: sourceHash: c24f1d70d630 provenance: machine outputHash: c3e5d1cf294a paths./api/v1/tools/files/convert-spreadsheet.post.summary: sourceHash: 670b7aa81c49 provenance: machine outputHash: 1b8cb850d3a3 paths./api/v1/tools/files/convert-spreadsheet.post.description: sourceHash: 1c254c7db8bc provenance: machine outputHash: ffa657cf86d2 paths./api/v1/tools/files/excel-to-pdf.post.summary: sourceHash: edba3432df77 provenance: machine outputHash: edba3432df77 paths./api/v1/tools/files/excel-to-pdf.post.description: sourceHash: c2e4aaa88cb7 provenance: machine outputHash: 824daa699c0e paths./api/v1/tools/files/word-to-pdf.post.summary: sourceHash: e6cb1150e762 provenance: machine outputHash: e6cb1150e762 paths./api/v1/tools/files/word-to-pdf.post.description: sourceHash: eca3c027bc10 provenance: machine outputHash: cc0b0594c03d paths./api/v1/tools/files/powerpoint-to-pdf.post.summary: sourceHash: 799dd29fe97a provenance: machine outputHash: 799dd29fe97a paths./api/v1/tools/files/powerpoint-to-pdf.post.description: sourceHash: cdc18f172040 provenance: machine outputHash: 660f6d8a7d8d paths./api/v1/tools/files/html-to-pdf.post.summary: sourceHash: e03b0e6dda95 provenance: machine outputHash: e03b0e6dda95 paths./api/v1/tools/files/html-to-pdf.post.description: sourceHash: e189b21c7bed provenance: machine outputHash: 6746fa26f508 paths./api/v1/tools/files/markdown-to-docx.post.summary: sourceHash: 1162393274fa provenance: machine outputHash: 1162393274fa paths./api/v1/tools/files/markdown-to-docx.post.description: sourceHash: 2bc0fd718613 provenance: machine outputHash: faa9ff898c5c paths./api/v1/tools/files/markdown-to-html.post.summary: sourceHash: e5e6e736b649 provenance: machine outputHash: e5e6e736b649 paths./api/v1/tools/files/markdown-to-html.post.description: sourceHash: 4f6f706c371e provenance: machine outputHash: e24c42e7266d paths./api/v1/tools/files/markdown-to-pdf.post.summary: sourceHash: 82712b1fc2b5 provenance: machine outputHash: 82712b1fc2b5 paths./api/v1/tools/files/markdown-to-pdf.post.description: sourceHash: f588e3d2847d provenance: machine outputHash: 93ef3e0f5aad paths./api/v1/tools/files/epub-convert.post.summary: sourceHash: dcee1b93b5d5 provenance: machine outputHash: 7028f672c8a1 paths./api/v1/tools/files/epub-convert.post.description: sourceHash: 5a42072194d3 provenance: machine outputHash: 46127ec9ecd5 paths./api/v1/tools/files/to-epub.post.summary: sourceHash: 542d3fb468be provenance: machine outputHash: 542d3fb468be paths./api/v1/tools/files/to-epub.post.description: sourceHash: 1e0b8c39ef9d provenance: machine outputHash: b1c4d3d21187 paths./api/v1/tools/pdf/flatten-pdf.post.summary: sourceHash: 86c838d2d497 provenance: machine outputHash: 86c838d2d497 paths./api/v1/tools/pdf/flatten-pdf.post.description: sourceHash: cb0b0bdeaaa5 provenance: machine outputHash: 475adbe9c138 paths./api/v1/tools/pdf/redact-pdf.post.summary: sourceHash: 1437d196213c provenance: machine outputHash: 1437d196213c paths./api/v1/tools/pdf/redact-pdf.post.description: sourceHash: c2652c3da04a provenance: machine outputHash: 4e3663d0bc8c paths./api/v1/tools/pdf/pdf-to-text.post.summary: sourceHash: f1a719f99a31 provenance: machine outputHash: f1a719f99a31 paths./api/v1/tools/pdf/pdf-to-text.post.description: sourceHash: f107a4082454 provenance: machine outputHash: 587949def02f paths./api/v1/tools/pdf/pdf-to-word.post.summary: sourceHash: 283553b063ad provenance: machine outputHash: 283553b063ad paths./api/v1/tools/pdf/pdf-to-word.post.description: sourceHash: 324b6f3d35f7 provenance: machine outputHash: 138c0f3d8534 paths./api/v1/tools/pdf/pdf-metadata.post.summary: sourceHash: 7aa0fbdbeac6 provenance: machine outputHash: 7aa0fbdbeac6 paths./api/v1/tools/pdf/pdf-metadata.post.description: sourceHash: 4267623afc19 provenance: machine outputHash: 4fd41af18da2 paths./api/v1/tools/pdf/ocr-pdf.post.summary: sourceHash: 2d9dfe74b2d1 provenance: machine outputHash: 2d9dfe74b2d1 paths./api/v1/tools/pdf/ocr-pdf.post.description: sourceHash: fbed951c39df provenance: machine outputHash: b79f6864833b paths./api/v1/tools/files/chart-maker.post.summary: sourceHash: dbcca76ccbf5 provenance: machine outputHash: dbcca76ccbf5 paths./api/v1/tools/files/chart-maker.post.description: sourceHash: e4adb80dab58 provenance: machine outputHash: a9b33fbfc46b paths./api/v1/tools/files/csv-excel.post.summary: sourceHash: c53386a6d40d provenance: machine outputHash: c53386a6d40d paths./api/v1/tools/files/csv-excel.post.description: sourceHash: b567a5eb0ee5 provenance: machine outputHash: 6eecef287a60 paths./api/v1/tools/files/csv-json.post.summary: sourceHash: 3ed0542f5ca4 provenance: machine outputHash: 3ed0542f5ca4 paths./api/v1/tools/files/csv-json.post.description: sourceHash: 6ed58f7ca5ac provenance: machine outputHash: 0235cf8a417a paths./api/v1/tools/files/json-xml.post.summary: sourceHash: 0e374572749d provenance: machine outputHash: 0e374572749d paths./api/v1/tools/files/json-xml.post.description: sourceHash: bbb56d23a274 provenance: machine outputHash: 9573e407e018 paths./api/v1/tools/files/split-csv.post.summary: sourceHash: 06c1cfb6cb2c provenance: machine outputHash: 06c1cfb6cb2c paths./api/v1/tools/files/split-csv.post.description: sourceHash: 1181658ae239 provenance: machine outputHash: be207b1a4934 paths./api/v1/tools/files/merge-csvs.post.summary: sourceHash: 0042c1153e55 provenance: machine outputHash: 0042c1153e55 paths./api/v1/tools/files/merge-csvs.post.description: sourceHash: 4956c801900a provenance: machine outputHash: a0a4694c0a59 paths./api/v1/tools/files/yaml-json.post.summary: sourceHash: cd3e06c3d51d provenance: machine outputHash: e9c43158e301 paths./api/v1/tools/files/yaml-json.post.description: sourceHash: a7fa089ac00a provenance: machine outputHash: dde25b6d0d6e paths./api/v1/tools/files/xml-to-csv.post.summary: sourceHash: 909195e97a63 provenance: machine outputHash: 909195e97a63 paths./api/v1/tools/files/xml-to-csv.post.description: sourceHash: 156ea77c8a62 provenance: machine outputHash: 4ba5623dc465 paths./api/v1/tools/files/create-zip.post.summary: sourceHash: 8463eb4799ce provenance: machine outputHash: 8463eb4799ce paths./api/v1/tools/files/create-zip.post.description: sourceHash: 26c97508b498 provenance: machine outputHash: e86df41a061c paths./api/v1/tools/files/extract-zip.post.summary: sourceHash: aa7dad519142 provenance: machine outputHash: aa7dad519142 paths./api/v1/tools/files/extract-zip.post.description: sourceHash: 5b025b124d8b provenance: machine outputHash: 179ddb094aa6 paths./api/v1/tools/image/background-replace.post.summary: sourceHash: 971cacdad5ce provenance: machine outputHash: 835fd208797b paths./api/v1/tools/image/background-replace.post.description: sourceHash: 5f7a0c0dbbc7 provenance: machine outputHash: e406263561ea paths./api/v1/tools/image/blur-background.post.summary: sourceHash: 2383b0d9c928 provenance: machine outputHash: 2d9de267a355 paths./api/v1/tools/image/blur-background.post.description: sourceHash: f3afcae74767 provenance: machine outputHash: f2996b175688 paths./api/v1/tools/image/barcode-generate.post.summary: sourceHash: 4717ee594681 provenance: machine outputHash: e4f46131efad paths./api/v1/tools/image/barcode-generate.post.description: sourceHash: e174f8923d5d provenance: machine outputHash: caf1f1951165 paths./api/v1/tools/image/circle-crop.post.summary: sourceHash: d76473270976 provenance: machine outputHash: b60bb5df3084 paths./api/v1/tools/image/circle-crop.post.description: sourceHash: 3e4d4819d594 provenance: machine outputHash: a8e10ae2bc9c paths./api/v1/tools/image/duotone.post.summary: sourceHash: 27e78e7e8cca provenance: machine outputHash: 27e78e7e8cca paths./api/v1/tools/image/duotone.post.description: sourceHash: f3d5b592526a provenance: machine outputHash: fbcbf4c793a6 paths./api/v1/tools/image/image-pad.post.summary: sourceHash: 7cbc7ca5de5b provenance: machine outputHash: 91eae0c26728 paths./api/v1/tools/image/image-pad.post.description: sourceHash: f222b64a52bc provenance: machine outputHash: 54966e0eec2d paths./api/v1/tools/image/pixelate.post.summary: sourceHash: f4982f86e732 provenance: machine outputHash: f4982f86e732 paths./api/v1/tools/image/pixelate.post.description: sourceHash: c47f345410f8 provenance: machine outputHash: 766dab29bb4e paths./api/v1/tools/image/vignette.post.summary: sourceHash: f841c2080740 provenance: machine outputHash: f841c2080740 paths./api/v1/tools/image/vignette.post.description: sourceHash: 9e1e807e89e0 provenance: machine outputHash: d9183c258b19 paths./api/v1/tools/image/gif-webp.post.summary: sourceHash: 337e539d70a4 provenance: machine outputHash: e5968d5d9401 paths./api/v1/tools/image/gif-webp.post.description: sourceHash: f397405d0b9c provenance: machine outputHash: 0510411d2e6e paths./api/v1/tools/image/histogram.post.summary: sourceHash: b32dc489fba8 provenance: machine outputHash: b32dc489fba8 paths./api/v1/tools/image/histogram.post.description: sourceHash: f98c4a1d1bf0 provenance: machine outputHash: f7cd59ff0682 paths./api/v1/tools/image/lqip-placeholder.post.summary: sourceHash: 878e3f3518db provenance: machine outputHash: 1deb8c1fd15d paths./api/v1/tools/image/lqip-placeholder.post.description: sourceHash: 2100f7e08142 provenance: machine outputHash: 5e203b1dcf48 paths./api/v1/tools/image/sprite-sheet.post.summary: sourceHash: f1c0772c4599 provenance: machine outputHash: f1c0772c4599 paths./api/v1/tools/image/sprite-sheet.post.description: sourceHash: 4ef141ec92ed provenance: machine outputHash: e89c221265f9 paths./api/v1/tools/image/passport-photo.post.summary: sourceHash: 535e5bf9e5e6 provenance: machine outputHash: 535e5bf9e5e6 paths./api/v1/tools/image/passport-photo.post.description: sourceHash: 7d3a81dbb05c provenance: machine outputHash: e2160ea9687d paths./api/v1/tools/pdf/sign-pdf.post.summary: sourceHash: 1bf93e215df9 provenance: machine outputHash: 1bf93e215df9 paths./api/v1/tools/pdf/sign-pdf.post.description: sourceHash: d66e168d79ba provenance: machine outputHash: 60ad52945d30 paths./api/v1/tools/image/jpg-to-png.post.summary: sourceHash: 2b455c24e59e provenance: machine outputHash: 2b455c24e59e paths./api/v1/tools/image/jpg-to-png.post.description: sourceHash: 1d504faac90f provenance: machine outputHash: 9a8bb14b031b paths./api/v1/tools/image/png-to-jpg.post.summary: sourceHash: 9e2eef671853 provenance: machine outputHash: 9e2eef671853 paths./api/v1/tools/image/png-to-jpg.post.description: sourceHash: 12d6c8d6aa01 provenance: machine outputHash: 08f57db40ea6 paths./api/v1/tools/image/jpg-to-webp.post.summary: sourceHash: 1e67451d3358 provenance: machine outputHash: 1e67451d3358 paths./api/v1/tools/image/jpg-to-webp.post.description: sourceHash: 0e7e4b18daa5 provenance: machine outputHash: 6e794bc78d61 paths./api/v1/tools/image/png-to-webp.post.summary: sourceHash: 6c9410143dd5 provenance: machine outputHash: 6c9410143dd5 paths./api/v1/tools/image/png-to-webp.post.description: sourceHash: 7505ddaf944b provenance: machine outputHash: d562f76063a6 paths./api/v1/tools/image/webp-to-jpg.post.summary: sourceHash: 670a9097dec8 provenance: machine outputHash: 670a9097dec8 paths./api/v1/tools/image/webp-to-jpg.post.description: sourceHash: 2b7701fe02eb provenance: machine outputHash: 03c6898bd4bf paths./api/v1/tools/image/webp-to-png.post.summary: sourceHash: 781a17cb5ec0 provenance: machine outputHash: 781a17cb5ec0 paths./api/v1/tools/image/webp-to-png.post.description: sourceHash: 78645c123b20 provenance: machine outputHash: 2b9e0102ee9c paths./api/v1/tools/image/jpg-to-avif.post.summary: sourceHash: 1c50ea7bdfce provenance: machine outputHash: 1c50ea7bdfce paths./api/v1/tools/image/jpg-to-avif.post.description: sourceHash: fbc8f6ae407c provenance: machine outputHash: f67ab9d42236 paths./api/v1/tools/image/png-to-avif.post.summary: sourceHash: c3ba0668ee1f provenance: machine outputHash: c3ba0668ee1f paths./api/v1/tools/image/png-to-avif.post.description: sourceHash: d0dcdde42555 provenance: machine outputHash: 2f636ba773f8 paths./api/v1/tools/image/webp-to-avif.post.summary: sourceHash: 690ea37f961e provenance: machine outputHash: 690ea37f961e paths./api/v1/tools/image/webp-to-avif.post.description: sourceHash: bcae3fc230b8 provenance: machine outputHash: 21741ae0a8d8 paths./api/v1/tools/image/heic-to-jpg.post.summary: sourceHash: 0013ad2f7e97 provenance: machine outputHash: 0013ad2f7e97 paths./api/v1/tools/image/heic-to-jpg.post.description: sourceHash: deb0641a6bfd provenance: machine outputHash: 98648ee76254 paths./api/v1/tools/image/heic-to-png.post.summary: sourceHash: a191f1708025 provenance: machine outputHash: a191f1708025 paths./api/v1/tools/image/heic-to-png.post.description: sourceHash: 583345b636d6 provenance: machine outputHash: 189350cb2f93 paths./api/v1/tools/image/heic-to-avif.post.summary: sourceHash: a03031e5c80d provenance: machine outputHash: a03031e5c80d paths./api/v1/tools/image/heic-to-avif.post.description: sourceHash: 6812ebf99c0b provenance: machine outputHash: ee5b2b9df64f paths./api/v1/tools/image/jpg-to-gif.post.summary: sourceHash: 46b3bcd3a38f provenance: machine outputHash: 46b3bcd3a38f paths./api/v1/tools/image/jpg-to-gif.post.description: sourceHash: 365097fb68a9 provenance: machine outputHash: 80af8607743e paths./api/v1/tools/image/png-to-gif.post.summary: sourceHash: e4de0e11bf3d provenance: machine outputHash: e4de0e11bf3d paths./api/v1/tools/image/png-to-gif.post.description: sourceHash: 89620988c5bd provenance: machine outputHash: c392bf4b00e2 paths./api/v1/tools/image/gif-to-jpg.post.summary: sourceHash: 016ce94121b8 provenance: machine outputHash: 016ce94121b8 paths./api/v1/tools/image/gif-to-jpg.post.description: sourceHash: d3c99d325441 provenance: machine outputHash: b2933e41de03 paths./api/v1/tools/image/gif-to-png.post.summary: sourceHash: 8f3239971851 provenance: machine outputHash: 8f3239971851 paths./api/v1/tools/image/gif-to-png.post.description: sourceHash: 6b363c6c5b6a provenance: machine outputHash: b6b8f765e801 paths./api/v1/tools/image/webp-to-gif.post.summary: sourceHash: db331b95e19b provenance: machine outputHash: db331b95e19b paths./api/v1/tools/image/webp-to-gif.post.description: sourceHash: 9295d8ac8c09 provenance: machine outputHash: ab7dd81266a2 paths./api/v1/tools/image/jpg-to-tiff.post.summary: sourceHash: 86ae950de6a3 provenance: machine outputHash: 86ae950de6a3 paths./api/v1/tools/image/jpg-to-tiff.post.description: sourceHash: 4f0ac37f2e06 provenance: machine outputHash: 3919ab1d3781 paths./api/v1/tools/image/png-to-tiff.post.summary: sourceHash: 3fa124cbaa4a provenance: machine outputHash: 3fa124cbaa4a paths./api/v1/tools/image/png-to-tiff.post.description: sourceHash: 5cf97e597ee8 provenance: machine outputHash: 4d473c0ae97c paths./api/v1/tools/image/tiff-to-jpg.post.summary: sourceHash: c803f62926b8 provenance: machine outputHash: c803f62926b8 paths./api/v1/tools/image/tiff-to-jpg.post.description: sourceHash: cf928b0513e5 provenance: machine outputHash: b02c20b1a600 paths./api/v1/tools/image/tiff-to-png.post.summary: sourceHash: 73c313976bb4 provenance: machine outputHash: 73c313976bb4 paths./api/v1/tools/image/tiff-to-png.post.description: sourceHash: 52f065d2f324 provenance: machine outputHash: ac700cddd29c paths./api/v1/tools/image/psd-to-jpg.post.summary: sourceHash: b9d50a4fd5a9 provenance: machine outputHash: b9d50a4fd5a9 paths./api/v1/tools/image/psd-to-jpg.post.description: sourceHash: a9897ebb6e8c provenance: machine outputHash: 1fbfaddad007 paths./api/v1/tools/image/psd-to-png.post.summary: sourceHash: af36a6f53221 provenance: machine outputHash: af36a6f53221 paths./api/v1/tools/image/psd-to-png.post.description: sourceHash: b15171b20160 provenance: machine outputHash: 421d749fb03c paths./api/v1/tools/image/png-to-eps.post.summary: sourceHash: 33ce1b37d63f provenance: machine outputHash: 33ce1b37d63f paths./api/v1/tools/image/png-to-eps.post.description: sourceHash: 31d8bfe76c0d provenance: machine outputHash: 60ec2d5150f2 paths./api/v1/tools/image/jpg-to-eps.post.summary: sourceHash: e8bde3997aaf provenance: machine outputHash: e8bde3997aaf paths./api/v1/tools/image/jpg-to-eps.post.description: sourceHash: 62cce0cb73ba provenance: machine outputHash: b98c2eedf00d paths./api/v1/tools/image/eps-to-png.post.summary: sourceHash: be7ed58f6b7e provenance: machine outputHash: be7ed58f6b7e paths./api/v1/tools/image/eps-to-png.post.description: sourceHash: e9157e4e334b provenance: machine outputHash: f117761ee384 paths./api/v1/tools/image/eps-to-jpg.post.summary: sourceHash: c05512db4202 provenance: machine outputHash: c05512db4202 paths./api/v1/tools/image/eps-to-jpg.post.description: sourceHash: b582104358cd provenance: machine outputHash: 455481a94c1c paths./api/v1/tools/image/png-to-svg.post.summary: sourceHash: 651353e8e22c provenance: machine outputHash: 651353e8e22c paths./api/v1/tools/image/png-to-svg.post.description: sourceHash: 5cbb3b81f383 provenance: machine outputHash: f8d21f269983 paths./api/v1/tools/image/jpg-to-svg.post.summary: sourceHash: 46f10c1c31b4 provenance: machine outputHash: 46f10c1c31b4 paths./api/v1/tools/image/jpg-to-svg.post.description: sourceHash: ea475d6542cb provenance: machine outputHash: 7cc50dc41a56 paths./api/v1/tools/image/tiff-to-svg.post.summary: sourceHash: 52f9db13bb53 provenance: machine outputHash: 52f9db13bb53 paths./api/v1/tools/image/tiff-to-svg.post.description: sourceHash: 26ac4eed4312 provenance: machine outputHash: 03dcba977022 paths./api/v1/tools/image/psd-to-svg.post.summary: sourceHash: 654d378a3882 provenance: machine outputHash: 654d378a3882 paths./api/v1/tools/image/psd-to-svg.post.description: sourceHash: 990b5ce49f61 provenance: machine outputHash: 40c3fdd98732 paths./api/v1/tools/image/eps-to-svg.post.summary: sourceHash: 36137967b026 provenance: machine outputHash: 36137967b026 paths./api/v1/tools/image/eps-to-svg.post.description: sourceHash: 8c2914626a16 provenance: machine outputHash: 8a983dfd169e paths./api/v1/tools/image/svg-to-png.post.summary: sourceHash: 1f1eb20e97fe provenance: machine outputHash: 1f1eb20e97fe paths./api/v1/tools/image/svg-to-png.post.description: sourceHash: 5338d3a81ff7 provenance: machine outputHash: 176a41f16825 paths./api/v1/tools/image/svg-to-jpg.post.summary: sourceHash: 8e51faf94ff1 provenance: machine outputHash: 8e51faf94ff1 paths./api/v1/tools/image/svg-to-jpg.post.description: sourceHash: 23241e664642 provenance: machine outputHash: 997291fe5e0f paths./api/v1/tools/image/jpg-to-pdf.post.summary: sourceHash: 480104dd2622 provenance: machine outputHash: 480104dd2622 paths./api/v1/tools/image/jpg-to-pdf.post.description: sourceHash: daffc3441cf6 provenance: machine outputHash: 865d394b899e paths./api/v1/tools/image/png-to-pdf.post.summary: sourceHash: 7cab3612203f provenance: machine outputHash: 7cab3612203f paths./api/v1/tools/image/png-to-pdf.post.description: sourceHash: 135646c47b37 provenance: machine outputHash: 54e703b297ce paths./api/v1/tools/image/heic-to-pdf.post.summary: sourceHash: d9a32701511d provenance: machine outputHash: d9a32701511d paths./api/v1/tools/image/heic-to-pdf.post.description: sourceHash: cb1a4bc6ad48 provenance: machine outputHash: fc469b6c5f12 paths./api/v1/tools/image/tiff-to-pdf.post.summary: sourceHash: 76458bef5bb7 provenance: machine outputHash: 76458bef5bb7 paths./api/v1/tools/image/tiff-to-pdf.post.description: sourceHash: f26e932da894 provenance: machine outputHash: 69a9bb97546c paths./api/v1/tools/image/webp-to-pdf.post.summary: sourceHash: fdbcd78acb8e provenance: machine outputHash: fdbcd78acb8e paths./api/v1/tools/image/webp-to-pdf.post.description: sourceHash: 02d3842d170f provenance: machine outputHash: 34eab46d5e92 paths./api/v1/tools/image/gif-to-pdf.post.summary: sourceHash: 62a5f26018fc provenance: machine outputHash: 62a5f26018fc paths./api/v1/tools/image/gif-to-pdf.post.description: sourceHash: e1d4ce05a711 provenance: machine outputHash: a7703920e552 paths./api/v1/tools/image/eps-to-pdf.post.summary: sourceHash: b183686e176a provenance: machine outputHash: b183686e176a paths./api/v1/tools/image/eps-to-pdf.post.description: sourceHash: 797845fc1a13 provenance: machine outputHash: fc2537e450d8 paths./api/v1/tools/pdf/pdf-to-jpg.post.summary: sourceHash: f84d053c3344 provenance: machine outputHash: f84d053c3344 paths./api/v1/tools/pdf/pdf-to-jpg.post.description: sourceHash: 294e7071a0cd provenance: machine outputHash: e1f715443127 paths./api/v1/tools/pdf/pdf-to-png.post.summary: sourceHash: 18362545fcb8 provenance: machine outputHash: 18362545fcb8 paths./api/v1/tools/pdf/pdf-to-png.post.description: sourceHash: 879e2d2c287b provenance: machine outputHash: 923f72b4875b paths./api/v1/tools/pdf/pdf-to-tiff.post.summary: sourceHash: cd0065e23473 provenance: machine outputHash: cd0065e23473 paths./api/v1/tools/pdf/pdf-to-tiff.post.description: sourceHash: 4e46452ab02e provenance: machine outputHash: d5cdda15ba7b paths./api/v1/tools/video/mov-to-mp4.post.summary: sourceHash: b88833009ff9 provenance: machine outputHash: b88833009ff9 paths./api/v1/tools/video/mov-to-mp4.post.description: sourceHash: a248339c26d1 provenance: machine outputHash: af96c96fa074 paths./api/v1/tools/video/webm-to-mp4.post.summary: sourceHash: 66e6dae5210e provenance: machine outputHash: 66e6dae5210e paths./api/v1/tools/video/webm-to-mp4.post.description: sourceHash: a9977ca09125 provenance: machine outputHash: 72163e12a761 paths./api/v1/tools/video/mkv-to-mp4.post.summary: sourceHash: cffe53cd9489 provenance: machine outputHash: cffe53cd9489 paths./api/v1/tools/video/mkv-to-mp4.post.description: sourceHash: d4c9bfc05b71 provenance: machine outputHash: 99a15764ecd3 paths./api/v1/tools/video/avi-to-mp4.post.summary: sourceHash: a5ed5b5782d3 provenance: machine outputHash: a5ed5b5782d3 paths./api/v1/tools/video/avi-to-mp4.post.description: sourceHash: 59f0c2a1860b provenance: machine outputHash: f5f949a44eda paths./api/v1/tools/video/mp4-to-mov.post.summary: sourceHash: a20af2c4b1fb provenance: machine outputHash: a20af2c4b1fb paths./api/v1/tools/video/mp4-to-mov.post.description: sourceHash: 8d99e8459b46 provenance: machine outputHash: f0ddaed13c38 paths./api/v1/tools/video/mp4-to-webm.post.summary: sourceHash: a1b67df8d74e provenance: machine outputHash: a1b67df8d74e paths./api/v1/tools/video/mp4-to-webm.post.description: sourceHash: 2d0fec602c82 provenance: machine outputHash: 39361a21a6ea paths./api/v1/tools/video/webm-to-mov.post.summary: sourceHash: 60df7d3b385b provenance: machine outputHash: 60df7d3b385b paths./api/v1/tools/video/webm-to-mov.post.description: sourceHash: 6982fc1cb933 provenance: machine outputHash: 7783c1f6ab2c paths./api/v1/tools/video/mkv-to-mov.post.summary: sourceHash: dc04291270e6 provenance: machine outputHash: dc04291270e6 paths./api/v1/tools/video/mkv-to-mov.post.description: sourceHash: 71c9c1b99374 provenance: machine outputHash: f8ff3a21027e paths./api/v1/tools/video/avi-to-mov.post.summary: sourceHash: 449c58ca9486 provenance: machine outputHash: 449c58ca9486 paths./api/v1/tools/video/avi-to-mov.post.description: sourceHash: 62b1fd2e8e0c provenance: machine outputHash: e224cc97af13 paths./api/v1/tools/video/mp4-to-avi.post.summary: sourceHash: 700763fbdb4a provenance: machine outputHash: 700763fbdb4a paths./api/v1/tools/video/mp4-to-avi.post.description: sourceHash: da2c6f405f96 provenance: machine outputHash: 99d1aa66eb31 paths./api/v1/tools/video/mov-to-avi.post.summary: sourceHash: 6cc35a24d9fa provenance: machine outputHash: 6cc35a24d9fa paths./api/v1/tools/video/mov-to-avi.post.description: sourceHash: e1dd8989a812 provenance: machine outputHash: 9cf427b88b9c paths./api/v1/tools/video/mkv-to-avi.post.summary: sourceHash: 993ee5fab472 provenance: machine outputHash: 993ee5fab472 paths./api/v1/tools/video/mkv-to-avi.post.description: sourceHash: f1b9b4ced057 provenance: machine outputHash: 03feed864a7b paths./api/v1/tools/video/avi-to-mkv.post.summary: sourceHash: 3393bba23656 provenance: machine outputHash: 3393bba23656 paths./api/v1/tools/video/avi-to-mkv.post.description: sourceHash: ce821c05956b provenance: machine outputHash: 83c54deb5eb4 paths./api/v1/tools/video/mp4-to-gif.post.summary: sourceHash: 62a7b6e94a53 provenance: machine outputHash: 62a7b6e94a53 paths./api/v1/tools/video/mp4-to-gif.post.description: sourceHash: eb95a94fc0e0 provenance: machine outputHash: 65a5bf5cfa2d paths./api/v1/tools/video/mov-to-gif.post.summary: sourceHash: c0e8c3dcfdfd provenance: machine outputHash: c0e8c3dcfdfd paths./api/v1/tools/video/mov-to-gif.post.description: sourceHash: f0f7c24adb4f provenance: machine outputHash: 0855d5425b24 paths./api/v1/tools/video/mkv-to-gif.post.summary: sourceHash: c19834912c0e provenance: machine outputHash: c19834912c0e paths./api/v1/tools/video/mkv-to-gif.post.description: sourceHash: 591062eb518f provenance: machine outputHash: e4510c839bc3 paths./api/v1/tools/video/avi-to-gif.post.summary: sourceHash: b6286a84b91d provenance: machine outputHash: b6286a84b91d paths./api/v1/tools/video/avi-to-gif.post.description: sourceHash: dd44bdc0686d provenance: machine outputHash: 340d86191254 paths./api/v1/tools/video/gif-to-mp4.post.summary: sourceHash: 9c2d0df2d1e9 provenance: machine outputHash: 9c2d0df2d1e9 paths./api/v1/tools/video/gif-to-mp4.post.description: sourceHash: 96914944fdc5 provenance: machine outputHash: bc81ed2ff080 paths./api/v1/tools/video/gif-to-webm.post.summary: sourceHash: f2b694034e10 provenance: machine outputHash: f2b694034e10 paths./api/v1/tools/video/gif-to-webm.post.description: sourceHash: 221c2fee1775 provenance: machine outputHash: 8e1d0b390ad3 paths./api/v1/tools/video/gif-to-mov.post.summary: sourceHash: 45c5f35f45f3 provenance: machine outputHash: 45c5f35f45f3 paths./api/v1/tools/video/gif-to-mov.post.description: sourceHash: 57996ae8e8cb provenance: machine outputHash: 2a09fcb9909b paths./api/v1/tools/video/mp4-to-mp3.post.summary: sourceHash: 69e107b048a8 provenance: machine outputHash: 69e107b048a8 paths./api/v1/tools/video/mp4-to-mp3.post.description: sourceHash: 40de83aa6ed2 provenance: machine outputHash: 2e722ccd01a6 paths./api/v1/tools/video/mov-to-mp3.post.summary: sourceHash: e149b039deaf provenance: machine outputHash: e149b039deaf paths./api/v1/tools/video/mov-to-mp3.post.description: sourceHash: 27f1a1f36a88 provenance: machine outputHash: b1eed9d7a9a7 paths./api/v1/tools/video/mkv-to-mp3.post.summary: sourceHash: a017e66660ad provenance: machine outputHash: a017e66660ad paths./api/v1/tools/video/mkv-to-mp3.post.description: sourceHash: 12cb145afcd0 provenance: machine outputHash: 74b92757f5b0 paths./api/v1/tools/video/webm-to-mp3.post.summary: sourceHash: 9fbcc26dd542 provenance: machine outputHash: 9fbcc26dd542 paths./api/v1/tools/video/webm-to-mp3.post.description: sourceHash: 5213b45f3c7d provenance: machine outputHash: 08d5276bcf31 paths./api/v1/tools/video/avi-to-mp3.post.summary: sourceHash: 5f4d7167967b provenance: machine outputHash: 5f4d7167967b paths./api/v1/tools/video/avi-to-mp3.post.description: sourceHash: dea6a15cea91 provenance: machine outputHash: aad04ce4c1c3 paths./api/v1/tools/video/mp4-to-wav.post.summary: sourceHash: b6769af66349 provenance: machine outputHash: b6769af66349 paths./api/v1/tools/video/mp4-to-wav.post.description: sourceHash: 5b9126a6bb99 provenance: machine outputHash: 163b7bf63e2b paths./api/v1/tools/video/mov-to-wav.post.summary: sourceHash: 4194226fdf68 provenance: machine outputHash: 4194226fdf68 paths./api/v1/tools/video/mov-to-wav.post.description: sourceHash: fe4925d7babd provenance: machine outputHash: 4bdaa70a34a7 paths./api/v1/tools/video/mp4-to-ogg.post.summary: sourceHash: dcb33be4e615 provenance: machine outputHash: dcb33be4e615 paths./api/v1/tools/video/mp4-to-ogg.post.description: sourceHash: d8be42b38707 provenance: machine outputHash: 8446c63cdefd paths./api/v1/tools/audio/m4a-to-mp3.post.summary: sourceHash: e4f86f589bd4 provenance: machine outputHash: e4f86f589bd4 paths./api/v1/tools/audio/m4a-to-mp3.post.description: sourceHash: ad144ccdc1d4 provenance: machine outputHash: 38aab297068c paths./api/v1/tools/audio/m4a-to-wav.post.summary: sourceHash: 5e8aa1c62150 provenance: machine outputHash: 5e8aa1c62150 paths./api/v1/tools/audio/m4a-to-wav.post.description: sourceHash: dab8ed1c0668 provenance: machine outputHash: ce04a2ee0839 paths./api/v1/tools/audio/aac-to-mp3.post.summary: sourceHash: dd7d2c46e335 provenance: machine outputHash: dd7d2c46e335 paths./api/v1/tools/audio/aac-to-mp3.post.description: sourceHash: 4187ef8fb789 provenance: machine outputHash: 8982c4ac4187 paths./api/v1/tools/audio/aac-to-wav.post.summary: sourceHash: 6485f4d30fd0 provenance: machine outputHash: 6485f4d30fd0 paths./api/v1/tools/audio/aac-to-wav.post.description: sourceHash: c2221db94cf4 provenance: machine outputHash: 21eb6e8e589d paths./api/v1/tools/audio/aac-to-flac.post.summary: sourceHash: 9dc0a9886938 provenance: machine outputHash: 9dc0a9886938 paths./api/v1/tools/audio/aac-to-flac.post.description: sourceHash: 945f63a2be18 provenance: machine outputHash: f6ce3d70ecda paths./api/v1/tools/audio/ogg-to-mp3.post.summary: sourceHash: c3cff86b4282 provenance: machine outputHash: c3cff86b4282 paths./api/v1/tools/audio/ogg-to-mp3.post.description: sourceHash: 8889a760d19f provenance: machine outputHash: 42b165088361 paths./api/v1/tools/audio/ogg-to-wav.post.summary: sourceHash: 85fbfd8ee338 provenance: machine outputHash: 85fbfd8ee338 paths./api/v1/tools/audio/ogg-to-wav.post.description: sourceHash: 99156f0db542 provenance: machine outputHash: 603d96871f96 paths./api/v1/tools/audio/wav-to-mp3.post.summary: sourceHash: d8344c7d753c provenance: machine outputHash: d8344c7d753c paths./api/v1/tools/audio/wav-to-mp3.post.description: sourceHash: 7f83d006baf8 provenance: machine outputHash: 35f36f82b979 paths./api/v1/tools/audio/mp3-to-wav.post.summary: sourceHash: a7de59ab62b9 provenance: machine outputHash: a7de59ab62b9 paths./api/v1/tools/audio/mp3-to-wav.post.description: sourceHash: c19d5fba1478 provenance: machine outputHash: a6fc2045e5de paths./api/v1/tools/audio/flac-to-mp3.post.summary: sourceHash: da353684dd2b provenance: machine outputHash: da353684dd2b paths./api/v1/tools/audio/flac-to-mp3.post.description: sourceHash: e83797072608 provenance: machine outputHash: 917846c391ff paths./api/v1/tools/files/excel-to-csv.post.summary: sourceHash: 8610a88e662a provenance: machine outputHash: 8610a88e662a paths./api/v1/tools/files/excel-to-csv.post.description: sourceHash: c5b6027afaa5 provenance: machine outputHash: 631dde880e12 paths./api/v1/readyz.get.summary: sourceHash: 2f70aef72373 provenance: machine outputHash: fa6b9253bfbe paths./api/v1/readyz.get.description: sourceHash: 1600aad09ab9 provenance: machine outputHash: f8393027e9d2 paths./api/v1/jobs/{jobId}/cancel.post.summary: sourceHash: a5032d26d61d provenance: machine outputHash: ca8632377b72 paths./api/v1/jobs/{jobId}/cancel.post.description: sourceHash: c828ad6eed72 provenance: machine outputHash: ffc5f61532f2 paths./api/v1/preferences.get.summary: sourceHash: 14eccfecf549 provenance: machine outputHash: 39d6862ba40a paths./api/v1/preferences.get.description: sourceHash: be05d444bc85 provenance: machine outputHash: c6c8960a2b20 paths./api/v1/preferences.put.summary: sourceHash: 2649ca8f6a25 provenance: machine outputHash: b1af089f444f paths./api/v1/preferences.put.description: sourceHash: ac325d43a780 provenance: machine outputHash: 918d097bdcdb paths./api/auth/mfa/enroll.post.summary: sourceHash: c138aec8b79b provenance: machine outputHash: de07dc4b6636 paths./api/auth/mfa/enroll.post.description: sourceHash: e00560362017 provenance: machine outputHash: c75d6f5401bf paths./api/auth/mfa/verify.post.summary: sourceHash: 12b670ebf850 provenance: machine outputHash: b525677f0bc9 paths./api/auth/mfa/verify.post.description: sourceHash: ae628486beb5 provenance: machine outputHash: 3a7cd229fe75 paths./api/auth/mfa/complete.post.summary: sourceHash: 16f65adb8582 provenance: machine outputHash: 863eec09d4ae paths./api/auth/mfa/complete.post.description: sourceHash: 3dc67142d5da provenance: machine outputHash: d85d15bde7e5 paths./api/auth/mfa/disable.post.summary: sourceHash: 8adb8274a7c6 provenance: machine outputHash: e66cd1c704f8 paths./api/auth/mfa/disable.post.description: sourceHash: 7980f5f0d9f0 provenance: machine outputHash: ebe678c8ff3c paths./api/auth/users/{id}/mfa/reset.post.summary: sourceHash: c765204eb72c provenance: machine outputHash: 885f22649f10 paths./api/auth/oidc/login.get.summary: sourceHash: bac046b3ef24 provenance: machine outputHash: 9fdf28dd9824 paths./api/auth/oidc/login.get.description: sourceHash: e48289d1e534 provenance: machine outputHash: 2bb13d70d45c paths./api/auth/oidc/callback.get.summary: sourceHash: 396eda750d3c provenance: machine outputHash: 396eda750d3c paths./api/auth/oidc/callback.get.description: sourceHash: e9437a06c530 provenance: machine outputHash: f034c77b651d paths./api/auth/saml/metadata.get.summary: sourceHash: d6b4c80ec1e4 provenance: machine outputHash: d6b4c80ec1e4 paths./api/auth/saml/metadata.get.description: sourceHash: 0b08445f03af provenance: machine outputHash: d0e40c288a66 paths./api/auth/saml/login.get.summary: sourceHash: 6de21463c7cb provenance: machine outputHash: 53ffad0cd625 paths./api/auth/saml/login.get.description: sourceHash: eca8bcf506ea provenance: machine outputHash: 98077ce560be paths./api/auth/saml/callback.post.summary: sourceHash: 2a95ad454bd5 provenance: machine outputHash: 2a95ad454bd5 paths./api/auth/saml/callback.post.description: sourceHash: a03dcebde897 provenance: machine outputHash: 4b906664bae3 paths./api/v1/files/{id}/preview.get.summary: sourceHash: 71d50aa39313 provenance: machine outputHash: 119b32de97df paths./api/v1/files/{id}/preview.get.description: sourceHash: fb3edf8df6cf provenance: machine outputHash: ff2850d9d3cc paths./api/v1/preview/generate.post.summary: sourceHash: cff28fa8e380 provenance: machine outputHash: 4e54f4179c11 paths./api/v1/preview/generate.post.description: sourceHash: 56d484d0c85b provenance: machine outputHash: b06930dbdef7 paths./api/v1/admin/log-level.get.summary: sourceHash: f9fa3ff842cd provenance: machine outputHash: 6deca615d3d2 paths./api/v1/admin/log-level.get.description: sourceHash: 277cddb1b284 provenance: machine outputHash: 4a7ed486ba13 paths./api/v1/admin/log-level.post.summary: sourceHash: e9ac46f76c49 provenance: machine outputHash: 0e1fe13456a0 paths./api/v1/admin/log-level.post.description: sourceHash: 5f12391622b9 provenance: machine outputHash: 1e3ddf05c5fb paths./api/v1/metrics.get.summary: sourceHash: 05be9e156194 provenance: machine outputHash: 05be9e156194 paths./api/v1/metrics.get.description: sourceHash: e5723b8ba79e provenance: machine outputHash: a1f6815a03da paths./api/v1/admin/support-bundle.get.summary: sourceHash: 3fc31382eaf7 provenance: machine outputHash: 3fc31382eaf7 paths./api/v1/admin/support-bundle.get.description: sourceHash: c04e47b20915 provenance: machine outputHash: 4f674fab0faa paths./api/v1/admin/usage.get.summary: sourceHash: 2f5017840735 provenance: machine outputHash: e04e67b44b7f paths./api/v1/admin/usage.get.description: sourceHash: 5ba73241349d provenance: machine outputHash: 0073d147096b paths./api/v1/admin/backup-status.get.summary: sourceHash: cea8a0d690fc provenance: machine outputHash: ac9b468ec448 paths./api/v1/admin/backup-status.get.description: sourceHash: e42e4494117a provenance: machine outputHash: 31c0b82f53f0 paths./api/v1/admin/backup-status.post.summary: sourceHash: 1a7ed3984596 provenance: machine outputHash: 1d1e052b702b paths./api/v1/admin/backup-status.post.description: sourceHash: 84b506533dbf provenance: machine outputHash: cdba20419861 paths./api/v1/admin/features/import.post.summary: sourceHash: 31b34aebf83b provenance: machine outputHash: 884a3def34f5 paths./api/v1/admin/features/import.post.description: sourceHash: 229fcb03f525 provenance: machine outputHash: 373932fe29b3 paths./api/v1/enterprise/scim/token.post.summary: sourceHash: e550c4aaeecf provenance: machine outputHash: a35ff7a09ebc paths./api/v1/enterprise/scim/token.delete.summary: sourceHash: e57912d50189 provenance: machine outputHash: 632088aed2e8 paths./api/v1/scim/v2/ServiceProviderConfig.get.summary: sourceHash: 6d9bb054fb7b provenance: machine outputHash: 6d9bb054fb7b paths./api/v1/scim/v2/ServiceProviderConfig.get.description: sourceHash: a111048aed19 provenance: machine outputHash: 5c7620efe24f paths./api/v1/scim/v2/Schemas.get.summary: sourceHash: c04171c8ce40 provenance: machine outputHash: c04171c8ce40 paths./api/v1/scim/v2/Schemas.get.description: sourceHash: 74cf47ef6038 provenance: machine outputHash: d739d9970e8f paths./api/v1/scim/v2/ResourceTypes.get.summary: sourceHash: b3f61558b888 provenance: machine outputHash: b3f61558b888 paths./api/v1/scim/v2/ResourceTypes.get.description: sourceHash: d3935183ed14 provenance: machine outputHash: b9ff99bc6a79 paths./api/v1/scim/v2/Users.get.summary: sourceHash: 06aa223783d0 provenance: machine outputHash: 5a63dac3a89b paths./api/v1/scim/v2/Users.get.description: sourceHash: dccfb3116fb5 provenance: machine outputHash: cccccad82d6c paths./api/v1/scim/v2/Users.post.summary: sourceHash: ba4ce4467898 provenance: machine outputHash: 7e7a8f6f1397 paths./api/v1/scim/v2/Users.post.description: sourceHash: ab9d5413dfe0 provenance: machine outputHash: ca72f504aad2 paths./api/v1/scim/v2/Users/{id}.get.summary: sourceHash: 06a26f48a1d7 provenance: machine outputHash: ff92ac3a90e5 paths./api/v1/scim/v2/Users/{id}.get.description: sourceHash: f643db8015e1 provenance: machine outputHash: 14211f38b55b paths./api/v1/scim/v2/Users/{id}.put.summary: sourceHash: acfe35ddd973 provenance: machine outputHash: 75fb78ba5aa9 paths./api/v1/scim/v2/Users/{id}.put.description: sourceHash: 7051119f905f provenance: machine outputHash: cd7ab2eca83f paths./api/v1/scim/v2/Users/{id}.delete.summary: sourceHash: 11c8da919810 provenance: machine outputHash: 9c849e7a8b6c paths./api/v1/scim/v2/Users/{id}.delete.description: sourceHash: f8a3ee46d088 provenance: machine outputHash: 281a62047712 paths./api/v1/scim/v2/Groups.get.summary: sourceHash: 7f5cfe4da60d provenance: machine outputHash: 604a12717617 paths./api/v1/scim/v2/Groups.get.description: sourceHash: b3dea6667317 provenance: machine outputHash: 01f7503b7c9d paths./api/v1/scim/v2/Groups.post.summary: sourceHash: 2477896fba1c provenance: machine outputHash: 1f77ddb778c4 paths./api/v1/scim/v2/Groups.post.description: sourceHash: fbb117796dfb provenance: machine outputHash: 46a532fd2462 paths./api/v1/scim/v2/Groups/{id}.get.summary: sourceHash: cf7956970f8e provenance: machine outputHash: c8c9c278b834 paths./api/v1/scim/v2/Groups/{id}.get.description: sourceHash: 7aeb5a733198 provenance: machine outputHash: 703ef84d7667 paths./api/v1/scim/v2/Groups/{id}.put.summary: sourceHash: 5878fbd31c27 provenance: machine outputHash: 3325c24e6e76 paths./api/v1/scim/v2/Groups/{id}.put.description: sourceHash: 0b41d735866c provenance: machine outputHash: 48349331e823 paths./api/v1/scim/v2/Groups/{id}.delete.summary: sourceHash: 37212ab76d6b provenance: machine outputHash: 23310cd0e593 paths./api/v1/scim/v2/Groups/{id}.delete.description: sourceHash: faf5572bb482 provenance: machine outputHash: faba40bb6724 paths./api/v1/enterprise/audit/export.get.summary: sourceHash: bb1ef74df6a7 provenance: machine outputHash: 40bffdac1aa4 paths./api/v1/enterprise/audit/export.get.description: sourceHash: 78723fd7a551 provenance: machine outputHash: 577a8ae21c19 paths./api/v1/enterprise/config/export.get.summary: sourceHash: 0657bced852f provenance: machine outputHash: 90c5442816d3 paths./api/v1/enterprise/config/export.get.description: sourceHash: 78e6cca796a5 provenance: human outputHash: 67b7c13336de paths./api/v1/enterprise/config/import.post.summary: sourceHash: 8a507f40b80f provenance: machine outputHash: a35b2c408440 paths./api/v1/enterprise/config/import.post.description: sourceHash: 21367e8b3579 provenance: human outputHash: 941451f40982 paths./api/v1/enterprise/ip-allowlist.get.summary: sourceHash: 8756df674b27 provenance: machine outputHash: 6c9b1171a3b2 paths./api/v1/enterprise/ip-allowlist.get.description: sourceHash: 42fe8d5e6555 provenance: machine outputHash: 70db5e2faf3b paths./api/v1/enterprise/ip-allowlist.put.summary: sourceHash: e0d442c15809 provenance: machine outputHash: 3be904e8155c paths./api/v1/enterprise/ip-allowlist.put.description: sourceHash: 0cb040540d15 provenance: machine outputHash: ed537caeaf72 paths./api/v1/enterprise/legal-hold.get.summary: sourceHash: a3b33d97f1b3 provenance: machine outputHash: ee2644740707 paths./api/v1/enterprise/legal-hold.get.description: sourceHash: 2b51807e41b2 provenance: machine outputHash: 12d7d20447ec paths./api/v1/enterprise/legal-hold.put.summary: sourceHash: f0f8a1f6bd23 provenance: machine outputHash: 3e9692bebe80 paths./api/v1/enterprise/legal-hold.put.description: sourceHash: 2f22192732ff provenance: machine outputHash: e2af251a591b paths./api/v1/enterprise/siem/config.get.summary: sourceHash: 7ac4058ce316 provenance: machine outputHash: 2ce0e32e398f paths./api/v1/enterprise/siem/config.get.description: sourceHash: b4c92171b7fb provenance: machine outputHash: b06d234f6255 paths./api/v1/enterprise/siem/config.put.summary: sourceHash: b236d6669c61 provenance: machine outputHash: 6ff5e20a114b paths./api/v1/enterprise/siem/config.put.description: sourceHash: 94cec3b103c8 provenance: machine outputHash: 293523e99a18 paths./api/v1/enterprise/webhooks.get.summary: sourceHash: a43cfb1a8c96 provenance: machine outputHash: 149b74ee5ca1 paths./api/v1/enterprise/webhooks.get.description: sourceHash: 292a38feca49 provenance: machine outputHash: 77b0465fd094 paths./api/v1/enterprise/webhooks.post.summary: sourceHash: 4a2b33ad2c1f provenance: machine outputHash: c18650ca8bf2 paths./api/v1/enterprise/webhooks.post.description: sourceHash: 2cc3c4b18327 provenance: machine outputHash: 6a94160c28bf paths./api/v1/enterprise/webhooks/{index}.put.summary: sourceHash: c5be5387d7be provenance: machine outputHash: 8a4703c517d3 paths./api/v1/enterprise/webhooks/{index}.put.description: sourceHash: 28806bb5b6ce provenance: machine outputHash: 1e25e23bf0d4 paths./api/v1/enterprise/webhooks/{index}.delete.summary: sourceHash: 60f85e57e4a7 provenance: machine outputHash: b0518c16db32 paths./api/v1/enterprise/webhooks/{index}.delete.description: sourceHash: 97b9800c59a2 provenance: machine outputHash: a2865b3b5f98 paths./api/v1/enterprise/webhooks/{index}/test.post.summary: sourceHash: 333e8368ac5c provenance: machine outputHash: 7dc735537649 paths./api/v1/enterprise/webhooks/{index}/test.post.description: sourceHash: 5626cb4c037d provenance: machine outputHash: 306708211b42 paths./api/v1/enterprise/users/{id}/export.post.summary: sourceHash: 75556a6714fc provenance: machine outputHash: 72ef813f1006 paths./api/v1/enterprise/users/{id}/export.post.description: sourceHash: 4f90b2a09ef8 provenance: machine outputHash: 6247b41d2003 paths./api/v1/enterprise/users/{id}/export/{jobId}.get.summary: sourceHash: 7fa624472044 provenance: machine outputHash: c53e088ee621 paths./api/v1/enterprise/users/{id}/export/{jobId}.get.description: sourceHash: fb51267dcbf7 provenance: machine outputHash: 6ac2a2124f0c paths./api/v1/enterprise/users/{id}/purge.delete.summary: sourceHash: 09c40d574cc0 provenance: machine outputHash: b1d2bfde9537 paths./api/v1/enterprise/teams/{id}/purge.delete.summary: sourceHash: e5f557c6db8b provenance: machine outputHash: a11ae49bffa6 paths./api/v1/admin/version.get.summary: sourceHash: 1fa5f3f5fa4a provenance: machine outputHash: 6408aec786f0 paths./api/v1/admin/version.get.description: sourceHash: b72b0bfc24e6 provenance: machine outputHash: a816a5f37ec6 paths./api/v1/admin/migrations/pending.get.summary: sourceHash: dd3d4aea6207 provenance: machine outputHash: 1045836d50d9 paths./api/v1/admin/migrations/pending.get.description: sourceHash: 434f121758d2 provenance: machine outputHash: 28f5ed26d67c paths./api/v1/admin/upgrade-check.get.summary: sourceHash: abc755f5b011 provenance: machine outputHash: bb99d32af951 paths./api/v1/admin/upgrade-check.get.description: sourceHash: a21396abfd74 provenance: machine outputHash: 4d0bd3cf175e paths./llms.txt.get.summary: sourceHash: ba31286a938b provenance: machine outputHash: c929bfcf8348 paths./llms.txt.get.description: sourceHash: 5f69094320cb provenance: machine outputHash: dd4f721da07f paths./llms-full.txt.get.summary: sourceHash: 6f12d5cecc9d provenance: machine outputHash: 692d853eafb3 paths./llms-full.txt.get.description: sourceHash: a135dfc6aac1 provenance: machine outputHash: 9c8df4988d4b paths./api/v1/openapi.yaml.get.summary: sourceHash: 9ee7dc77d462 provenance: machine outputHash: 9ee7dc77d462 paths./api/v1/openapi.yaml.get.description: sourceHash: 10ceb656a256 provenance: machine outputHash: 0830a8cf655d paths./api/v1/tools/popular.get.summary: sourceHash: de2139ffd4c3 provenance: machine outputHash: 078778d637a0 paths./api/v1/tools/popular.get.description: sourceHash: 40c9637d843b provenance: machine outputHash: 0d52b2807e82