
Webpage Screenshot Capture
Capture a webpage screenshot and return its image URL
Compress and resize JPEG, PNG, or WebP images
Optimize files supplied by users or images already available through a public HTTP(S) URL.
Accept the three common web image formats and choose the output format your workflow needs.
Fit images within target dimensions without distortion or unnecessary upscaling.
Balance file size and visual quality for JPEG and WebP while keeping PNG output lossless.
Receive the processed image with the correct media type and a usable download filename.
Reduce image payloads for websites, mobile apps, storage, email, archives, and publishing pipelines.

HTTP Protocol:HTTPS
HTTP Method:POST
HTTP Endpoint:https://api.gugudata.io/v1/image/image-compress
Response Type:application/json; charset=utf-8
DEMO Endpoint:https://api.gugudata.io/v1/image/image-compress/demo
Live Demo:Try Interactive Demo
Full API Docs:developers.gugudata.io
| Name | Type | Is Required | Default Value | Remark |
|---|---|---|---|---|
| appkey | string | true | YOUR_APPKEY | Application key used for request authentication. Supply it as a query parameter. |
| file | file | false | JPEG, PNG, or WebP multipart upload up to 10 MiB. Supply either file or image_url, but not both. | |
| image_url | string | false | Complete public HTTP or HTTPS image URL up to 2,048 characters. Supply either image_url or file, but not both. | |
| targetWidth | integer | false | Output width bound from 1 to 8,192 pixels. Aspect ratio is preserved and smaller images are not enlarged. | |
| targetHeight | integer | false | Output height bound from 1 to 8,192 pixels. Aspect ratio is preserved and smaller images are not enlarged. | |
| maxWidth | integer | false | Maximum output width from 1 to 8,192 pixels while preserving aspect ratio. | |
| maxHeight | integer | false | Maximum output height from 1 to 8,192 pixels while preserving aspect ratio. | |
| quality | integer | false | 85 | JPEG or WebP output quality from 1 to 95. PNG output remains lossless. |
| format | string | false | Output format: jpeg, jpg, png, or webp. The source format is used when omitted. |
| Name | Type | Remark |
|---|---|---|
| image | binary | Compressed image bytes. The response media type and download filename match the selected output format. |
| Status Code | Explanation of Status Code | Remarks |
|---|---|---|
| 200 | Request processed successfully. | Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`. |
| 400 | Invalid request parameters or request format. | Check required fields, data types, and request body format. |
| 401 | Missing or unknown application key. | Provide a valid `appkey` with the request. |
| 403 | The application key is recognized but access is not allowed. | The key may be expired, inactive, or not permitted for the requested API. |
| 429 | Request rate or trial usage limit exceeded. | Reduce concurrency or retry after the limit window resets. |
| 500 | Internal service error. | Retry later or contact support if the error persists. |
| 503 | Upstream service unavailable. | Retry later; the requested upstream dependency is temporarily unavailable. |
Connect your AI client once, authorize in the browser, and the client can use the GuGuData API tools available to your account. You do not need to paste an appkey into the MCP client.
https://mcp.gugudata.io/mcp{
"mcpServers": {
"gugudata": {
"url": "https://mcp.gugudata.io/mcp",
"transportType": "streamable-http"
}
}
}
Capture a webpage screenshot and return its image URL

Render a webpage as an image with configurable viewport settings

Read QR code content from images

Extract ordered image candidates from an article