Render PDF or image
renderCreate a PDF, PNG, JPEG, or WebP from HTML or a saved template. Image size is request.image.width and request.image.height. viewport is PDF-only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
renderCreate a PDF, PNG, JPEG, or WebP from HTML or a saved template. Image size is request.image.width and request.image.height. viewport is PDF-only.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Input schema / oneOfPrevious value: -[
- {
- "additionalProperties": false,
- "properties": {
- "idempotency_key": {
- "description": "Reuse this key only when retrying the same command. A new key starts new work and can spend credits again.",
- "maxLength": 255,
- "minLength": 1,
- "pattern": "^[ -~]+$",
- "type": "string"
- },
- "output": {
- "const": "pdf"
- },
- "request": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "html": {
- "maxLength": 5242880,
- "minLength": 1,
- "type": "string"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "pages": {
- "description": "Canvas data-thirds-page ids in output order. Omitted keeps every page in document order. Duplicate or unknown ids are refused.",
- "items": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[A-Za-z][A-Za-z0-9_-]{0,63}$",
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array"
- },
- "pdf": {
- "additionalProperties": false,
- "oneOf": [
- {
- "not": {
- "anyOf": [
- {
- "required": [
- "width"
- ]
- },
- {
- "required": [
- "height"
- ]
- }
- ]
- },
- "required": [
- "format"
- ]
- },
- {
- "not": {
- "required": [
- "format"
- ]
- },
- "required": [
- "width",
- "height"
- ]
- },
- {
- "not": {
- "anyOf": [
- {
- "required": [
- "format"
- ]
- },
- {
- "required": [
- "width"
- ]
- },
- {
- "required": [
- "height"
- ]
- }
- ]
- }
- }
- ],
- "properties": {
- "author": {
- "maxLength": 256,
- "type": "string"
- },
- "display_header_footer": {
- "type": "boolean"
- },
- "footer_template": {
- "maxLength": 100000,
- "type": "string"
- },
- "format": {
- "enum": [
- "A0",
- "A1",
- "A2",
- "A3",
- "A4",
- "A5",
- "A6",
- "Letter",
- "Legal",
- "Ledger",
- "Tabloid"
- ],
- "type": "string"
- },
- "header_template": {
- "maxLength": 100000,
- "type": "string"
- },
- "height": {
- "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
- "type": "string"
- },
- "landscape": {
- "type": "boolean"
- },
- "margins": {
- "additionalProperties": false,
- "properties": {
- "bottom": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- },
- "left": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- },
- "right": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- },
- "top": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "password": {
- "description": "PDF open password, at most 127 UTF-8 bytes. AES-256 encryption.",
- "maxLength": 127,
- "minLength": 1,
- "type": "string"
- },
- "print_background": {
- "type": "boolean"
- },
- "scale": {
- "maximum": 2,
- "minimum": 0.1,
- "type": "number"
- },
- "subject": {
- "maxLength": 256,
- "type": "string"
- },
- "title": {
- "maxLength": 256,
- "type": "string"
- },
- "width": {
- "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- },
- "viewport": {
- "additionalProperties": false,
- "description": "PDF layout viewport. Image requests use request.image.width and request.image.height instead.",
- "properties": {
- "device_scale_factor": {
- "maximum": 3,
- "minimum": 1,
- "type": "number"
- },
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "html"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "data": {
- "type": "object"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "html": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "pages": {
- "description": "Canvas data-thirds-page ids in output order. Omitted keeps every page in document order. Duplicate or unknown ids are refused.",
- "items": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[A-Za-z][A-Za-z0-9_-]{0,63}$",
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array"
- },
- "pdf": {
- "additionalProperties": false,
- "oneOf": [
- {
- "not": {
- "anyOf": [
- {
- "required": [
- "width"
- ]
- },
- {
- "required": [
- "height"
- ]
- }
- ]
- },
- "required": [
- "format"
- ]
- },
- {
- "not": {
- "required": [
- "format"
- ]
- },
- "required": [
- "width",
- "height"
- ]
- },
- {
- "not": {
- "anyOf": [
- {
- "required": [
- "format"
- ]
- },
- {
- "required": [
- "width"
- ]
- },
- {
- "required": [
- "height"
- ]
- }
- ]
- }
- }
- ],
- "properties": {
- "author": {
- "maxLength": 256,
- "type": "string"
- },
- "display_header_footer": {
- "type": "boolean"
- },
- "footer_template": {
- "maxLength": 100000,
- "type": "string"
- },
- "format": {
- "enum": [
- "A0",
- "A1",
- "A2",
- "A3",
- "A4",
- "A5",
- "A6",
- "Letter",
- "Legal",
- "Ledger",
- "Tabloid"
- ],
- "type": "string"
- },
- "header_template": {
- "maxLength": 100000,
- "type": "string"
- },
- "height": {
- "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
- "type": "string"
- },
- "landscape": {
- "type": "boolean"
- },
- "margins": {
- "additionalProperties": false,
- "properties": {
- "bottom": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- },
- "left": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- },
- "right": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- },
- "top": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "password": {
- "description": "PDF open password, at most 127 UTF-8 bytes. AES-256 encryption.",
- "maxLength": 127,
- "minLength": 1,
- "type": "string"
- },
- "print_background": {
- "type": "boolean"
- },
- "scale": {
- "maximum": 2,
- "minimum": 0.1,
- "type": "number"
- },
- "subject": {
- "maxLength": 256,
- "type": "string"
- },
- "title": {
- "maxLength": 256,
- "type": "string"
- },
- "width": {
- "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- },
- "viewport": {
- "additionalProperties": false,
- "description": "PDF layout viewport. Image requests use request.image.width and request.image.height instead.",
- "properties": {
- "device_scale_factor": {
- "maximum": 3,
- "minimum": 1,
- "type": "number"
- },
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "html",
- "data"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "data": {
- "type": "object"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "pages": {
- "description": "Canvas data-thirds-page ids in output order. Omitted keeps every page in document order. Duplicate or unknown ids are refused.",
- "items": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[A-Za-z][A-Za-z0-9_-]{0,63}$",
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array"
- },
- "pdf": {
- "additionalProperties": false,
- "oneOf": [
- {
- "not": {
- "anyOf": [
- {
- "required": [
- "width"
- ]
- },
- {
- "required": [
- "height"
- ]
- }
- ]
- },
- "required": [
- "format"
- ]
- },
- {
- "not": {
- "required": [
- "format"
- ]
- },
- "required": [
- "width",
- "height"
- ]
- },
- {
- "not": {
- "anyOf": [
- {
- "required": [
- "format"
- ]
- },
- {
- "required": [
- "width"
- ]
- },
- {
- "required": [
- "height"
- ]
- }
- ]
- }
- }
- ],
- "properties": {
- "author": {
- "maxLength": 256,
- "type": "string"
- },
- "display_header_footer": {
- "type": "boolean"
- },
- "footer_template": {
- "maxLength": 100000,
- "type": "string"
- },
- "format": {
- "enum": [
- "A0",
- "A1",
- "A2",
- "A3",
- "A4",
- "A5",
- "A6",
- "Letter",
- "Legal",
- "Ledger",
- "Tabloid"
- ],
- "type": "string"
- },
- "header_template": {
- "maxLength": 100000,
- "type": "string"
- },
- "height": {
- "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
- "type": "string"
- },
- "landscape": {
- "type": "boolean"
- },
- "margins": {
- "additionalProperties": false,
- "properties": {
- "bottom": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- },
- "left": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- },
- "right": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- },
- "top": {
- "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "password": {
- "description": "PDF open password, at most 127 UTF-8 bytes. AES-256 encryption.",
- "maxLength": 127,
- "minLength": 1,
- "type": "string"
- },
- "print_background": {
- "type": "boolean"
- },
- "scale": {
- "maximum": 2,
- "minimum": 0.1,
- "type": "number"
- },
- "subject": {
- "maxLength": 256,
- "type": "string"
- },
- "title": {
- "maxLength": 256,
- "type": "string"
- },
- "width": {
- "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- },
- "template_id": {
- "pattern": "^tpl_[0-9a-f]{32}$",
- "type": "string"
- },
- "version": {
- "minimum": 1,
- "type": "integer"
- },
- "viewport": {
- "additionalProperties": false,
- "description": "PDF layout viewport. Image requests use request.image.width and request.image.height instead.",
- "properties": {
- "device_scale_factor": {
- "maximum": 3,
- "minimum": 1,
- "type": "number"
- },
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "template_id",
- "data"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "output",
- "idempotency_key",
- "request"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "idempotency_key": {
- "description": "Reuse this key only when retrying the same command. A new key starts new work and can spend credits again.",
- "maxLength": 255,
- "minLength": 1,
- "pattern": "^[ -~]+$",
- "type": "string"
- },
- "output": {
- "const": "png"
- },
- "request": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "html": {
- "maxLength": 5242880,
- "minLength": 1,
- "type": "string"
- },
- "image": {
- "additionalProperties": false,
- "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
- "properties": {
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "transparent": {
- "type": "boolean"
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- }
- },
- "required": [
- "html"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "data": {
- "type": "object"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "html": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "image": {
- "additionalProperties": false,
- "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
- "properties": {
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "transparent": {
- "type": "boolean"
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- }
- },
- "required": [
- "html",
- "data"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "data": {
- "type": "object"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "image": {
- "additionalProperties": false,
- "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
- "properties": {
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "transparent": {
- "type": "boolean"
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- },
- "size_id": {
- "description": "Selects one saved size of the template instead of the original. The image width and height must match the size exactly.",
- "pattern": "^[a-z0-9][a-z0-9-]{0,39}$",
- "type": [
- "string",
- "null"
- ]
- },
- "template_id": {
- "pattern": "^tpl_[0-9a-f]{32}$",
- "type": "string"
- },
- "version": {
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "template_id",
- "data"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "output",
- "idempotency_key",
- "request"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "idempotency_key": {
- "description": "Reuse this key only when retrying the same command. A new key starts new work and can spend credits again.",
- "maxLength": 255,
- "minLength": 1,
- "pattern": "^[ -~]+$",
- "type": "string"
- },
- "output": {
- "const": "jpeg"
- },
- "request": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "html": {
- "maxLength": 5242880,
- "minLength": 1,
- "type": "string"
- },
- "image": {
- "additionalProperties": false,
- "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
- "properties": {
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "quality": {
- "maximum": 100,
- "minimum": 1,
- "type": "integer"
- },
- "transparent": {
- "const": false
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- }
- },
- "required": [
- "html"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "data": {
- "type": "object"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "html": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "image": {
- "additionalProperties": false,
- "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
- "properties": {
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "quality": {
- "maximum": 100,
- "minimum": 1,
- "type": "integer"
- },
- "transparent": {
- "const": false
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- }
- },
- "required": [
- "html",
- "data"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "data": {
- "type": "object"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "image": {
- "additionalProperties": false,
- "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
- "properties": {
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "quality": {
- "maximum": 100,
- "minimum": 1,
- "type": "integer"
- },
- "transparent": {
- "const": false
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- },
- "size_id": {
- "description": "Selects one saved size of the template instead of the original. The image width and height must match the size exactly.",
- "pattern": "^[a-z0-9][a-z0-9-]{0,39}$",
- "type": [
- "string",
- "null"
- ]
- },
- "template_id": {
- "pattern": "^tpl_[0-9a-f]{32}$",
- "type": "string"
- },
- "version": {
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "template_id",
- "data"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "output",
- "idempotency_key",
- "request"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "idempotency_key": {
- "description": "Reuse this key only when retrying the same command. A new key starts new work and can spend credits again.",
- "maxLength": 255,
- "minLength": 1,
- "pattern": "^[ -~]+$",
- "type": "string"
- },
- "output": {
- "const": "webp"
- },
- "request": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "html": {
- "maxLength": 5242880,
- "minLength": 1,
- "type": "string"
- },
- "image": {
- "additionalProperties": false,
- "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
- "properties": {
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "quality": {
- "maximum": 100,
- "minimum": 1,
- "type": "integer"
- },
- "transparent": {
- "type": "boolean"
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- }
- },
- "required": [
- "html"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "data": {
- "type": "object"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "html": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "image": {
- "additionalProperties": false,
- "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
- "properties": {
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "quality": {
- "maximum": 100,
- "minimum": 1,
- "type": "integer"
- },
- "transparent": {
- "type": "boolean"
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- }
- },
- "required": [
- "html",
- "data"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "brand_kit_id": {
- "description": "Select an owned brand kit for the reserved brand template data.",
- "pattern": "^kit_[0-9a-f]{32}$",
- "type": "string"
- },
- "data": {
- "type": "object"
- },
- "filename": {
- "description": "Safe download name. The server uses the real output extension.",
- "maxLength": 120,
- "minLength": 1,
- "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
- "type": "string"
- },
- "image": {
- "additionalProperties": false,
- "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
- "properties": {
- "height": {
- "maximum": 4320,
- "minimum": 200,
- "type": "integer"
- },
- "quality": {
- "maximum": 100,
- "minimum": 1,
- "type": "integer"
- },
- "transparent": {
- "type": "boolean"
- },
- "width": {
- "maximum": 7680,
- "minimum": 320,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "javascript": {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "enum": [
- "disabled",
- "enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "reference": {
- "description": "Your reference, returned in the job, history, and webhook.",
- "maxLength": 200,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
- "type": "string"
- },
- "size_id": {
- "description": "Selects one saved size of the template instead of the original. The image width and height must match the size exactly.",
- "pattern": "^[a-z0-9][a-z0-9-]{0,39}$",
- "type": [
- "string",
- "null"
- ]
- },
- "template_id": {
- "pattern": "^tpl_[0-9a-f]{32}$",
- "type": "string"
- },
- "version": {
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "template_id",
- "data"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "output",
- "idempotency_key",
- "request"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "idempotency_key": {
+ "description": "Reuse this key only when retrying the same command. A new key starts new work and can spend credits again.",
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^[ -~]+$",
+ "type": "string"
+ },
+ "output": {
+ "const": "pdf"
+ },
+ "request": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "html": {
+ "maxLength": 5242880,
+ "minLength": 1,
+ "type": "string"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pages": {
+ "description": "Canvas data-thirds-page ids in output order. Omitted keeps every page in document order. Duplicate or unknown ids are refused.",
+ "items": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z][A-Za-z0-9_-]{0,63}$",
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ },
+ "pdf": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "not": {
+ "anyOf": [
+ {
+ "required": [
+ "width"
+ ]
+ },
+ {
+ "required": [
+ "height"
+ ]
+ }
+ ]
+ },
+ "required": [
+ "format"
+ ]
+ },
+ {
+ "not": {
+ "required": [
+ "format"
+ ]
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ },
+ {
+ "not": {
+ "anyOf": [
+ {
+ "required": [
+ "format"
+ ]
+ },
+ {
+ "required": [
+ "width"
+ ]
+ },
+ {
+ "required": [
+ "height"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "properties": {
+ "author": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "display_header_footer": {
+ "type": "boolean"
+ },
+ "footer_template": {
+ "maxLength": 100000,
+ "type": "string"
+ },
+ "format": {
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Ledger",
+ "Tabloid"
+ ],
+ "type": "string"
+ },
+ "header_template": {
+ "maxLength": 100000,
+ "type": "string"
+ },
+ "height": {
+ "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "landscape": {
+ "type": "boolean"
+ },
+ "margins": {
+ "additionalProperties": false,
+ "properties": {
+ "bottom": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "left": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "right": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "top": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "password": {
+ "description": "PDF open password, at most 127 UTF-8 bytes. AES-256 encryption.",
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "print_background": {
+ "type": "boolean"
+ },
+ "scale": {
+ "maximum": 2,
+ "minimum": 0.1,
+ "type": "number"
+ },
+ "subject": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "title": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "width": {
+ "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "viewport": {
+ "additionalProperties": false,
+ "description": "PDF layout viewport. Image requests use request.image.width and request.image.height instead.",
+ "properties": {
+ "device_scale_factor": {
+ "maximum": 3,
+ "minimum": 1,
+ "type": "number"
+ },
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "html"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "data": {
+ "type": "object"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "html": {
+ "maxLength": 1048576,
+ "minLength": 1,
+ "type": "string"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pages": {
+ "description": "Canvas data-thirds-page ids in output order. Omitted keeps every page in document order. Duplicate or unknown ids are refused.",
+ "items": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z][A-Za-z0-9_-]{0,63}$",
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ },
+ "pdf": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "not": {
+ "anyOf": [
+ {
+ "required": [
+ "width"
+ ]
+ },
+ {
+ "required": [
+ "height"
+ ]
+ }
+ ]
+ },
+ "required": [
+ "format"
+ ]
+ },
+ {
+ "not": {
+ "required": [
+ "format"
+ ]
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ },
+ {
+ "not": {
+ "anyOf": [
+ {
+ "required": [
+ "format"
+ ]
+ },
+ {
+ "required": [
+ "width"
+ ]
+ },
+ {
+ "required": [
+ "height"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "properties": {
+ "author": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "display_header_footer": {
+ "type": "boolean"
+ },
+ "footer_template": {
+ "maxLength": 100000,
+ "type": "string"
+ },
+ "format": {
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Ledger",
+ "Tabloid"
+ ],
+ "type": "string"
+ },
+ "header_template": {
+ "maxLength": 100000,
+ "type": "string"
+ },
+ "height": {
+ "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "landscape": {
+ "type": "boolean"
+ },
+ "margins": {
+ "additionalProperties": false,
+ "properties": {
+ "bottom": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "left": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "right": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "top": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "password": {
+ "description": "PDF open password, at most 127 UTF-8 bytes. AES-256 encryption.",
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "print_background": {
+ "type": "boolean"
+ },
+ "scale": {
+ "maximum": 2,
+ "minimum": 0.1,
+ "type": "number"
+ },
+ "subject": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "title": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "width": {
+ "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "viewport": {
+ "additionalProperties": false,
+ "description": "PDF layout viewport. Image requests use request.image.width and request.image.height instead.",
+ "properties": {
+ "device_scale_factor": {
+ "maximum": 3,
+ "minimum": 1,
+ "type": "number"
+ },
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "html",
+ "data"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "data": {
+ "type": "object"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pages": {
+ "description": "Canvas data-thirds-page ids in output order. Omitted keeps every page in document order. Duplicate or unknown ids are refused.",
+ "items": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z][A-Za-z0-9_-]{0,63}$",
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ },
+ "pdf": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "not": {
+ "anyOf": [
+ {
+ "required": [
+ "width"
+ ]
+ },
+ {
+ "required": [
+ "height"
+ ]
+ }
+ ]
+ },
+ "required": [
+ "format"
+ ]
+ },
+ {
+ "not": {
+ "required": [
+ "format"
+ ]
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ },
+ {
+ "not": {
+ "anyOf": [
+ {
+ "required": [
+ "format"
+ ]
+ },
+ {
+ "required": [
+ "width"
+ ]
+ },
+ {
+ "required": [
+ "height"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "properties": {
+ "author": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "display_header_footer": {
+ "type": "boolean"
+ },
+ "footer_template": {
+ "maxLength": 100000,
+ "type": "string"
+ },
+ "format": {
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Ledger",
+ "Tabloid"
+ ],
+ "type": "string"
+ },
+ "header_template": {
+ "maxLength": 100000,
+ "type": "string"
+ },
+ "height": {
+ "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "landscape": {
+ "type": "boolean"
+ },
+ "margins": {
+ "additionalProperties": false,
+ "properties": {
+ "bottom": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "left": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "right": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ },
+ "top": {
+ "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,4})?(?:px|in|cm|mm)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "password": {
+ "description": "PDF open password, at most 127 UTF-8 bytes. AES-256 encryption.",
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "print_background": {
+ "type": "boolean"
+ },
+ "scale": {
+ "maximum": 2,
+ "minimum": 0.1,
+ "type": "number"
+ },
+ "subject": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "title": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "width": {
+ "pattern": "^(?:0\\.(?=[0-9]{1,4}(?:px|in|cm|mm)$)(?=[0-9]*[1-9])[0-9]{1,4}|[1-9][0-9]*(?:\\.[0-9]{1,4})?)(?:px|in|cm|mm)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "template_id": {
+ "pattern": "^tpl_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "version": {
+ "minimum": 1,
+ "type": "integer"
+ },
+ "viewport": {
+ "additionalProperties": false,
+ "description": "PDF layout viewport. Image requests use request.image.width and request.image.height instead.",
+ "properties": {
+ "device_scale_factor": {
+ "maximum": 3,
+ "minimum": 1,
+ "type": "number"
+ },
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "template_id",
+ "data"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "output",
+ "idempotency_key",
+ "request"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "idempotency_key": {
+ "description": "Reuse this key only when retrying the same command. A new key starts new work and can spend credits again.",
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^[ -~]+$",
+ "type": "string"
+ },
+ "output": {
+ "const": "png"
+ },
+ "request": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "html": {
+ "maxLength": 5242880,
+ "minLength": 1,
+ "type": "string"
+ },
+ "image": {
+ "additionalProperties": false,
+ "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
+ "properties": {
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "transparent": {
+ "type": "boolean"
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "html"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "data": {
+ "type": "object"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "html": {
+ "maxLength": 1048576,
+ "minLength": 1,
+ "type": "string"
+ },
+ "image": {
+ "additionalProperties": false,
+ "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
+ "properties": {
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "transparent": {
+ "type": "boolean"
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "html",
+ "data"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "data": {
+ "type": "object"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "image": {
+ "additionalProperties": false,
+ "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
+ "properties": {
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "transparent": {
+ "type": "boolean"
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "size_id": {
+ "description": "Selects one saved size of the template instead of the original. The image width and height must match the size exactly.",
+ "pattern": "^[a-z0-9][a-z0-9-]{0,39}$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "template_id": {
+ "pattern": "^tpl_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "version": {
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "template_id",
+ "data"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "output",
+ "idempotency_key",
+ "request"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "idempotency_key": {
+ "description": "Reuse this key only when retrying the same command. A new key starts new work and can spend credits again.",
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^[ -~]+$",
+ "type": "string"
+ },
+ "output": {
+ "const": "jpeg"
+ },
+ "request": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "html": {
+ "maxLength": 5242880,
+ "minLength": 1,
+ "type": "string"
+ },
+ "image": {
+ "additionalProperties": false,
+ "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
+ "properties": {
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "quality": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "transparent": {
+ "const": false
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "html"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "data": {
+ "type": "object"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "html": {
+ "maxLength": 1048576,
+ "minLength": 1,
+ "type": "string"
+ },
+ "image": {
+ "additionalProperties": false,
+ "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
+ "properties": {
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "quality": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "transparent": {
+ "const": false
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "html",
+ "data"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "data": {
+ "type": "object"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "image": {
+ "additionalProperties": false,
+ "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
+ "properties": {
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "quality": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "transparent": {
+ "const": false
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "size_id": {
+ "description": "Selects one saved size of the template instead of the original. The image width and height must match the size exactly.",
+ "pattern": "^[a-z0-9][a-z0-9-]{0,39}$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "template_id": {
+ "pattern": "^tpl_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "version": {
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "template_id",
+ "data"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "output",
+ "idempotency_key",
+ "request"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "idempotency_key": {
+ "description": "Reuse this key only when retrying the same command. A new key starts new work and can spend credits again.",
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^[ -~]+$",
+ "type": "string"
+ },
+ "output": {
+ "const": "webp"
+ },
+ "request": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "html": {
+ "maxLength": 5242880,
+ "minLength": 1,
+ "type": "string"
+ },
+ "image": {
+ "additionalProperties": false,
+ "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
+ "properties": {
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "quality": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "transparent": {
+ "type": "boolean"
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "html"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "data": {
+ "type": "object"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "html": {
+ "maxLength": 1048576,
+ "minLength": 1,
+ "type": "string"
+ },
+ "image": {
+ "additionalProperties": false,
+ "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
+ "properties": {
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "quality": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "transparent": {
+ "type": "boolean"
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "html",
+ "data"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "brand_kit_id": {
+ "description": "Select an owned brand kit for the reserved brand template data.",
+ "pattern": "^kit_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "data": {
+ "type": "object"
+ },
+ "filename": {
+ "description": "Safe download name. The server uses the real output extension.",
+ "maxLength": 120,
+ "minLength": 1,
+ "pattern": "^(?!.* $)(?!.*\\.\\.)[A-Za-z0-9][A-Za-z0-9 ._-]*$",
+ "type": "string"
+ },
+ "image": {
+ "additionalProperties": false,
+ "description": "Image pixel size. Use width and height here. viewport is valid only on PDF requests.",
+ "properties": {
+ "height": {
+ "maximum": 4320,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "quality": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "transparent": {
+ "type": "boolean"
+ },
+ "width": {
+ "maximum": 7680,
+ "minimum": 320,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "javascript": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reference": {
+ "description": "Your reference, returned in the job, history, and webhook.",
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
+ "type": "string"
+ },
+ "retention_days": {
+ "description": "Days to keep the finished file. Omit it to use the account default. A paid plan allows up to 365; a free, pack-only, or trial account allows up to 30.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "size_id": {
+ "description": "Selects one saved size of the template instead of the original. The image width and height must match the size exactly.",
+ "pattern": "^[a-z0-9][a-z0-9-]{0,39}$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "template_id": {
+ "pattern": "^tpl_[0-9a-f]{32}$",
+ "type": "string"
+ },
+ "version": {
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "template_id",
+ "data"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "output",
+ "idempotency_key",
+ "request"
+ ],
+ "type": "object"
+ }
+]Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, idempotent=true, openWorld=true, and destructive=false, so the safety profile is covered. The description adds the 'viewport is PDF-only' constraint, but says nothing about the async job lifecycle, credit consumption, or the idempotency_key/credit implication that the schema surfaces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero padding, with the core capability front-loaded before the two scoping constraints. Every sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a highly complex multi-variant tool the description is thin, but the rich schema covers the request variants and the async/idempotency semantics are documented on idempotency_key. It stops short of explaining the job/credit model, which would be the only meaningful remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents sizes and constraints; the description's size/viewport note largely restates what the 'image' and 'viewport' schema descriptions say. Baseline 3 is appropriate — it reinforces but does not extend the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create') with the exact output formats (PDF, PNG, JPEG, WebP) and both input sources (HTML or a saved template). An agent can cleanly distinguish this from siblings like preview_template or create_ai_image.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mention of 'HTML or a saved template' implies the two request shapes, but there is no explicit when-to-use vs. when-not guidance and no reference to a sibling (e.g., preview_template for a dry run). Usage is inferable only from the schema variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.