@apifreaks/openapi-specs 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/index.cjs +133 -2
  2. package/dist/index.d.cts +140 -3
  3. package/dist/index.d.ts +140 -3
  4. package/dist/index.js +131 -2
  5. package/dist/specs/commodity/commodity-fluctuation.yaml +225 -0
  6. package/dist/specs/commodity/commodity-prices.yaml +236 -0
  7. package/dist/specs/commodity/commodity-symbols.yaml +159 -0
  8. package/dist/specs/commodity/commodity-time-series.yaml +238 -0
  9. package/dist/specs/commodity/historical-commodity-prices.yaml +208 -0
  10. package/dist/specs/currency/currency-converter.yaml +193 -0
  11. package/dist/specs/currency/currency-fluctuation.yaml +211 -0
  12. package/dist/specs/currency/currency-historical-data-limit.yaml +112 -0
  13. package/dist/specs/currency/currency-rate.yaml +173 -0
  14. package/dist/specs/currency/currency-supported.yaml +176 -0
  15. package/dist/specs/currency/currency-symbols.yaml +115 -0
  16. package/dist/specs/currency/currency-time-series.yaml +232 -0
  17. package/dist/specs/currency/geolocalized-currency-conversion.yaml +214 -0
  18. package/dist/specs/currency/historical-currency-converter.yaml +195 -0
  19. package/dist/specs/currency/historical-currency-rate.yaml +180 -0
  20. package/dist/specs/dns/bulk-dns-lookup.yaml +484 -0
  21. package/dist/specs/dns/dns-history-lookup.yaml +451 -0
  22. package/dist/specs/dns/dns-lookup.yaml +360 -0
  23. package/dist/specs/dns/reverse-dns-lookup.yaml +338 -0
  24. package/dist/specs/domain/bulk-domain-checker.yaml +198 -0
  25. package/dist/specs/domain/domain-search-with-suggestions.yaml +196 -0
  26. package/dist/specs/domain/domain-search.yaml +149 -0
  27. package/dist/specs/domain/subdomain-lookup.yaml +251 -0
  28. package/dist/specs/email-validation/bulk-email-validation.yaml +403 -0
  29. package/dist/specs/email-validation/email-checker.yaml +451 -0
  30. package/dist/specs/financial/bulk-vat-rates-country.yaml +250 -0
  31. package/dist/specs/financial/financial-apis-supported-countries.yaml +152 -0
  32. package/dist/specs/financial/iban-validation.yaml +270 -0
  33. package/dist/specs/financial/swift-code-finder.yaml +146 -0
  34. package/dist/specs/financial/swift-code-lookup.yaml +156 -0
  35. package/dist/specs/financial/vat-number-validation.yaml +205 -0
  36. package/dist/specs/financial/vat-rates-by-ip.yaml +200 -0
  37. package/dist/specs/financial/vat-rates-country.yaml +212 -0
  38. package/dist/specs/general/usage-credits.yaml +188 -0
  39. package/dist/specs/geocoding/forward-geocoding.yaml +292 -0
  40. package/dist/specs/geocoding/reverse-geocoding.yaml +237 -0
  41. package/dist/specs/geodb/administrative-units-details.yaml +180 -0
  42. package/dist/specs/geodb/administrative-units-levels.yaml +140 -0
  43. package/dist/specs/geodb/administrative-units.yaml +168 -0
  44. package/dist/specs/geodb/cities.yaml +209 -0
  45. package/dist/specs/geodb/countries-details.yaml +207 -0
  46. package/dist/specs/geodb/countries.yaml +199 -0
  47. package/dist/specs/geodb/flags-supported.yaml +119 -0
  48. package/dist/specs/geodb/flags.yaml +170 -0
  49. package/dist/specs/geodb/regions.yaml +76 -0
  50. package/dist/specs/geodb/subregions.yaml +158 -0
  51. package/dist/specs/ip-intelligence/bulk-ip-lookup.yaml +895 -0
  52. package/dist/specs/ip-intelligence/bulk-ip-threat-intelligence.yaml +310 -0
  53. package/dist/specs/ip-intelligence/ip-locator.yaml +708 -0
  54. package/dist/specs/ip-intelligence/ip-threat-intelligence.yaml +230 -0
  55. package/dist/specs/other/astronomy-data.yaml +632 -0
  56. package/dist/specs/pdf/delete-pdf-page.yaml +193 -0
  57. package/dist/specs/pdf/linearize-pdf.yaml +187 -0
  58. package/dist/specs/pdf/merge-pdf.yaml +193 -0
  59. package/dist/specs/pdf/pdf-compress.yaml +208 -0
  60. package/dist/specs/pdf/pdf-decrypt.yaml +202 -0
  61. package/dist/specs/pdf/pdf-encrypt.yaml +213 -0
  62. package/dist/specs/pdf/pdf-extract-pages.yaml +199 -0
  63. package/dist/specs/pdf/pdf-file-status.yaml +148 -0
  64. package/dist/specs/pdf/pdf-file.yaml +136 -0
  65. package/dist/specs/pdf/pdf-files.yaml +85 -0
  66. package/dist/specs/pdf/pdf-resource-download.yaml +117 -0
  67. package/dist/specs/pdf/pdf-resource-upload-binary.yaml +152 -0
  68. package/dist/specs/pdf/pdf-resource-upload.yaml +163 -0
  69. package/dist/specs/pdf/pdf-restrict.yaml +246 -0
  70. package/dist/specs/pdf/pdf-split-pages.yaml +208 -0
  71. package/dist/specs/pdf/pdf-task-status.yaml +187 -0
  72. package/dist/specs/pdf/pdf-to-image.yaml +844 -0
  73. package/dist/specs/pdf/pdf-unrestrict.yaml +221 -0
  74. package/dist/specs/pdf/rotate-pdf-pages.yaml +207 -0
  75. package/dist/specs/phone-validation/bulk-phone-number-validation.yaml +374 -0
  76. package/dist/specs/phone-validation/phone-number-validation.yaml +344 -0
  77. package/dist/specs/scraper/web-scraper.yaml +479 -0
  78. package/dist/specs/screenshot/bulk-screenshot.yaml +728 -0
  79. package/dist/specs/screenshot/website-screenshot.yaml +822 -0
  80. package/dist/specs/ssl/ssl-certificate-chain-lookup.yaml +593 -0
  81. package/dist/specs/ssl/ssl-certificate-lookup.yaml +478 -0
  82. package/dist/specs/timezone/timezone-converter.yaml +249 -0
  83. package/dist/specs/timezone/timezone-lookup.yaml +712 -0
  84. package/dist/specs/user-agent/bulk-user-agent-parser.yaml +340 -0
  85. package/dist/specs/user-agent/user-agent-parser.yaml +271 -0
  86. package/dist/specs/weather/air-quality.yaml +590 -0
  87. package/dist/specs/weather/bulk-live-weather.yaml +654 -0
  88. package/dist/specs/weather/flood-forecast.yaml +519 -0
  89. package/dist/specs/weather/historical-weather.yaml +842 -0
  90. package/dist/specs/weather/live-weather.yaml +633 -0
  91. package/dist/specs/weather/marine-weather.yaml +806 -0
  92. package/dist/specs/weather/time-series-weather.yaml +821 -0
  93. package/dist/specs/weather/weather-forecast.yaml +935 -0
  94. package/dist/specs/whois/asn-lookup.yaml +618 -0
  95. package/dist/specs/whois/bulk-whois-lookup.yaml +827 -0
  96. package/dist/specs/whois/domain-whois-history-lookup.yaml +445 -0
  97. package/dist/specs/whois/reverse-whois.yaml +566 -0
  98. package/dist/specs/whois/whois-domain-lookup.yaml +537 -0
  99. package/dist/specs/whois/whois-ip-lookup.yaml +1123 -0
  100. package/dist/specs/zip-code/bulk-zip-code-lookup.yaml +232 -0
  101. package/dist/specs/zip-code/zip-code-api.yaml +216 -0
  102. package/dist/specs/zip-code/zip-code-distance-match.yaml +239 -0
  103. package/dist/specs/zip-code/zip-code-distance.yaml +233 -0
  104. package/dist/specs/zip-code/zip-codes-by-city.yaml +201 -0
  105. package/dist/specs/zip-code/zip-codes-by-region.yaml +200 -0
  106. package/dist/specs/zip-code/zip-codes-radius-search.yaml +262 -0
  107. package/package.json +6 -2
  108. package/specs/pdf/merge-pdf.json +2 -2
