Bulk Resize Images
Open Bulk Resize Images on Happytails.ai. This view has the same page content and links, with explicit tool capabilities. Read the processing notes before using a tool.
Tool capabilities
{
"id": "bulk-resize-images",
"category": "image-tools",
"built": true,
"requirements": "Up to 20 images and 20 MiB total; preserve aspect ratio; shrink only by default; report each output size; unique numbered filenames.",
"implementation": {
"fields": [
{
"key": "width",
"label": "Maximum width (px)",
"value": 1200,
"type": "number",
"min": 1,
"max": 8192,
"step": 1
},
{
"key": "enlarge",
"label": "Allow enlarging smaller images",
"value": false,
"type": "checkbox"
}
],
"files": true,
"multiple": true,
"input": false,
"accept": ".png,.jpg,.jpeg,.webp",
"maxFileBytes": 20971520,
"note": "Runs on your device. Select up to 20 images. Aspect ratios and transparency are preserved. PNG output can be larger than a JPEG original.",
"experience": {
"automatic": false,
"single": false,
"inputMaxLength": 1000000,
"inputMode": "text",
"label": "Your text",
"placeholder": "Type or paste your input…",
"help": "Up to 1,000,000 characters. Review the settings before running.",
"helpParts": [
"Up to 1,000,000 characters.",
"Review the settings before running."
],
"action": null
},
"mode": "explicit",
"interactive": false
},
"execution": "POST /api/v1/tools/bulk-resize-images/run",
"api": {
"id": "bulk-resize-images",
"name": "Bulk resize images",
"category": "image-tools",
"description": "Resize a batch of photos and download one ZIP.",
"notes": "Runs on your device. Select up to 20 images. Aspect ratios and transparency are preserved. PNG output can be larger than a JPEG original.",
"human_path": "/en/image-tools/bulk-resize-images/",
"method": "POST",
"endpoint": "/api/v1/tools/bulk-resize-images/run",
"schema_url": "/api/v1/tools/bulk-resize-images",
"input_schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"input": {
"type": "string",
"maxLength": 1000000,
"default": "",
"description": "Plain text input. File tools use files instead unless otherwise documented."
},
"options": {
"type": "object",
"additionalProperties": false,
"properties": {
"width": {
"type": "number",
"description": "Maximum width (px)",
"default": 1200.0,
"minimum": 1,
"maximum": 8192,
"multipleOf": 1
},
"enlarge": {
"type": "boolean",
"description": "Allow enlarging smaller images",
"default": false
}
}
},
"files": {
"type": "array",
"maxItems": 20,
"items": {
"type": "object",
"required": [
"name",
"base64"
],
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"description": "Filename only, no path."
},
"mime": {
"type": "string",
"maxLength": 150
},
"bytes": {
"type": "integer",
"minimum": 0,
"description": "Optional decoded byte count; must match content if supplied."
},
"base64": {
"type": "string",
"contentEncoding": "base64",
"description": "File bytes as padded base64. Use the tool-specific limits.files_bytes value for the total decoded input size."
}
}
}
}
}
},
"output_schema": {
"type": "object",
"required": [
"tool",
"result"
],
"properties": {
"tool": {
"type": "string"
},
"result": {
"type": "object",
"required": [
"text",
"files"
],
"properties": {
"text": {
"type": [
"string",
"null"
]
},
"data": {
"description": "Parsed JSON when the textual result is JSON."
},
"name": {
"type": "string"
},
"mime": {
"type": "string"
},
"files": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"mime",
"bytes",
"base64"
],
"properties": {
"name": {
"type": "string"
},
"mime": {
"type": "string"
},
"bytes": {
"type": "integer"
},
"base64": {
"type": "string",
"contentEncoding": "base64"
}
}
}
}
}
}
}
},
"processing": "Server; same transformation code as browser tools",
"limits": {
"request_bytes": 8388608,
"input_characters": 1000000,
"files_bytes": 5242880,
"max_files": 20,
"timeout_seconds": 12
}
},
"agent_processing": "Server; same transformation code as browser tools",
"browser_agent": {
"supported": true,
"name": "run_current_tool",
"discovery": "WebMCP on the human page in a supporting browser",
"verification": "See audit/API-AUDIT.md; availability is not verification"
}
}Page guide
Resize a batch of photos and download one ZIP.
How to use Bulk resize images
- Choose one or more images.
- Review the clearly labeled settings. Choose the action button to process your file.
- Compare the result with your original, then download it. Keep the original for further edits.
Useful next steps
What to expect
Resize a batch of photos and download one ZIP. Up to 20 images and 20 MiB total; preserve aspect ratio; shrink only by default; report each output size; unique numbered filenames.