Skip to main content
Glama

HTML/CSS to Image API

Create an OG Configuration

create_og_config

Saves a new Open Graph (social preview) image configuration for pages on an HTTPS website. Use config_type: html_css to render source pages with default rendering options, or templated to render an existing template using values extracted from page metadata. Returns the saved configuration in item, including id for later management and domain_id for its Open Graph image URLs. Requires a plan that supports OG configurations. Use create_url_image for a single page screenshot and update_og_config to change an existing configuration.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contentYesConfiguration name, HTTPS base_url origin, and config_type. For html_css, supply default_options as needed and enable extract_values to let page metadata override them. For templated, supply an existing template_id and any template_values_mapping. Set disabled: true to save it without enabling image serving.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemNoOperation result. Check success before using this value.
errorNoError details when the operation failed; null on success.
successNoWhether the operation succeeded. If false, inspect error before retrying.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / content / anyOf
      Previous value: -[
      -  {
      -    "description": "Settings for an Open Graph configuration that renders page HTML/CSS.",
      -    "properties": {
      -      "base_url": {
      -        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "html_css"
      -      },
      -      "default_options": {
      -        "description": "Default image rendering options for pages served by this configuration. Any extracted values will override these defaults.",
      -        "properties": {
      -          "additional_header_origins": {
      -            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": [
      -              "array",
      -              "null"
      -            ]
      -          },
      -          "block_consent_banners": {
      -            "description": "Attempt to block cookie/consent banners from displaying.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "color_scheme": {
      -            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      -            "enum": [
      -              "light",
      -              "dark",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "css": {
      -            "description": "CSS injected into the loaded page to override its styles.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "device_scale": {
      -            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      -            "maximum": 3,
      -            "minimum": 0.1,
      -            "type": [
      -              "number",
      -              "null"
      -            ]
      -          },
      -          "disable_twemoji": {
      -            "description": "Set explicitly to false to inject Twemoji into the captured URL page. Omitted, null, or true leaves the page's emoji handling unchanged and does not disable the website's own emoji scripts.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "headers": {
      -            "additionalProperties": {
      -              "type": "string"
      -            },
      -            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      -            "type": [
      -              "object",
      -              "null"
      -            ]
      -          },
      -          "identify_as_hcti": {
      -            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "include_headers_on_subrequests": {
      -            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "max_wait_ms": {
      -            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      -            "maximum": 10000,
      -            "minimum": 500,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "media_type": {
      -            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      -            "enum": [
      -              "print",
      -              "screen",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "ms_delay": {
      -            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      -            "maximum": 10000,
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "proxy_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "render_when_ready": {
      -            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "selector": {
      -            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "storage_destination_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "timezone": {
      -            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "transparent_background": {
      -            "description": "Specifies whether the image is rendered with a transparent background.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_height": {
      -            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "viewport_landscape": {
      -            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_mobile": {
      -            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_touch": {
      -            "description": "Specifies whether the emulated viewport supports touch events.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_width": {
      -            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          }
      -        },
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "description": {
      -        "description": "Optional description of the configuration, up to 1023 characters.",
      -        "maxLength": 1023,
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "disabled": {
      -        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      -        "type": "boolean"
      -      },
      -      "extract_values": {
      -        "description": "Whether to extract image options from page metadata. When disabled, only the configured defaults are used.",
      -        "type": "boolean"
      -      },
      -      "name": {
      -        "description": "Display name for the configuration, up to 255 characters.",
      -        "maxLength": 255,
      -        "type": "string"
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      -        "maximum": 31536000,
      -        "minimum": 1800,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "name",
      -      "base_url"
      -    ]
      -  },
      -  {
      -    "description": "Settings for an Open Graph configuration that renders a template using values extracted from page metadata.",
      -    "properties": {
      -      "additional_header_origins": {
      -        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "base_url": {
      -        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "templated"
      -      },
      -      "description": {
      -        "description": "Optional description of the configuration, up to 1023 characters.",
      -        "maxLength": 1023,
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "disabled": {
      -        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      -        "type": "boolean"
      -      },
      -      "headers": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "name": {
      -        "description": "Display name for the configuration, up to 255 characters.",
      -        "maxLength": 255,
      -        "type": "string"
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      -        "maximum": 31536000,
      -        "minimum": 1800,
      -        "type": "integer"
      -      },
      -      "template_id": {
      -        "description": "ID of the template used to render images.",
      -        "type": "string"
      -      },
      -      "template_values_mapping": {
      -        "description": "Up to 32 mappings from page metadata to template fields. Each mapping supplies either a meta_key or a fallback.",
      -        "items": {
      -          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      -          "properties": {
      -            "fallback": {
      -              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      -              "enum": [
      -                "titles",
      -                "descriptions",
      -                null
      -              ],
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "meta_key": {
      -              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      -              "maxLength": 136,
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "template_key": {
      -              "description": "Template field path to populate, up to 128 characters.",
      -              "maxLength": 128,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "template_key"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 32,
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "template_version": {
      -        "description": "Template version to use. Omit or set to null to use the latest version.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "template_id",
      -      "name",
      -      "base_url"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "description": "Settings for an Open Graph configuration that renders page HTML/CSS.",
      +    "properties": {
      +      "base_url": {
      +        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      +        "maxLength": 2048,
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "html_css"
      +      },
      +      "default_options": {
      +        "description": "Default image rendering options for pages served by this configuration. Any extracted values will override these defaults.",
      +        "properties": {
      +          "additional_header_origins": {
      +            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "block_consent_banners": {
      +            "description": "Attempt to block cookie/consent banners from displaying.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "color_scheme": {
      +            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      +            "enum": [
      +              "light",
      +              "dark",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "css": {
      +            "description": "CSS injected into the loaded page to override its styles.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "device_scale": {
      +            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      +            "maximum": 3,
      +            "minimum": 0.1,
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "disable_twemoji": {
      +            "description": "Set explicitly to false to inject Twemoji into the captured URL page. Omitted, null, or true leaves the page's emoji handling unchanged and does not disable the website's own emoji scripts.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "headers": {
      +            "additionalProperties": {
      +              "type": "string"
      +            },
      +            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "identify_as_hcti": {
      +            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "include_headers_on_subrequests": {
      +            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "max_wait_ms": {
      +            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      +            "maximum": 10000,
      +            "minimum": 500,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "media_type": {
      +            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      +            "enum": [
      +              "print",
      +              "screen",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "ms_delay": {
      +            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      +            "maximum": 10000,
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "proxy_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "render_when_ready": {
      +            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "request_overrides": {
      +            "description": "Rules that override browser network requests. The block action blocks requests matching a URL wildcard pattern and/or resource types. When both matchers are supplied, both must match. A request is blocked if any block rule matches. Omitted, null, or an empty array adds no overrides. Requires a paid plan. Set default_options.request_overrides to a JSON array. Maximum 100 rules and 512 characters per URL pattern. Each block rule requires a nonempty URL pattern or at least one resource type; supplied matchers cannot be empty. Not supported in hcti: meta tags.",
      +            "items": {
      +              "anyOf": [
      +                {
      +                  "properties": {
      +                    "action": {
      +                      "const": "block"
      +                    },
      +                    "resource_types": {
      +                      "description": "Resource types to match, supplied as an array of names, such as image, script, xhr, or fetch. Any listed type may match. When url is also supplied, it must match too.",
      +                      "items": {
      +                        "enum": [
      +                          "beacon",
      +                          "document",
      +                          "stylesheet",
      +                          "image",
      +                          "image_set",
      +                          "media",
      +                          "font",
      +                          "script",
      +                          "text_track",
      +                          "xhr",
      +                          "fetch",
      +                          "event_source",
      +                          "manifest",
      +                          "ping",
      +                          "img",
      +                          "other"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "type": [
      +                        "array",
      +                        "null"
      +                      ]
      +                    },
      +                    "url": {
      +                      "description": "URL wildcard pattern to match, using * for any sequence of characters. When resource_types is also supplied, both matchers must match.",
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  }
      +                }
      +              ],
      +              "description": "A browser request override. The action discriminator selects the rule type; currently only block is supported.",
      +              "required": [
      +                "action"
      +              ],
      +              "type": "object"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "selector": {
      +            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "storage_destination_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "timezone": {
      +            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "transparent_background": {
      +            "description": "Specifies whether the image is rendered with a transparent background.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_height": {
      +            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "viewport_landscape": {
      +            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_mobile": {
      +            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_touch": {
      +            "description": "Specifies whether the emulated viewport supports touch events.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_width": {
      +            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "description": {
      +        "description": "Optional description of the configuration, up to 1023 characters.",
      +        "maxLength": 1023,
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "disabled": {
      +        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      +        "type": "boolean"
      +      },
      +      "extract_values": {
      +        "description": "Whether to extract image options from page metadata. When disabled, only the configured defaults are used.",
      +        "type": "boolean"
      +      },
      +      "name": {
      +        "description": "Display name for the configuration, up to 255 characters.",
      +        "maxLength": 255,
      +        "type": "string"
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      +        "maximum": 31536000,
      +        "minimum": 1800,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "base_url"
      +    ]
      +  },
      +  {
      +    "description": "Settings for an Open Graph configuration that renders a template using values extracted from page metadata.",
      +    "properties": {
      +      "additional_header_origins": {
      +        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "base_url": {
      +        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      +        "maxLength": 2048,
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "templated"
      +      },
      +      "description": {
      +        "description": "Optional description of the configuration, up to 1023 characters.",
      +        "maxLength": 1023,
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "disabled": {
      +        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      +        "type": "boolean"
      +      },
      +      "headers": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "description": "Display name for the configuration, up to 255 characters.",
      +        "maxLength": 255,
      +        "type": "string"
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      +        "maximum": 31536000,
      +        "minimum": 1800,
      +        "type": "integer"
      +      },
      +      "template_id": {
      +        "description": "ID of the template used to render images.",
      +        "type": "string"
      +      },
      +      "template_values_mapping": {
      +        "description": "Up to 32 mappings from page metadata to template fields. Each mapping supplies either a meta_key or a fallback.",
      +        "items": {
      +          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      +          "properties": {
      +            "fallback": {
      +              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      +              "enum": [
      +                "titles",
      +                "descriptions",
      +                null
      +              ],
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "meta_key": {
      +              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      +              "maxLength": 136,
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "template_key": {
      +              "description": "Template field path to populate, up to 128 characters.",
      +              "maxLength": 128,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_key"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 32,
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "template_version": {
      +        "description": "Template version to use. Omit or set to null to use the latest version.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "template_id",
      +      "name",
      +      "base_url"
      +    ]
      +  }
      +]
    • changedOutput schema / properties / item / anyOf
      Previous value: -[
      -  {
      -    "description": "An Open Graph configuration that renders page HTML/CSS.",
      -    "properties": {
      -      "base_url": {
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "html_css"
      -      },
      -      "created_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "default_options": {
      -        "description": "Default image rendering options for pages served by this configuration. Extracted image options override these defaults.",
      -        "properties": {
      -          "additional_header_origins": {
      -            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": [
      -              "array",
      -              "null"
      -            ]
      -          },
      -          "block_consent_banners": {
      -            "description": "Attempt to block cookie/consent banners from displaying.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "color_scheme": {
      -            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      -            "enum": [
      -              "light",
      -              "dark",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "css": {
      -            "description": "CSS injected into the loaded page to override its styles.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "device_scale": {
      -            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      -            "maximum": 3,
      -            "minimum": 0.1,
      -            "type": [
      -              "number",
      -              "null"
      -            ]
      -          },
      -          "disable_twemoji": {
      -            "description": "Set explicitly to false to inject Twemoji into the captured URL page. Omitted, null, or true leaves the page's emoji handling unchanged and does not disable the website's own emoji scripts.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "headers": {
      -            "additionalProperties": {
      -              "type": "string"
      -            },
      -            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      -            "type": [
      -              "object",
      -              "null"
      -            ]
      -          },
      -          "identify_as_hcti": {
      -            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "include_headers_on_subrequests": {
      -            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "max_wait_ms": {
      -            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      -            "maximum": 10000,
      -            "minimum": 500,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "media_type": {
      -            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      -            "enum": [
      -              "print",
      -              "screen",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "ms_delay": {
      -            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      -            "maximum": 10000,
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "proxy_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "render_when_ready": {
      -            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "selector": {
      -            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "storage_destination_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "timezone": {
      -            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "transparent_background": {
      -            "description": "Specifies whether the image is rendered with a transparent background.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_height": {
      -            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "viewport_landscape": {
      -            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_mobile": {
      -            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_touch": {
      -            "description": "Specifies whether the emulated viewport supports touch events.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_width": {
      -            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          }
      -        },
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "description": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "domain_id": {
      -        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      -        "type": "string"
      -      },
      -      "enabled": {
      -        "description": "Whether the configuration is enabled to serve Open Graph images.",
      -        "type": "boolean"
      -      },
      -      "extract_values": {
      -        "description": "Whether image options are extracted from page metadata. When disabled, only the configured defaults are used.",
      -        "type": "boolean"
      -      },
      -      "id": {
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for different social platforms.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "type": "integer"
      -      },
      -      "updated_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "domain_id",
      -      "base_url"
      -    ]
      -  },
      -  {
      -    "description": "An Open Graph configuration that renders a template using extracted page metadata.",
      -    "properties": {
      -      "additional_header_origins": {
      -        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers, in the format scheme://host[:port] without a path.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "base_url": {
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "templated"
      -      },
      -      "created_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "domain_id": {
      -        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      -        "type": "string"
      -      },
      -      "enabled": {
      -        "description": "Whether the configuration is enabled to serve Open Graph images.",
      -        "type": "boolean"
      -      },
      -      "headers": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "description": "Custom HTTP headers sent on top-level page navigations to the source website's origin and any additional_header_origins.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "id": {
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for different social platforms.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "type": "integer"
      -      },
      -      "template_id": {
      -        "description": "ID of the template used to render images.",
      -        "type": "string"
      -      },
      -      "template_values_mapping": {
      -        "description": "Mappings from page metadata to template fields. Each mapping uses either a meta_key or a fallback.",
      -        "items": {
      -          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      -          "properties": {
      -            "fallback": {
      -              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      -              "enum": [
      -                "titles",
      -                "descriptions",
      -                null
      -              ],
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "meta_key": {
      -              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      -              "maxLength": 136,
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "template_key": {
      -              "description": "Template field path to populate, up to 128 characters.",
      -              "maxLength": 128,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "template_key"
      -          ],
      -          "type": "object"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "template_version": {
      -        "description": "Template version used to render images. Null means the latest version is used.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "updated_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "template_id",
      -      "id",
      -      "domain_id",
      -      "base_url"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "description": "An Open Graph configuration that renders page HTML/CSS.",
      +    "properties": {
      +      "base_url": {
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "html_css"
      +      },
      +      "created_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      },
      +      "default_options": {
      +        "description": "Default image rendering options for pages served by this configuration. Extracted image options override these defaults.",
      +        "properties": {
      +          "additional_header_origins": {
      +            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "block_consent_banners": {
      +            "description": "Attempt to block cookie/consent banners from displaying.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "color_scheme": {
      +            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      +            "enum": [
      +              "light",
      +              "dark",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "css": {
      +            "description": "CSS injected into the loaded page to override its styles.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "device_scale": {
      +            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      +            "maximum": 3,
      +            "minimum": 0.1,
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "disable_twemoji": {
      +            "description": "Set explicitly to false to inject Twemoji into the captured URL page. Omitted, null, or true leaves the page's emoji handling unchanged and does not disable the website's own emoji scripts.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "headers": {
      +            "additionalProperties": {
      +              "type": "string"
      +            },
      +            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "identify_as_hcti": {
      +            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "include_headers_on_subrequests": {
      +            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "max_wait_ms": {
      +            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      +            "maximum": 10000,
      +            "minimum": 500,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "media_type": {
      +            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      +            "enum": [
      +              "print",
      +              "screen",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "ms_delay": {
      +            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      +            "maximum": 10000,
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "proxy_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "render_when_ready": {
      +            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "request_overrides": {
      +            "description": "Rules that override browser network requests. The block action blocks requests matching a URL wildcard pattern and/or resource types. When both matchers are supplied, both must match. A request is blocked if any block rule matches. Omitted, null, or an empty array adds no overrides. Requires a paid plan. Set default_options.request_overrides to a JSON array. Maximum 100 rules and 512 characters per URL pattern. Each block rule requires a nonempty URL pattern or at least one resource type; supplied matchers cannot be empty. Not supported in hcti: meta tags.",
      +            "items": {
      +              "anyOf": [
      +                {
      +                  "properties": {
      +                    "action": {
      +                      "const": "block"
      +                    },
      +                    "resource_types": {
      +                      "description": "Resource types to match, supplied as an array of names, such as image, script, xhr, or fetch. Any listed type may match. When url is also supplied, it must match too.",
      +                      "items": {
      +                        "enum": [
      +                          "beacon",
      +                          "document",
      +                          "stylesheet",
      +                          "image",
      +                          "image_set",
      +                          "media",
      +                          "font",
      +                          "script",
      +                          "text_track",
      +                          "xhr",
      +                          "fetch",
      +                          "event_source",
      +                          "manifest",
      +                          "ping",
      +                          "img",
      +                          "other"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "type": [
      +                        "array",
      +                        "null"
      +                      ]
      +                    },
      +                    "url": {
      +                      "description": "URL wildcard pattern to match, using * for any sequence of characters. When resource_types is also supplied, both matchers must match.",
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  }
      +                }
      +              ],
      +              "description": "A browser request override. The action discriminator selects the rule type; currently only block is supported.",
      +              "required": [
      +                "action"
      +              ],
      +              "type": "object"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "selector": {
      +            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "storage_destination_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "timezone": {
      +            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "transparent_background": {
      +            "description": "Specifies whether the image is rendered with a transparent background.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_height": {
      +            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "viewport_landscape": {
      +            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_mobile": {
      +            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_touch": {
      +            "description": "Specifies whether the emulated viewport supports touch events.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_width": {
      +            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "description": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "domain_id": {
      +        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      +        "type": "string"
      +      },
      +      "enabled": {
      +        "description": "Whether the configuration is enabled to serve Open Graph images.",
      +        "type": "boolean"
      +      },
      +      "extract_values": {
      +        "description": "Whether image options are extracted from page metadata. When disabled, only the configured defaults are used.",
      +        "type": "boolean"
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for different social platforms.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "type": "integer"
      +      },
      +      "updated_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "domain_id",
      +      "base_url"
      +    ]
      +  },
      +  {
      +    "description": "An Open Graph configuration that renders a template using extracted page metadata.",
      +    "properties": {
      +      "additional_header_origins": {
      +        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers, in the format scheme://host[:port] without a path.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "base_url": {
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "templated"
      +      },
      +      "created_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "domain_id": {
      +        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      +        "type": "string"
      +      },
      +      "enabled": {
      +        "description": "Whether the configuration is enabled to serve Open Graph images.",
      +        "type": "boolean"
      +      },
      +      "headers": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "Custom HTTP headers sent on top-level page navigations to the source website's origin and any additional_header_origins.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for different social platforms.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "type": "integer"
      +      },
      +      "template_id": {
      +        "description": "ID of the template used to render images.",
      +        "type": "string"
      +      },
      +      "template_values_mapping": {
      +        "description": "Mappings from page metadata to template fields. Each mapping uses either a meta_key or a fallback.",
      +        "items": {
      +          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      +          "properties": {
      +            "fallback": {
      +              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      +              "enum": [
      +                "titles",
      +                "descriptions",
      +                null
      +              ],
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "meta_key": {
      +              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      +              "maxLength": 136,
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "template_key": {
      +              "description": "Template field path to populate, up to 128 characters.",
      +              "maxLength": 128,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_key"
      +          ],
      +          "type": "object"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "template_version": {
      +        "description": "Template version used to render images. Null means the latest version is used.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "updated_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "template_id",
      +      "id",
      +      "domain_id",
      +      "base_url"
      +    ]
      +  }
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / content / anyOf
      Previous value: -[
      -  {
      -    "description": "Settings for an Open Graph configuration that renders page HTML/CSS.",
      -    "properties": {
      -      "base_url": {
      -        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "html_css"
      -      },
      -      "default_options": {
      -        "description": "Default image rendering options for pages served by this configuration. Any extracted values will override these defaults.",
      -        "properties": {
      -          "additional_header_origins": {
      -            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": [
      -              "array",
      -              "null"
      -            ]
      -          },
      -          "block_consent_banners": {
      -            "description": "Attempt to block cookie/consent banners from displaying.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "color_scheme": {
      -            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      -            "enum": [
      -              "light",
      -              "dark",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "css": {
      -            "description": "CSS injected into the loaded page to override its styles.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "device_scale": {
      -            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      -            "maximum": 3,
      -            "minimum": 0.1,
      -            "type": [
      -              "number",
      -              "null"
      -            ]
      -          },
      -          "disable_twemoji": {
      -            "description": "Disables the Twemoji fallback and renders emoji using native fonts instead.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "headers": {
      -            "additionalProperties": {
      -              "type": "string"
      -            },
      -            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      -            "type": [
      -              "object",
      -              "null"
      -            ]
      -          },
      -          "identify_as_hcti": {
      -            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "include_headers_on_subrequests": {
      -            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "max_wait_ms": {
      -            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      -            "maximum": 10000,
      -            "minimum": 500,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "media_type": {
      -            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      -            "enum": [
      -              "print",
      -              "screen",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "ms_delay": {
      -            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      -            "maximum": 10000,
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "proxy_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "render_when_ready": {
      -            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "selector": {
      -            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "storage_destination_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "timezone": {
      -            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "transparent_background": {
      -            "description": "Specifies whether the image is rendered with a transparent background.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_height": {
      -            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "viewport_landscape": {
      -            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_mobile": {
      -            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_touch": {
      -            "description": "Specifies whether the emulated viewport supports touch events.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_width": {
      -            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          }
      -        },
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "description": {
      -        "description": "Optional description of the configuration, up to 1023 characters.",
      -        "maxLength": 1023,
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "disabled": {
      -        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      -        "type": "boolean"
      -      },
      -      "extract_values": {
      -        "description": "Whether to extract image options from page metadata. When disabled, only the configured defaults are used.",
      -        "type": "boolean"
      -      },
      -      "name": {
      -        "description": "Display name for the configuration, up to 255 characters.",
      -        "maxLength": 255,
      -        "type": "string"
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      -        "maximum": 31536000,
      -        "minimum": 1800,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "name",
      -      "base_url"
      -    ]
      -  },
      -  {
      -    "description": "Settings for an Open Graph configuration that renders a template using values extracted from page metadata.",
      -    "properties": {
      -      "additional_header_origins": {
      -        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "base_url": {
      -        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "templated"
      -      },
      -      "description": {
      -        "description": "Optional description of the configuration, up to 1023 characters.",
      -        "maxLength": 1023,
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "disabled": {
      -        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      -        "type": "boolean"
      -      },
      -      "headers": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "name": {
      -        "description": "Display name for the configuration, up to 255 characters.",
      -        "maxLength": 255,
      -        "type": "string"
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      -        "maximum": 31536000,
      -        "minimum": 1800,
      -        "type": "integer"
      -      },
      -      "template_id": {
      -        "description": "ID of the template used to render images.",
      -        "type": "string"
      -      },
      -      "template_values_mapping": {
      -        "description": "Up to 32 mappings from page metadata to template fields. Each mapping supplies either a meta_key or a fallback.",
      -        "items": {
      -          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      -          "properties": {
      -            "fallback": {
      -              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      -              "enum": [
      -                "titles",
      -                "descriptions",
      -                null
      -              ],
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "meta_key": {
      -              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      -              "maxLength": 136,
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "template_key": {
      -              "description": "Template field path to populate, up to 128 characters.",
      -              "maxLength": 128,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "template_key"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 32,
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "template_version": {
      -        "description": "Template version to use. Omit or set to null to use the latest version.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "template_id",
      -      "name",
      -      "base_url"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "description": "Settings for an Open Graph configuration that renders page HTML/CSS.",
      +    "properties": {
      +      "base_url": {
      +        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      +        "maxLength": 2048,
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "html_css"
      +      },
      +      "default_options": {
      +        "description": "Default image rendering options for pages served by this configuration. Any extracted values will override these defaults.",
      +        "properties": {
      +          "additional_header_origins": {
      +            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "block_consent_banners": {
      +            "description": "Attempt to block cookie/consent banners from displaying.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "color_scheme": {
      +            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      +            "enum": [
      +              "light",
      +              "dark",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "css": {
      +            "description": "CSS injected into the loaded page to override its styles.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "device_scale": {
      +            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      +            "maximum": 3,
      +            "minimum": 0.1,
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "disable_twemoji": {
      +            "description": "Set explicitly to false to inject Twemoji into the captured URL page. Omitted, null, or true leaves the page's emoji handling unchanged and does not disable the website's own emoji scripts.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "headers": {
      +            "additionalProperties": {
      +              "type": "string"
      +            },
      +            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "identify_as_hcti": {
      +            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "include_headers_on_subrequests": {
      +            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "max_wait_ms": {
      +            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      +            "maximum": 10000,
      +            "minimum": 500,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "media_type": {
      +            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      +            "enum": [
      +              "print",
      +              "screen",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "ms_delay": {
      +            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      +            "maximum": 10000,
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "proxy_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "render_when_ready": {
      +            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "selector": {
      +            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "storage_destination_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "timezone": {
      +            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "transparent_background": {
      +            "description": "Specifies whether the image is rendered with a transparent background.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_height": {
      +            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "viewport_landscape": {
      +            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_mobile": {
      +            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_touch": {
      +            "description": "Specifies whether the emulated viewport supports touch events.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_width": {
      +            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "description": {
      +        "description": "Optional description of the configuration, up to 1023 characters.",
      +        "maxLength": 1023,
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "disabled": {
      +        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      +        "type": "boolean"
      +      },
      +      "extract_values": {
      +        "description": "Whether to extract image options from page metadata. When disabled, only the configured defaults are used.",
      +        "type": "boolean"
      +      },
      +      "name": {
      +        "description": "Display name for the configuration, up to 255 characters.",
      +        "maxLength": 255,
      +        "type": "string"
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      +        "maximum": 31536000,
      +        "minimum": 1800,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "base_url"
      +    ]
      +  },
      +  {
      +    "description": "Settings for an Open Graph configuration that renders a template using values extracted from page metadata.",
      +    "properties": {
      +      "additional_header_origins": {
      +        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "base_url": {
      +        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      +        "maxLength": 2048,
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "templated"
      +      },
      +      "description": {
      +        "description": "Optional description of the configuration, up to 1023 characters.",
      +        "maxLength": 1023,
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "disabled": {
      +        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      +        "type": "boolean"
      +      },
      +      "headers": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "description": "Display name for the configuration, up to 255 characters.",
      +        "maxLength": 255,
      +        "type": "string"
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      +        "maximum": 31536000,
      +        "minimum": 1800,
      +        "type": "integer"
      +      },
      +      "template_id": {
      +        "description": "ID of the template used to render images.",
      +        "type": "string"
      +      },
      +      "template_values_mapping": {
      +        "description": "Up to 32 mappings from page metadata to template fields. Each mapping supplies either a meta_key or a fallback.",
      +        "items": {
      +          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      +          "properties": {
      +            "fallback": {
      +              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      +              "enum": [
      +                "titles",
      +                "descriptions",
      +                null
      +              ],
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "meta_key": {
      +              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      +              "maxLength": 136,
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "template_key": {
      +              "description": "Template field path to populate, up to 128 characters.",
      +              "maxLength": 128,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_key"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 32,
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "template_version": {
      +        "description": "Template version to use. Omit or set to null to use the latest version.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "template_id",
      +      "name",
      +      "base_url"
      +    ]
      +  }
      +]
    • changedOutput schema / properties / item / anyOf
      Previous value: -[
      -  {
      -    "description": "An Open Graph configuration that renders page HTML/CSS.",
      -    "properties": {
      -      "base_url": {
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "html_css"
      -      },
      -      "created_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "default_options": {
      -        "description": "Default image rendering options for pages served by this configuration. Extracted image options override these defaults.",
      -        "properties": {
      -          "additional_header_origins": {
      -            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": [
      -              "array",
      -              "null"
      -            ]
      -          },
      -          "block_consent_banners": {
      -            "description": "Attempt to block cookie/consent banners from displaying.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "color_scheme": {
      -            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      -            "enum": [
      -              "light",
      -              "dark",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "css": {
      -            "description": "CSS injected into the loaded page to override its styles.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "device_scale": {
      -            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      -            "maximum": 3,
      -            "minimum": 0.1,
      -            "type": [
      -              "number",
      -              "null"
      -            ]
      -          },
      -          "disable_twemoji": {
      -            "description": "Disables the Twemoji fallback and renders emoji using native fonts instead.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "headers": {
      -            "additionalProperties": {
      -              "type": "string"
      -            },
      -            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      -            "type": [
      -              "object",
      -              "null"
      -            ]
      -          },
      -          "identify_as_hcti": {
      -            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "include_headers_on_subrequests": {
      -            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "max_wait_ms": {
      -            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      -            "maximum": 10000,
      -            "minimum": 500,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "media_type": {
      -            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      -            "enum": [
      -              "print",
      -              "screen",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "ms_delay": {
      -            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      -            "maximum": 10000,
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "proxy_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "render_when_ready": {
      -            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "selector": {
      -            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "storage_destination_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "timezone": {
      -            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "transparent_background": {
      -            "description": "Specifies whether the image is rendered with a transparent background.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_height": {
      -            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "viewport_landscape": {
      -            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_mobile": {
      -            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_touch": {
      -            "description": "Specifies whether the emulated viewport supports touch events.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_width": {
      -            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          }
      -        },
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "description": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "domain_id": {
      -        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      -        "type": "string"
      -      },
      -      "enabled": {
      -        "description": "Whether the configuration is enabled to serve Open Graph images.",
      -        "type": "boolean"
      -      },
      -      "extract_values": {
      -        "description": "Whether image options are extracted from page metadata. When disabled, only the configured defaults are used.",
      -        "type": "boolean"
      -      },
      -      "id": {
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for different social platforms.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "type": "integer"
      -      },
      -      "updated_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "domain_id",
      -      "base_url"
      -    ]
      -  },
      -  {
      -    "description": "An Open Graph configuration that renders a template using extracted page metadata.",
      -    "properties": {
      -      "additional_header_origins": {
      -        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers, in the format scheme://host[:port] without a path.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "base_url": {
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "templated"
      -      },
      -      "created_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "domain_id": {
      -        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      -        "type": "string"
      -      },
      -      "enabled": {
      -        "description": "Whether the configuration is enabled to serve Open Graph images.",
      -        "type": "boolean"
      -      },
      -      "headers": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "description": "Custom HTTP headers sent on top-level page navigations to the source website's origin and any additional_header_origins.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "id": {
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for different social platforms.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "type": "integer"
      -      },
      -      "template_id": {
      -        "description": "ID of the template used to render images.",
      -        "type": "string"
      -      },
      -      "template_values_mapping": {
      -        "description": "Mappings from page metadata to template fields. Each mapping uses either a meta_key or a fallback.",
      -        "items": {
      -          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      -          "properties": {
      -            "fallback": {
      -              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      -              "enum": [
      -                "titles",
      -                "descriptions",
      -                null
      -              ],
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "meta_key": {
      -              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      -              "maxLength": 136,
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "template_key": {
      -              "description": "Template field path to populate, up to 128 characters.",
      -              "maxLength": 128,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "template_key"
      -          ],
      -          "type": "object"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "template_version": {
      -        "description": "Template version used to render images. Null means the latest version is used.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "updated_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "template_id",
      -      "id",
      -      "domain_id",
      -      "base_url"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "description": "An Open Graph configuration that renders page HTML/CSS.",
      +    "properties": {
      +      "base_url": {
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "html_css"
      +      },
      +      "created_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      },
      +      "default_options": {
      +        "description": "Default image rendering options for pages served by this configuration. Extracted image options override these defaults.",
      +        "properties": {
      +          "additional_header_origins": {
      +            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "block_consent_banners": {
      +            "description": "Attempt to block cookie/consent banners from displaying.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "color_scheme": {
      +            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      +            "enum": [
      +              "light",
      +              "dark",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "css": {
      +            "description": "CSS injected into the loaded page to override its styles.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "device_scale": {
      +            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      +            "maximum": 3,
      +            "minimum": 0.1,
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "disable_twemoji": {
      +            "description": "Set explicitly to false to inject Twemoji into the captured URL page. Omitted, null, or true leaves the page's emoji handling unchanged and does not disable the website's own emoji scripts.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "headers": {
      +            "additionalProperties": {
      +              "type": "string"
      +            },
      +            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "identify_as_hcti": {
      +            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "include_headers_on_subrequests": {
      +            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "max_wait_ms": {
      +            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      +            "maximum": 10000,
      +            "minimum": 500,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "media_type": {
      +            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      +            "enum": [
      +              "print",
      +              "screen",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "ms_delay": {
      +            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      +            "maximum": 10000,
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "proxy_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "render_when_ready": {
      +            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "selector": {
      +            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "storage_destination_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "timezone": {
      +            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "transparent_background": {
      +            "description": "Specifies whether the image is rendered with a transparent background.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_height": {
      +            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "viewport_landscape": {
      +            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_mobile": {
      +            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_touch": {
      +            "description": "Specifies whether the emulated viewport supports touch events.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_width": {
      +            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "description": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "domain_id": {
      +        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      +        "type": "string"
      +      },
      +      "enabled": {
      +        "description": "Whether the configuration is enabled to serve Open Graph images.",
      +        "type": "boolean"
      +      },
      +      "extract_values": {
      +        "description": "Whether image options are extracted from page metadata. When disabled, only the configured defaults are used.",
      +        "type": "boolean"
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for different social platforms.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "type": "integer"
      +      },
      +      "updated_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "domain_id",
      +      "base_url"
      +    ]
      +  },
      +  {
      +    "description": "An Open Graph configuration that renders a template using extracted page metadata.",
      +    "properties": {
      +      "additional_header_origins": {
      +        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers, in the format scheme://host[:port] without a path.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "base_url": {
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "templated"
      +      },
      +      "created_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "domain_id": {
      +        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      +        "type": "string"
      +      },
      +      "enabled": {
      +        "description": "Whether the configuration is enabled to serve Open Graph images.",
      +        "type": "boolean"
      +      },
      +      "headers": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "Custom HTTP headers sent on top-level page navigations to the source website's origin and any additional_header_origins.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for different social platforms.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "type": "integer"
      +      },
      +      "template_id": {
      +        "description": "ID of the template used to render images.",
      +        "type": "string"
      +      },
      +      "template_values_mapping": {
      +        "description": "Mappings from page metadata to template fields. Each mapping uses either a meta_key or a fallback.",
      +        "items": {
      +          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      +          "properties": {
      +            "fallback": {
      +              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      +              "enum": [
      +                "titles",
      +                "descriptions",
      +                null
      +              ],
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "meta_key": {
      +              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      +              "maxLength": 136,
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "template_key": {
      +              "description": "Template field path to populate, up to 128 characters.",
      +              "maxLength": 128,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_key"
      +          ],
      +          "type": "object"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "template_version": {
      +        "description": "Template version used to render images. Null means the latest version is used.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "updated_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "template_id",
      +      "id",
      +      "domain_id",
      +      "base_url"
      +    ]
      +  }
      +]
  3. Changed5 schema fields changed
    • changedInput schema / properties / content / anyOf
      Previous value: -[
      -  {
      -    "description": "Creates or updates an Open Graph configuration that renders page HTML/CSS.",
      -    "properties": {
      -      "base_url": {
      -        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "html_css"
      -      },
      -      "default_options": {
      -        "description": "Default image rendering options for pages served by this configuration. Any extracted values will override these defaults.",
      -        "properties": {
      -          "additional_header_origins": {
      -            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": [
      -              "array",
      -              "null"
      -            ]
      -          },
      -          "block_consent_banners": {
      -            "description": "Attempt to block cookie/consent banners from displaying.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "color_scheme": {
      -            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      -            "enum": [
      -              "light",
      -              "dark",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "css": {
      -            "description": "CSS injected into the loaded page to override its styles.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "device_scale": {
      -            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      -            "maximum": 3,
      -            "minimum": 0.1,
      -            "type": [
      -              "number",
      -              "null"
      -            ]
      -          },
      -          "disable_twemoji": {
      -            "description": "Disables the Twemoji fallback and renders emoji using native fonts instead.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "headers": {
      -            "additionalProperties": {
      -              "type": "string"
      -            },
      -            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      -            "type": [
      -              "object",
      -              "null"
      -            ]
      -          },
      -          "identify_as_hcti": {
      -            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "include_headers_on_subrequests": {
      -            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "max_wait_ms": {
      -            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      -            "maximum": 10000,
      -            "minimum": 500,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "media_type": {
      -            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      -            "enum": [
      -              "print",
      -              "screen",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "ms_delay": {
      -            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      -            "maximum": 10000,
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "proxy_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "render_when_ready": {
      -            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "selector": {
      -            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "storage_destination_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "timezone": {
      -            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "transparent_background": {
      -            "description": "Specifies whether the image is rendered with a transparent background.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_height": {
      -            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "viewport_landscape": {
      -            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_mobile": {
      -            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_touch": {
      -            "description": "Specifies whether the emulated viewport supports touch events.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_width": {
      -            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          }
      -        },
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "description": {
      -        "description": "Optional description of the configuration, up to 1023 characters.",
      -        "maxLength": 1023,
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "disabled": {
      -        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      -        "type": "boolean"
      -      },
      -      "extract_values": {
      -        "description": "Whether to extract image options from page metadata. When disabled, only the configured defaults are used.",
      -        "type": "boolean"
      -      },
      -      "name": {
      -        "description": "Display name for the configuration, up to 255 characters.",
      -        "maxLength": 255,
      -        "type": "string"
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      -        "maximum": 31536000,
      -        "minimum": 1800,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "name",
      -      "base_url"
      -    ]
      -  },
      -  {
      -    "description": "Creates or updates an Open Graph configuration that renders a template using values extracted from page metadata.",
      -    "properties": {
      -      "additional_header_origins": {
      -        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "base_url": {
      -        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "templated"
      -      },
      -      "description": {
      -        "description": "Optional description of the configuration, up to 1023 characters.",
      -        "maxLength": 1023,
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "disabled": {
      -        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      -        "type": "boolean"
      -      },
      -      "headers": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "name": {
      -        "description": "Display name for the configuration, up to 255 characters.",
      -        "maxLength": 255,
      -        "type": "string"
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      -        "maximum": 31536000,
      -        "minimum": 1800,
      -        "type": "integer"
      -      },
      -      "template_id": {
      -        "description": "ID of the template used to render images.",
      -        "type": "string"
      -      },
      -      "template_values_mapping": {
      -        "description": "Up to 32 mappings from page metadata to template fields. Each mapping supplies either a meta_key or a fallback.",
      -        "items": {
      -          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      -          "properties": {
      -            "fallback": {
      -              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      -              "enum": [
      -                "titles",
      -                "descriptions",
      -                null
      -              ],
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "meta_key": {
      -              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      -              "maxLength": 136,
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "template_key": {
      -              "description": "Template field path to populate, up to 128 characters.",
      -              "maxLength": 128,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "template_key"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 32,
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "template_version": {
      -        "description": "Template version to use. Omit or set to null to use the latest version.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "template_id",
      -      "name",
      -      "base_url"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "description": "Settings for an Open Graph configuration that renders page HTML/CSS.",
      +    "properties": {
      +      "base_url": {
      +        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      +        "maxLength": 2048,
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "html_css"
      +      },
      +      "default_options": {
      +        "description": "Default image rendering options for pages served by this configuration. Any extracted values will override these defaults.",
      +        "properties": {
      +          "additional_header_origins": {
      +            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "block_consent_banners": {
      +            "description": "Attempt to block cookie/consent banners from displaying.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "color_scheme": {
      +            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      +            "enum": [
      +              "light",
      +              "dark",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "css": {
      +            "description": "CSS injected into the loaded page to override its styles.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "device_scale": {
      +            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      +            "maximum": 3,
      +            "minimum": 0.1,
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "disable_twemoji": {
      +            "description": "Disables the Twemoji fallback and renders emoji using native fonts instead.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "headers": {
      +            "additionalProperties": {
      +              "type": "string"
      +            },
      +            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "identify_as_hcti": {
      +            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "include_headers_on_subrequests": {
      +            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "max_wait_ms": {
      +            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      +            "maximum": 10000,
      +            "minimum": 500,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "media_type": {
      +            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      +            "enum": [
      +              "print",
      +              "screen",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "ms_delay": {
      +            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      +            "maximum": 10000,
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "proxy_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "render_when_ready": {
      +            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "selector": {
      +            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "storage_destination_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "timezone": {
      +            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "transparent_background": {
      +            "description": "Specifies whether the image is rendered with a transparent background.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_height": {
      +            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "viewport_landscape": {
      +            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_mobile": {
      +            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_touch": {
      +            "description": "Specifies whether the emulated viewport supports touch events.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_width": {
      +            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "description": {
      +        "description": "Optional description of the configuration, up to 1023 characters.",
      +        "maxLength": 1023,
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "disabled": {
      +        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      +        "type": "boolean"
      +      },
      +      "extract_values": {
      +        "description": "Whether to extract image options from page metadata. When disabled, only the configured defaults are used.",
      +        "type": "boolean"
      +      },
      +      "name": {
      +        "description": "Display name for the configuration, up to 255 characters.",
      +        "maxLength": 255,
      +        "type": "string"
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      +        "maximum": 31536000,
      +        "minimum": 1800,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "base_url"
      +    ]
      +  },
      +  {
      +    "description": "Settings for an Open Graph configuration that renders a template using values extracted from page metadata.",
      +    "properties": {
      +      "additional_header_origins": {
      +        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "base_url": {
      +        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      +        "maxLength": 2048,
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "templated"
      +      },
      +      "description": {
      +        "description": "Optional description of the configuration, up to 1023 characters.",
      +        "maxLength": 1023,
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "disabled": {
      +        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      +        "type": "boolean"
      +      },
      +      "headers": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "description": "Display name for the configuration, up to 255 characters.",
      +        "maxLength": 255,
      +        "type": "string"
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      +        "maximum": 31536000,
      +        "minimum": 1800,
      +        "type": "integer"
      +      },
      +      "template_id": {
      +        "description": "ID of the template used to render images.",
      +        "type": "string"
      +      },
      +      "template_values_mapping": {
      +        "description": "Up to 32 mappings from page metadata to template fields. Each mapping supplies either a meta_key or a fallback.",
      +        "items": {
      +          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      +          "properties": {
      +            "fallback": {
      +              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      +              "enum": [
      +                "titles",
      +                "descriptions",
      +                null
      +              ],
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "meta_key": {
      +              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      +              "maxLength": 136,
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "template_key": {
      +              "description": "Template field path to populate, up to 128 characters.",
      +              "maxLength": 128,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_key"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 32,
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "template_version": {
      +        "description": "Template version to use. Omit or set to null to use the latest version.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "template_id",
      +      "name",
      +      "base_url"
      +    ]
      +  }
      +]
    • changedInput schema / properties / content / description
      Previous value: -"Complete OG configuration. Set config_type to html_css or templated and supply the fields for that type."New value: +"Configuration name, HTTPS base_url origin, and config_type. For html_css, supply default_options as needed and enable extract_values to let page metadata override them. For templated, supply an existing template_id and any template_values_mapping. Set disabled: true to save it without enabling image serving."
    • addedOutput schema / properties / error / description
      Added value: +"Error details when the operation failed; null on success."
    • changedOutput schema / properties / item / description
      Previous value: -"An Open Graph image configuration."New value: +"Operation result. Check success before using this value."
    • addedOutput schema / properties / success / description
      Added value: +"Whether the operation succeeded. If false, inspect error before retrying."
  4. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, so the write/non-idempotent profile is covered. The description adds real context beyond that: what is returned ('in item, including id ... and domain_id') and the entitlement gate ('Requires a plan that supports OG configurations'). It omits auth specifics and rate limits, so not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, no filler, and the core purpose plus the branch-selection rule are front-loaded before the return/entitlement/alternative details. Slightly dense but every sentence carries weight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex nested-object creation tool with a declared output schema, the description supplies the mode selection, the plan requirement, the return shape, and the sibling routing. Nothing an agent needs to call it correctly is missing; return values need not be expanded further since an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% on a single nested content parameter, so the baseline is 3. The description restates the html_css/templated split and the default_options/extract_values relationship, but that guidance is already in the schema's content description, so little new meaning is added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Saves a new Open Graph image configuration for pages on an HTTPS website') and immediately disambiguates the two config_type branches. An agent can separate this from create_url_image, create_template, and update_og_config without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes between the two modes ('Use config_type: html_css ... or templated ...') and names the two nearest alternatives with their distinguishing conditions: create_url_image for a single page screenshot, update_og_config to change an existing configuration. Also states the plan prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.