@@ -0,0 +1,844 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: PDF to Image APIs - Convert PDF to JPG, PNG, TIFF, BMP & GIF
4
+ version: 1.0.0
5
+ description: Convert PDF pages to image format. Supports PNG, JPEG, and WebP output formats. Returns a task ID for tracking the conversion progress.
6
+ contact:
7
+ name: APIFreaks Support
8
+ url: https://apifreaks.com/contact
9
+ email: support@apifreaks.com
10
+ servers:
11
+ - url: https://api.apifreaks.com/v1.0
12
+ description: PDF to Image API Server
13
+ paths:
14
+ /pdf/png:
15
+ post:
16
+ tags:
17
+ - PDF To Image APIs
18
+ summary: Convert PDF to PNG
19
+ description: This API converts a given PDF file into a sequence of PNG images.
20
+ parameters:
21
+ - name: format
22
+ in: query
23
+ required: false
24
+ schema:
25
+ type: string
26
+ enum:
27
+ - json
28
+ - xml
29
+ default: json
30
+ description: Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure.
31
+ - name: file_id
32
+ in: query
33
+ required: false
34
+ schema:
35
+ type: string
36
+ description: The unique ID of a PDF file already uploaded to the API Freaks server. Use this as an alternative to uploading a new file directly.
37
+ - name: destroy
38
+ in: query
39
+ required: false
40
+ schema:
41
+ type: boolean
42
+ description: If set to `true`, the input file(s) will be permanently deleted from the server immediately after the output PDF is generated.
43
+ - name: output
44
+ in: query
45
+ required: false
46
+ schema:
47
+ type: string
48
+ description: The desired name for the output unrestricted PDF file. If not provided, a default name will be assigned.
49
+ - name: pages
50
+ in: query
51
+ required: false
52
+ schema:
53
+ type: string
54
+ description: 'Specifies the pages or ranges at which to split the PDF. Accepts individual page numbers (e.g., ''1'') and/or page ranges (e.g., ''4-2'', ''last''). Ranges can be ascending or descending. Use commas to separate entries and hyphens for ranges. Alternatively, provide only one of the following keywords: ''even'' (split at every even-numbered page), ''odd'' (split at every odd-numbered page), ''last'' (split at the last page only), or ''all'' (split into single pages). Examples: ''1,4-2,last'', ''odd'', ''all''. Mixing special keywords with specific pages/ranges is not allowed.'
55
+ - name: resolution
56
+ in: query
57
+ required: false
58
+ schema:
59
+ type: integer
60
+ description: Specifies the resolution (in DPI) for the output images. Acceptable Range is from 20 to 1200.
61
+ - name: image_smoothing
62
+ in: query
63
+ required: false
64
+ schema:
65
+ type: string
66
+ description: Determines the smoothing options to apply during image conversion. Valid values are 'none', 'all' or a combination of 'text', 'line', and 'image' (comma-separated).If not provided, no smoothing will be applied.
67
+ - name: profile
68
+ in: query
69
+ required: false
70
+ schema:
71
+ type: string
72
+ enum:
73
+ - bw
74
+ - gray
75
+ - rgb
76
+ - rgba
77
+ - 4-bit
78
+ - 8-bit
79
+ description: 'Specifies the color profile for the output PNG images. Acceptable values: bw (1-bit black & white, smallest size, no grayscale or color), gray (8-bit grayscale), rgb (24-bit RGB color, default), rgba (32-bit RGB color with alpha channel for transparency), 4-bit (4-bit indexed color, up to 16 colors, smaller size), or 8-bit (8-bit indexed color, up to 256 colors).'
80
+ - name: webhook_url
81
+ in: query
82
+ required: false
83
+ schema:
84
+ type: string
85
+ description: The URL to which the webhook notification will be sent after the task is completed.
86
+ - name: webhook_failure_notification
87
+ in: query
88
+ required: false
89
+ schema:
90
+ type: boolean
91
+ description: If true, a notification will also be sent by email in case the webhook request fails all the retries. The email notification will be sent to the requesting user or their organization’s admin if part of one.
92
+ - name: X-Webhook-Authorization
93
+ in: header
94
+ required: false
95
+ schema:
96
+ type: string
97
+ description: 'Optional custom header for webhook requests. Format: `Key:Value` (e.g., `Authorization:Bearer token123`). This will be sent as an HTTP header in the webhook call.'
98
+ requestBody:
99
+ description: Multipart form-data body carrying the PDF file to convert. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.
100
+ required: false
101
+ content:
102
+ multipart/form-data:
103
+ schema:
104
+ $ref: '#/components/schemas/PdfFileUploadRequest'
105
+ responses:
106
+ '200':
107
+ description: PDF converted to PNG successfully
108
+ content:
109
+ application/json:
110
+ schema:
111
+ $ref: '#/components/schemas/PDFResponse'
112
+ examples:
113
+ success:
114
+ summary: Task created
115
+ value:
116
+ taskId: b48e5ed0-e5ce-41bd-953c-6c590ded4b20
117
+ inputIds:
118
+ - 6d994947-3909-46cf-91fe-24316c457e2a
119
+ '400':
120
+ description: Bad Request — Missing/invalid parameters or file ID
121
+ content:
122
+ application/json:
123
+ examples:
124
+ MissingFileOrID:
125
+ summary: Missing File or ID
126
+ value:
127
+ timestamp: '2026-07-27T10:51:09.542Z'
128
+ path: /v1.0/pdf/png
129
+ status: 400
130
+ error: Missing File or ID
131
+ message: Please provide either a file or a file ID.
132
+ InvalidFileID:
133
+ summary: file_id is malformed or does not exist
134
+ value:
135
+ error: Invalid File ID Provided
136
+ message: Please provide a valid file ID
137
+ path: /pdf/png
138
+ status: 400
139
+ timestamp: '2026-07-27T10:51:11.802Z'
140
+ InvalidImageProfile:
141
+ summary: Invalid Image Profile
142
+ value:
143
+ timestamp: '2026-07-27T10:51:10.081Z'
144
+ path: /v1.0/pdf/png
145
+ status: 400
146
+ error: Invalid Image Profile
147
+ message: Please provide a valid image profile. Refer to the documentation for valid profiles.
148
+ InvalidImageSmoothing:
149
+ summary: Invalid Image Smoothing
150
+ value:
151
+ timestamp: '2026-07-27T10:51:11.203Z'
152
+ path: /v1.0/pdf/png
153
+ status: 400
154
+ error: Invalid Image Smoothing
155
+ message: Please provide a valid smoothing option or combination. Refer to the documentation for valid options.
156
+ InvalidImageResolution:
157
+ summary: Invalid Image Resolution
158
+ value:
159
+ timestamp: '2026-07-27T10:51:10.648Z'
160
+ path: /v1.0/pdf/png
161
+ status: 400
162
+ error: Invalid Image Resolution
163
+ message: Please provide a valid image resolution(dpi). Refer to the documentation for valid resolution values.
164
+ schema:
165
+ $ref: '#/components/schemas/ErrorResponse'
166
+ operationId: pdfToImage
167
+ /pdf/jpg:
168
+ post:
169
+ tags:
170
+ - PDF To Image APIs
171
+ summary: Convert PDF to JPG
172
+ description: This API converts a given PDF file into a sequence of JPG images.
173
+ parameters:
174
+ - name: format
175
+ in: query
176
+ required: false
177
+ schema:
178
+ type: string
179
+ enum:
180
+ - json
181
+ - xml
182
+ default: json
183
+ description: Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure.
184
+ - name: file_id
185
+ in: query
186
+ required: false
187
+ schema:
188
+ type: string
189
+ description: The unique ID of a PDF file already uploaded to the API Freaks server. Use this as an alternative to uploading a new file directly.
190
+ - name: destroy
191
+ in: query
192
+ required: false
193
+ schema:
194
+ type: boolean
195
+ description: If set to `true`, the input file(s) will be permanently deleted from the server immediately after the output PDF is generated.
196
+ - name: output
197
+ in: query
198
+ required: false
199
+ schema:
200
+ type: string
201
+ description: The desired name for the output unrestricted PDF file. If not provided, a default name will be assigned.
202
+ - name: quality
203
+ in: query
204
+ required: false
205
+ schema:
206
+ type: integer
207
+ description: Controls JPG compression quality. Higher values yield sharper images with larger file sizes.
208
+ - name: pages
209
+ in: query
210
+ required: false
211
+ schema:
212
+ type: string
213
+ description: 'Specifies the pages or ranges at which to split the PDF. Accepts individual page numbers (e.g., ''1'') and/or page ranges (e.g., ''4-2'', ''last''). Ranges can be ascending or descending. Use commas to separate entries and hyphens for ranges. Alternatively, provide only one of the following keywords: ''even'' (split at every even-numbered page), ''odd'' (split at every odd-numbered page), ''last'' (split at the last page only), or ''all'' (split into single pages). Examples: ''1,4-2,last'', ''odd'', ''all''. Mixing special keywords with specific pages/ranges is not allowed.'
214
+ - name: resolution
215
+ in: query
216
+ required: false
217
+ schema:
218
+ type: integer
219
+ description: Specifies the resolution (in DPI) for the output images. Acceptable Range is from 20 to 1200.
220
+ - name: image_smoothing
221
+ in: query
222
+ required: false
223
+ schema:
224
+ type: string
225
+ description: Determines the smoothing options to apply during image conversion. Valid values are 'none', 'all' or a combination of 'text', 'line', and 'image' (comma-separated).If not provided, no smoothing will be applied.
226
+ - name: profile
227
+ in: query
228
+ required: false
229
+ schema:
230
+ type: string
231
+ enum:
232
+ - gray
233
+ - rgb
234
+ - cmyk
235
+ description: 'Specifies the color profile for the output JPG images. Acceptable values: bw (1-bit black & white, smallest size, no grayscale or color), gray (8-bit grayscale), rgb (24-bit RGB color, default), rgba (32-bit RGB color with alpha channel for transparency), 4-bit (4-bit indexed color, up to 16 colors, smaller size), or 8-bit (8-bit indexed color, up to 256 colors).'
236
+ - name: webhook_url
237
+ in: query
238
+ required: false
239
+ schema:
240
+ type: string
241
+ description: The URL to which the webhook notification will be sent after the task is completed.
242
+ - name: webhook_failure_notification
243
+ in: query
244
+ required: false
245
+ schema:
246
+ type: boolean
247
+ description: If true, a notification will also be sent by email in case the webhook request fails all the retries. The email notification will be sent to the requesting user or their organization’s admin if part of one.
248
+ - name: X-Webhook-Authorization
249
+ in: header
250
+ required: false
251
+ schema:
252
+ type: string
253
+ description: 'Optional custom header for webhook requests. Format: `Key:Value` (e.g., `Authorization:Bearer token123`). This will be sent as an HTTP header in the webhook call.'
254
+ requestBody:
255
+ description: Multipart form-data body carrying the PDF file to convert. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.
256
+ required: false
257
+ content:
258
+ multipart/form-data:
259
+ schema:
260
+ $ref: '#/components/schemas/PdfFileUploadRequest'
261
+ responses:
262
+ '200':
263
+ description: PDF converted to JPG successfully
264
+ content:
265
+ application/json:
266
+ schema:
267
+ $ref: '#/components/schemas/PDFResponse'
268
+ examples:
269
+ success:
270
+ summary: Task created
271
+ value:
272
+ taskId: 04a06cd5-158d-4191-a45b-6f58249c599d
273
+ inputIds:
274
+ - 7a9e4b12-f3c8-4d56-b7e1-8c2f9d0a3e6f
275
+ '400':
276
+ description: Bad Request — Missing/invalid parameters or file ID
277
+ content:
278
+ application/json:
279
+ examples:
280
+ MissingFileOrID:
281
+ summary: Missing File or ID
282
+ value:
283
+ timestamp: '2026-07-27T10:51:09.542Z'
284
+ path: /v1.0/pdf/jpg
285
+ status: 400
286
+ error: Missing File or ID
287
+ message: Please provide either a file or a file ID.
288
+ InvalidFileID:
289
+ summary: file_id is malformed or does not exist
290
+ value:
291
+ error: Invalid File ID Provided
292
+ message: Please provide a valid file ID
293
+ path: /pdf/jpg
294
+ status: 400
295
+ timestamp: '2026-07-27T10:51:11.802Z'
296
+ InvalidImageProfile:
297
+ summary: Invalid Image Profile
298
+ value:
299
+ timestamp: '2026-07-27T10:51:10.081Z'
300
+ path: /v1.0/pdf/jpg
301
+ status: 400
302
+ error: Invalid Image Profile
303
+ message: Please provide a valid image profile. Refer to the documentation for valid profiles.
304
+ InvalidImageSmoothing:
305
+ summary: Invalid Image Smoothing
306
+ value:
307
+ timestamp: '2026-07-27T10:51:11.203Z'
308
+ path: /v1.0/pdf/jpg
309
+ status: 400
310
+ error: Invalid Image Smoothing
311
+ message: Please provide a valid smoothing option or combination. Refer to the documentation for valid options.
312
+ InvalidImageQuality:
313
+ summary: Invalid Image Quality
314
+ value:
315
+ timestamp: '2025-08-18T10:22:25.866Z'
316
+ path: /v1.0/pdf/jpg
317
+ status: 400
318
+ error: Invalid Image Quality
319
+ message: Please provide a valid image quality value from 1 to 100.
320
+ InvalidImageResolution:
321
+ summary: Invalid Image Resolution
322
+ value:
323
+ timestamp: '2026-07-27T10:51:10.648Z'
324
+ path: /v1.0/pdf/jpg
325
+ status: 400
326
+ error: Invalid Image Resolution
327
+ message: Please provide a valid image resolution(dpi). Refer to the documentation for valid resolution values.
328
+ schema:
329
+ $ref: '#/components/schemas/ErrorResponse'
330
+ /pdf/tif:
331
+ post:
332
+ tags:
333
+ - PDF To Image APIs
334
+ summary: Convert a PDF file into a sequence of TIFF images.
335
+ description: This API converts a given PDF file into a sequence of TIFF images. The output images can be saved as a single TIFF file, or as a sequence of TIFF files.
336
+ parameters:
337
+ - name: format
338
+ in: query
339
+ required: false
340
+ schema:
341
+ type: string
342
+ enum:
343
+ - json
344
+ - xml
345
+ default: json
346
+ description: Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure.
347
+ - name: file_id
348
+ in: query
349
+ required: false
350
+ schema:
351
+ type: string
352
+ description: The unique ID of a PDF file already uploaded to the API Freaks server. Use this as an alternative to uploading a new file directly.
353
+ - name: destroy
354
+ in: query
355
+ required: false
356
+ schema:
357
+ type: boolean
358
+ description: If set to `true`, the input file(s) will be permanently deleted from the server immediately after the output PDF is generated.
359
+ - name: output
360
+ in: query
361
+ required: false
362
+ schema:
363
+ type: string
364
+ description: The desired name for the output unrestricted PDF file. If not provided, a default name will be assigned.
365
+ - name: pages
366
+ in: query
367
+ required: false
368
+ schema:
369
+ type: string
370
+ description: 'Specifies the pages or ranges at which to split the PDF. Accepts individual page numbers (e.g., ''1'') and/or page ranges (e.g., ''4-2'', ''last''). Ranges can be ascending or descending. Use commas to separate entries and hyphens for ranges. Alternatively, provide only one of the following keywords: ''even'' (split at every even-numbered page), ''odd'' (split at every odd-numbered page), ''last'' (split at the last page only), or ''all'' (split into single pages). Examples: ''1,4-2,last'', ''odd'', ''all''. Mixing special keywords with specific pages/ranges is not allowed.'
371
+ - name: resolution
372
+ in: query
373
+ required: false
374
+ schema:
375
+ type: integer
376
+ description: Specifies the resolution (in DPI) for the output images. Acceptable Range is from 20 to 1200.
377
+ - name: image_smoothing
378
+ in: query
379
+ required: false
380
+ schema:
381
+ type: string
382
+ description: Determines the smoothing options to apply during image conversion. Valid values are 'none', 'all' or a combination of 'text', 'line', and 'image' (comma-separated).If not provided, no smoothing will be applied.
383
+ - name: profile
384
+ in: query
385
+ required: false
386
+ schema:
387
+ type: string
388
+ enum:
389
+ - bw
390
+ - gray
391
+ - rgb
392
+ - rgba
393
+ - cmyk
394
+ description: 'Specifies the color profile for the output TIF images. Acceptable values: bw (1-bit black & white, smallest size, no grayscale or color), gray (8-bit grayscale), rgb (24-bit RGB color, default), rgba (32-bit RGB color with alpha channel for transparency), 4-bit (4-bit indexed color, up to 16 colors, smaller size), or 8-bit (8-bit indexed color, up to 256 colors).'
395
+ - name: webhook_url
396
+ in: query
397
+ required: false
398
+ schema:
399
+ type: string
400
+ description: The URL to which the webhook notification will be sent after the task is completed.
401
+ - name: webhook_failure_notification
402
+ in: query
403
+ required: false
404
+ schema:
405
+ type: boolean
406
+ description: If true, a notification will also be sent by email in case the webhook request fails all the retries. The email notification will be sent to the requesting user or their organization’s admin if part of one.
407
+ - name: X-Webhook-Authorization
408
+ in: header
409
+ required: false
410
+ schema:
411
+ type: string
412
+ description: 'Optional custom header for webhook requests. Format: `Key:Value` (e.g., `Authorization:Bearer token123`). This will be sent as an HTTP header in the webhook call.'
413
+ requestBody:
414
+ description: Multipart form-data body carrying the PDF file to convert. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.
415
+ required: false
416
+ content:
417
+ multipart/form-data:
418
+ schema:
419
+ $ref: '#/components/schemas/PdfFileUploadRequest'
420
+ responses:
421
+ '200':
422
+ description: PDF converted to TIF successfully
423
+ content:
424
+ application/json:
425
+ schema:
426
+ $ref: '#/components/schemas/PDFResponse'
427
+ examples:
428
+ success:
429
+ summary: Task created
430
+ value:
431
+ taskId: 04a06cd5-158d-4191-a45b-6f58249c599d
432
+ inputIds:
433
+ - 7a9e4b12-f3c8-4d56-b7e1-8c2f9d0a3e6f
434
+ '400':
435
+ description: Bad Request — Missing/invalid parameters or file ID
436
+ content:
437
+ application/json:
438
+ examples:
439
+ MissingFileOrID:
440
+ summary: Missing File or ID
441
+ value:
442
+ timestamp: '2026-07-27T10:51:09.542Z'
443
+ path: /v1.0/pdf/tif
444
+ status: 400
445
+ error: Missing File or ID
446
+ message: Please provide either a file or a file ID.
447
+ InvalidFileID:
448
+ summary: file_id is malformed or does not exist
449
+ value:
450
+ error: Invalid File ID Provided
451
+ message: Please provide a valid file ID
452
+ path: /pdf/tif
453
+ status: 400
454
+ timestamp: '2026-07-27T10:51:11.802Z'
455
+ InvalidImageProfile:
456
+ summary: Invalid Image Profile
457
+ value:
458
+ timestamp: '2026-07-27T10:51:10.081Z'
459
+ path: /v1.0/pdf/tif
460
+ status: 400
461
+ error: Invalid Image Profile
462
+ message: Please provide a valid image profile. Refer to the documentation for valid profiles.
463
+ InvalidImageSmoothing:
464
+ summary: Invalid Image Smoothing
465
+ value:
466
+ timestamp: '2026-07-27T10:51:11.203Z'
467
+ path: /v1.0/pdf/tif
468
+ status: 400
469
+ error: Invalid Image Smoothing
470
+ message: Please provide a valid smoothing option or combination. Refer to the documentation for valid options.
471
+ InvalidImageResolution:
472
+ summary: Invalid Image Resolution
473
+ value:
474
+ timestamp: '2026-07-27T10:51:10.648Z'
475
+ path: /v1.0/pdf/tif
476
+ status: 400
477
+ error: Invalid Image Resolution
478
+ message: Please provide a valid image resolution(dpi). Refer to the documentation for valid resolution values.
479
+ schema:
480
+ $ref: '#/components/schemas/ErrorResponse'
481
+ /pdf/bmp:
482
+ post:
483
+ tags:
484
+ - PDF To Image APIs
485
+ summary: Convert PDF to BMP
486
+ description: Converts a PDF file to a BMP image.
487
+ parameters:
488
+ - name: format
489
+ in: query
490
+ required: false
491
+ schema:
492
+ type: string
493
+ enum:
494
+ - json
495
+ - xml
496
+ default: json
497
+ description: Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure.
498
+ - name: file_id
499
+ in: query
500
+ required: false
501
+ schema:
502
+ type: string
503
+ description: The unique ID of a PDF file already uploaded to the API Freaks server. Use this as an alternative to uploading a new file directly.
504
+ - name: destroy
505
+ in: query
506
+ required: false
507
+ schema:
508
+ type: boolean
509
+ description: If set to `true`, the input file(s) will be permanently deleted from the server immediately after the output PDF is generated.
510
+ - name: output
511
+ in: query
512
+ required: false
513
+ schema:
514
+ type: string
515
+ description: The desired name for the output unrestricted PDF file. If not provided, a default name will be assigned.
516
+ - name: pages
517
+ in: query
518
+ required: false
519
+ schema:
520
+ type: string
521
+ description: 'Specifies the pages or ranges at which to split the PDF. Accepts individual page numbers (e.g., ''1'') and/or page ranges (e.g., ''4-2'', ''last''). Ranges can be ascending or descending. Use commas to separate entries and hyphens for ranges. Alternatively, provide only one of the following keywords: ''even'' (split at every even-numbered page), ''odd'' (split at every odd-numbered page), ''last'' (split at the last page only), or ''all'' (split into single pages). Examples: ''1,4-2,last'', ''odd'', ''all''. Mixing special keywords with specific pages/ranges is not allowed.'
522
+ - name: resolution
523
+ in: query
524
+ required: false
525
+ schema:
526
+ type: integer
527
+ description: Specifies the resolution (in DPI) for the output images. Acceptable Range is from 20 to 1200.
528
+ - name: image_smoothing
529
+ in: query
530
+ required: false
531
+ schema:
532
+ type: string
533
+ description: Determines the smoothing options to apply during image conversion. Valid values are 'none', 'all' or a combination of 'text', 'line', and 'image' (comma-separated).If not provided, no smoothing will be applied.
534
+ - name: profile
535
+ in: query
536
+ required: false
537
+ schema:
538
+ type: string
539
+ enum:
540
+ - bw
541
+ - gray
542
+ - rgb
543
+ - 4-bit
544
+ - 8-bit
545
+ description: 'Specifies the color profile for the output BMP images. Acceptable values: bw (1-bit black & white, smallest size, no grayscale or color), gray (8-bit grayscale), rgb (24-bit RGB color, default), rgba (32-bit RGB color with alpha channel for transparency), 4-bit (4-bit indexed color, up to 16 colors, smaller size), or 8-bit (8-bit indexed color, up to 256 colors).'
546
+ - name: webhook_url
547
+ in: query
548
+ required: false
549
+ schema:
550
+ type: string
551
+ description: The URL to which the webhook notification will be sent after the task is completed.
552
+ - name: webhook_failure_notification
553
+ in: query
554
+ required: false
555
+ schema:
556
+ type: boolean
557
+ description: If true, a notification will also be sent by email in case the webhook request fails all the retries. The email notification will be sent to the requesting user or their organization’s admin if part of one.
558
+ - name: X-Webhook-Authorization
559
+ in: header
560
+ required: false
561
+ schema:
562
+ type: string
563
+ description: 'Optional custom header for webhook requests. Format: `Key:Value` (e.g., `Authorization:Bearer token123`). This will be sent as an HTTP header in the webhook call.'
564
+ requestBody:
565
+ description: Multipart form-data body carrying the PDF file to convert. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.
566
+ required: false
567
+ content:
568
+ multipart/form-data:
569
+ schema:
570
+ $ref: '#/components/schemas/PdfFileUploadRequest'
571
+ responses:
572
+ '200':
573
+ description: PDF converted to BMP successfully
574
+ content:
575
+ application/json:
576
+ schema:
577
+ $ref: '#/components/schemas/PDFResponse'
578
+ examples:
579
+ success:
580
+ summary: Task created
581
+ value:
582
+ taskId: 04a06cd5-158d-4191-a45b-6f58249c599d
583
+ inputIds:
584
+ - 7a9e4b12-f3c8-4d56-b7e1-8c2f9d0a3e6f
585
+ '400':
586
+ description: Bad Request — Missing/invalid parameters or file ID
587
+ content:
588
+ application/json:
589
+ examples:
590
+ MissingFileOrID:
591
+ summary: Missing File or ID
592
+ value:
593
+ timestamp: '2026-07-27T10:51:09.542Z'
594
+ path: /v1.0/pdf/bmp
595
+ status: 400
596
+ error: Missing File or ID
597
+ message: Please provide either a file or a file ID.
598
+ InvalidFileID:
599
+ summary: file_id is malformed or does not exist
600
+ value:
601
+ error: Invalid File ID Provided
602
+ message: Please provide a valid file ID
603
+ path: /pdf/bmp
604
+ status: 400
605
+ timestamp: '2026-07-27T10:51:11.802Z'
606
+ InvalidImageProfile:
607
+ summary: Invalid Image Profile
608
+ value:
609
+ timestamp: '2026-07-27T10:51:10.081Z'
610
+ path: /v1.0/pdf/bmp
611
+ status: 400
612
+ error: Invalid Image Profile
613
+ message: Please provide a valid image profile. Refer to the documentation for valid profiles.
614
+ InvalidImageSmoothing:
615
+ summary: Invalid Image Smoothing
616
+ value:
617
+ timestamp: '2026-07-27T10:51:11.203Z'
618
+ path: /v1.0/pdf/bmp
619
+ status: 400
620
+ error: Invalid Image Smoothing
621
+ message: Please provide a valid smoothing option or combination. Refer to the documentation for valid options.
622
+ InvalidImageResolution:
623
+ summary: Invalid Image Resolution
624
+ value:
625
+ timestamp: '2026-07-27T10:51:10.648Z'
626
+ path: /v1.0/pdf/bmp
627
+ status: 400
628
+ error: Invalid Image Resolution
629
+ message: Please provide a valid image resolution(dpi). Refer to the documentation for valid resolution values.
630
+ schema:
631
+ $ref: '#/components/schemas/ErrorResponse'
632
+ /pdf/gif:
633
+ post:
634
+ tags:
635
+ - PDF To Image APIs
636
+ summary: Convert PDF to GIF
637
+ description: This API converts a given PDF file into a sequence of GIF images.
638
+ parameters:
639
+ - name: format
640
+ in: query
641
+ required: false
642
+ schema:
643
+ type: string
644
+ enum:
645
+ - json
646
+ - xml
647
+ default: json
648
+ description: Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure.
649
+ - name: file_id
650
+ in: query
651
+ required: false
652
+ schema:
653
+ type: string
654
+ description: The unique ID of a PDF file already uploaded to the API Freaks server. Use this as an alternative to uploading a new file directly.
655
+ - name: destroy
656
+ in: query
657
+ required: false
658
+ schema:
659
+ type: boolean
660
+ description: If set to `true`, the input file(s) will be permanently deleted from the server immediately after the output PDF is generated.
661
+ - name: output
662
+ in: query
663
+ required: false
664
+ schema:
665
+ type: string
666
+ description: The desired name for the output unrestricted PDF file. If not provided, a default name will be assigned.
667
+ - name: pages
668
+ in: query
669
+ required: false
670
+ schema:
671
+ type: string
672
+ description: 'Specifies the pages or ranges at which to split the PDF. Accepts individual page numbers (e.g., ''1'') and/or page ranges (e.g., ''4-2'', ''last''). Ranges can be ascending or descending. Use commas to separate entries and hyphens for ranges. Alternatively, provide only one of the following keywords: ''even'' (split at every even-numbered page), ''odd'' (split at every odd-numbered page), ''last'' (split at the last page only), or ''all'' (split into single pages). Examples: ''1,4-2,last'', ''odd'', ''all''. Mixing special keywords with specific pages/ranges is not allowed.'
673
+ - name: resolution
674
+ in: query
675
+ required: false
676
+ schema:
677
+ type: integer
678
+ description: Specifies the resolution (in DPI) for the output images. Acceptable Range is from 20 to 1200.
679
+ - name: image_smoothing
680
+ in: query
681
+ required: false
682
+ schema:
683
+ type: string
684
+ description: Determines the smoothing options to apply during image conversion. Valid values are 'none', 'all' or a combination of 'text', 'line', and 'image' (comma-separated).If not provided, no smoothing will be applied.
685
+ - name: profile
686
+ in: query
687
+ required: false
688
+ schema:
689
+ type: string
690
+ enum:
691
+ - bw
692
+ - gray
693
+ - rgb
694
+ - rgba
695
+ - 4-bit
696
+ - 8-bit
697
+ description: 'Specifies the color profile for the output GIF images. Acceptable values: bw (1-bit black & white, smallest size, no grayscale or color), gray (8-bit grayscale), rgb (24-bit RGB color, default), rgba (32-bit RGB color with alpha channel for transparency), 4-bit (4-bit indexed color, up to 16 colors, smaller size), or 8-bit (8-bit indexed color, up to 256 colors).'
698
+ - name: webhook_url
699
+ in: query
700
+ required: false
701
+ schema:
702
+ type: string
703
+ description: The URL to which the webhook notification will be sent after the task is completed.
704
+ - name: webhook_failure_notification
705
+ in: query
706
+ required: false
707
+ schema:
708
+ type: boolean
709
+ description: If true, a notification will also be sent by email in case the webhook request fails all the retries. The email notification will be sent to the requesting user or their organization’s admin if part of one.
710
+ - name: X-Webhook-Authorization
711
+ in: header
712
+ required: false
713
+ schema:
714
+ type: string
715
+ description: 'Optional custom header for webhook requests. Format: `Key:Value` (e.g., `Authorization:Bearer token123`). This will be sent as an HTTP header in the webhook call.'
716
+ requestBody:
717
+ description: Multipart form-data body carrying the PDF file to convert. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.
718
+ required: false
719
+ content:
720
+ multipart/form-data:
721
+ schema:
722
+ $ref: '#/components/schemas/PdfFileUploadRequest'
723
+ responses:
724
+ '200':
725
+ description: PDF converted to GIF successfully
726
+ content:
727
+ application/json:
728
+ schema:
729
+ $ref: '#/components/schemas/PDFResponse'
730
+ examples:
731
+ success:
732
+ summary: Task created
733
+ value:
734
+ taskId: 04a06cd5-158d-4191-a45b-6f58249c599d
735
+ inputIds:
736
+ - 7a9e4b12-f3c8-4d56-b7e1-8c2f9d0a3e6f
737
+ '400':
738
+ description: Bad Request — Missing/invalid parameters or file ID
739
+ content:
740
+ application/json:
741
+ examples:
742
+ MissingFileOrID:
743
+ summary: Missing File or ID
744
+ value:
745
+ timestamp: '2026-07-27T10:51:09.542Z'
746
+ path: /v1.0/pdf/gif
747
+ status: 400
748
+ error: Missing File or ID
749
+ message: Please provide either a file or a file ID.
750
+ InvalidFileID:
751
+ summary: file_id is malformed or does not exist
752
+ value:
753
+ error: Invalid File ID Provided
754
+ message: Please provide a valid file ID
755
+ path: /pdf/gif
756
+ status: 400
757
+ timestamp: '2026-07-27T10:51:11.802Z'
758
+ InvalidImageProfile:
759
+ summary: Invalid Image Profile
760
+ value:
761
+ timestamp: '2026-07-27T10:51:10.081Z'
762
+ path: /v1.0/pdf/gif
763
+ status: 400
764
+ error: Invalid Image Profile
765
+ message: Please provide a valid image profile. Refer to the documentation for valid profiles.
766
+ InvalidImageSmoothing:
767
+ summary: Invalid Image Smoothing
768
+ value:
769
+ timestamp: '2026-07-27T10:51:11.203Z'
770
+ path: /v1.0/pdf/gif
771
+ status: 400
772
+ error: Invalid Image Smoothing
773
+ message: Please provide a valid smoothing option or combination. Refer to the documentation for valid options.
774
+ InvalidImageResolution:
775
+ summary: Invalid Image Resolution
776
+ value:
777
+ timestamp: '2026-07-27T10:51:10.648Z'
778
+ path: /v1.0/pdf/gif
779
+ status: 400
780
+ error: Invalid Image Resolution
781
+ message: Please provide a valid image resolution(dpi). Refer to the documentation for valid resolution values.
782
+ schema:
783
+ $ref: '#/components/schemas/ErrorResponse'
784
+ components:
785
+ securitySchemes:
786
+ ApiKeyAuthHeader:
787
+ type: apiKey
788
+ in: header
789
+ name: X-apiKey
790
+ description: Pass your API key via the X-apiKey request header.
791
+ ApiKeyAuthQuery:
792
+ type: apiKey
793
+ in: query
794
+ name: apiKey
795
+ description: Pass your API key via the apiKey query parameter.
796
+ schemas:
797
+ PDFResponse:
798
+ type: object
799
+ description: Response containing the task ID and input file IDs for a PDF processing task.
800
+ required:
801
+ - taskId
802
+ properties:
803
+ taskId:
804
+ type: string
805
+ description: Task ID of the requested task, used to check the task status.
806
+ inputIds:
807
+ type: array
808
+ items:
809
+ type: string
810
+ description: File IDs for the input files provided for the task. Not returned when destroy parameter is true.
811
+ PdfFileUploadRequest:
812
+ type: object
813
+ description: Multipart form-data request body containing the PDF file to process.
814
+ required: []
815
+ properties:
816
+ file:
817
+ type: string
818
+ format: binary
819
+ description: Raw PDF file bytes sent as a multipart/form-data field named 'file'. Omit this field entirely and pass file_id in the query string instead to use an already-uploaded file.
820
+ ErrorResponse:
821
+ type: object
822
+ description: Standard error envelope returned by the API on failed requests.
823
+ required:
824
+ - message
825
+ properties:
826
+ error:
827
+ type: string
828
+ description: Short error category or exception type.
829
+ message:
830
+ type: string
831
+ description: Human-readable error message describing the failure.
832
+ path:
833
+ type: string
834
+ description: API endpoint path that produced the error.
835
+ status:
836
+ type: integer
837
+ description: HTTP status code returned with the error.
838
+ timestamp:
839
+ type: string
840
+ format: date-time
841
+ description: Timestamp when the error occurred (ISO 8601).
842
+ security:
843
+ - ApiKeyAuthHeader: []
844
+ - ApiKeyAuthQuery: []