{
  "spec_version": 2,
  "extractor_version": "0.2.0",
  "url": "https://modal.com/",
  "final_url": "https://modal.com/",
  "slug": "modal.com",
  "captured_at": "2026-11-12T15:24:38.885Z",
  "title": "Modal: The platform for production AI",
  "meta": {
    "description": "Cloud infrastructure for teams that develop, train, and serve AI applications at scale.",
    "og_image": "https://modal.com/assets/social-image-5.jpg",
    "og_title": "Modal: The platform for production AI",
    "lang": "en"
  },
  "capture": {
    "variants": [
      {
        "name": "desktop-light",
        "width": 1440,
        "height": 900,
        "scheme": "light",
        "page_height": 10997,
        "full": "screens/desktop-light-full.png",
        "fold": "screens/desktop-light-fold.png"
      },
      {
        "name": "desktop-dark",
        "width": 1440,
        "height": 900,
        "scheme": "dark",
        "page_height": 10997,
        "full": "screens/desktop-dark-full.png",
        "fold": "screens/desktop-dark-fold.png"
      },
      {
        "name": "mobile-light",
        "width": 390,
        "height": 844,
        "scheme": "light",
        "page_height": 14813,
        "full": "screens/mobile-light-full.png",
        "fold": "screens/mobile-light-fold.png"
      },
      {
        "name": "mobile-dark",
        "width": 390,
        "height": 844,
        "scheme": "dark",
        "page_height": 14813,
        "full": "screens/mobile-dark-full.png",
        "fold": "screens/mobile-dark-fold.png"
      }
    ],
    "status": 200,
    "warnings": [],
    "element_count": 1207,
    "render_quality": {
      "status": "ok",
      "reasons": [],
      "screenshot": "ok",
      "screenshot_reasons": []
    },
    "worker_os": "macos"
  },
  "color": {
    "scheme": "dark",
    "palette": [
      {
        "hex": "#040804",
        "oklch": [
          0.126,
          0.015,
          144.6
        ],
        "role": "bg",
        "area": 0.4703,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--color-v2-primary-black",
        "variants": [
          "#050A05F0"
        ]
      },
      {
        "hex": "#DADED7",
        "oklch": [
          0.896,
          0.01,
          131.4
        ],
        "role": "other",
        "area": 0.1414,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--color-v2-primary-neutral-200"
      },
      {
        "hex": "#131412",
        "oklch": [
          0.189,
          0.004,
          128.7
        ],
        "role": "surface",
        "area": 0.2304,
        "uses": {
          "bg": 0.933,
          "text": 0.056,
          "border": 0,
          "fill": 0.01
        },
        "css_var": "--color-v2-primary-neutral-950",
        "variants": [
          "#10120F"
        ]
      },
      {
        "hex": "#E3E5E1",
        "oklch": [
          0.919,
          0.006,
          128.5
        ],
        "role": "text",
        "area": 0.0794,
        "uses": {
          "bg": 0.623,
          "text": 0.323,
          "border": 0,
          "fill": 0.054
        },
        "css_var": "--color-v2-primary-neutral-100"
      },
      {
        "hex": "#A8ABA6",
        "oklch": [
          0.737,
          0.008,
          132.4
        ],
        "role": "muted",
        "area": 0.0337,
        "uses": {
          "bg": 0,
          "text": 0.984,
          "border": 0,
          "fill": 0.016
        },
        "css_var": "--color-v2-primary-neutral-500"
      },
      {
        "hex": "#1A1C19",
        "oklch": [
          0.223,
          0.006,
          135
        ],
        "role": "other",
        "area": 0.0189,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--color-v2-primary-neutral-900",
        "variants": [
          "#181818"
        ]
      },
      {
        "hex": "#7FEE64",
        "oklch": [
          0.854,
          0.204,
          139.8
        ],
        "role": "accent",
        "area": 0.007,
        "uses": {
          "bg": 0.558,
          "text": 0.381,
          "border": 0,
          "fill": 0.061
        },
        "css_var": "--semantic-icon-accent-hover"
      },
      {
        "hex": "#040804E6",
        "oklch": [
          0.126,
          0.015,
          144.6
        ],
        "role": "other",
        "area": 0.0068,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css": "oklab(0.126094 -0.01233 0.00876465 / 0.9)",
        "on_bg": "#040804"
      },
      {
        "hex": "#FFFFFF0D",
        "oklch": [
          1,
          0,
          0
        ],
        "role": "border",
        "area": 0.0036,
        "uses": {
          "bg": 0.574,
          "text": 0,
          "border": 0.426,
          "fill": 0
        },
        "css_var": "--color-v2-op-white-5",
        "on_bg": "#111411",
        "variants": [
          "#FFFFFF1A",
          "#FFFFFF12"
        ]
      },
      {
        "hex": "#4B4D4A",
        "oklch": [
          0.417,
          0.006,
          134.9
        ],
        "role": "other",
        "area": 0.0031,
        "uses": {
          "bg": 0,
          "text": 1,
          "border": 0,
          "fill": 0
        },
        "css_var": "--color-v2-primary-neutral-700"
      }
    ],
    "roles": {
      "bg": "#040804",
      "text": "#E3E5E1",
      "muted": "#A8ABA6",
      "surface": "#131412",
      "accent": "#7FEE64",
      "border": "#FFFFFF0D"
    },
    "accent_strategy": "single-accent",
    "contrast": {
      "text_on_bg": 15.9,
      "muted_on_bg": 8.68,
      "accent_on_bg": 13.74
    },
    "gradients": [
      "linear-gradient(to left in oklab, rgb(16, 18, 15) 0%, rgba(0, 0, 0, 0) 100%)"
    ],
    "dark_mode": {
      "responds_to_prefers_color_scheme": false
    },
    "declared_accents": [
      {
        "css_var": "--semantic-icon-accent",
        "hex": "#6AC345",
        "painted": false
      },
      {
        "css_var": "--semantic-background-accent-bold",
        "hex": "#7FEE64",
        "painted": true
      },
      {
        "css_var": "--semantic-background-accent-selected",
        "hex": "#7FEE64",
        "painted": true
      },
      {
        "css_var": "--semantic-icon-primary-selected",
        "hex": "#7FEE64",
        "painted": true
      }
    ],
    "accent_detail": {
      "method": "declared-token",
      "cta": "#E3E5E1",
      "candidates": [
        {
          "hex": "#7FEE64",
          "css_var": "--semantic-icon-accent-hover",
          "controls": 0,
          "links": 0,
          "text": 7,
          "elements": 10,
          "fills": 16,
          "area": 0.00696,
          "score": 32.8,
          "strong": true
        },
        {
          "hex": "#006280",
          "css_var": "--color-v2-secondary-blue-deep",
          "controls": 0,
          "links": 0,
          "text": 2,
          "elements": 2,
          "fills": 0,
          "area": 0.00033,
          "score": 12.3,
          "strong": false
        },
        {
          "hex": "#124F11",
          "css_var": "--color-v2-primary-green-300",
          "controls": 0,
          "links": 0,
          "text": 2,
          "elements": 2,
          "fills": 2,
          "area": 0.00012,
          "score": 11.7,
          "strong": false
        },
        {
          "hex": "#FDFD76",
          "css_var": "--color-v2-secondary-yellow",
          "controls": 0,
          "links": 0,
          "text": 2,
          "elements": 2,
          "fills": 0,
          "area": 0.00009,
          "score": 11.2,
          "strong": false
        },
        {
          "hex": "#F5C88D",
          "controls": 0,
          "links": 0,
          "text": 0,
          "elements": 1,
          "fills": 2,
          "area": 0.00076,
          "score": 9.3,
          "strong": false
        },
        {
          "hex": "#56D8FF",
          "css_var": "--color-v2-secondary-blue",
          "controls": 0,
          "links": 0,
          "text": 1,
          "elements": 1,
          "fills": 6,
          "area": 0.00007,
          "score": 9.3,
          "strong": false
        }
      ]
    },
    "highlights": [
      {
        "hex": "#006280",
        "css_var": "--color-v2-secondary-blue-deep",
        "elements": 2
      },
      {
        "hex": "#124F11",
        "css_var": "--color-v2-primary-green-300",
        "elements": 4
      },
      {
        "hex": "#FDFD76",
        "css_var": "--color-v2-secondary-yellow",
        "elements": 2
      },
      {
        "hex": "#FF341E",
        "elements": 12
      }
    ]
  },
  "type": {
    "families": [
      {
        "family": "ABC Diatype",
        "css_family": "ABC Diatype",
        "role": "display",
        "roles": [
          "display",
          "body"
        ],
        "weights": [
          400,
          500
        ],
        "share": 0.988,
        "kind": "webfont",
        "classification": "sans",
        "foundry": null,
        "stack": "\"ABC Diatype\", \"ABC Diatype Fallback\", Arial, ui-sans-serif, system-ui, sans-serif",
        "files": [
          "https://modal.com/_app/immutable/assets/abc-diatype-regular.BllW8Pd3.woff2",
          "https://modal.com/_app/immutable/assets/abc-diatype-medium.ghSlPuNU.woff2",
          "https://modal.com/_app/immutable/assets/abc-diatype-bold.BcUodbYL.woff2",
          "https://modal.com/_app/immutable/assets/abc-diatype-regular-italic.BPuPCIug.woff2"
        ],
        "internal_names": [
          "ABC Diatype Medium",
          "ABC Diatype"
        ]
      },
      {
        "family": "DM Mono",
        "css_family": "DM Mono",
        "role": "mono",
        "roles": [
          "mono"
        ],
        "weights": [
          400
        ],
        "share": 0.012,
        "kind": "webfont",
        "classification": "mono",
        "foundry": null,
        "stack": "\"DM Mono\", ui-monospace, monospace",
        "files": [
          "https://modal.com/_app/immutable/assets/dm-mono-rolled-regular-latin-ext.DJ1l7gZw.woff2",
          "https://modal.com/_app/immutable/assets/dm-mono-rolled-regular-latin.10RrollN.woff2"
        ],
        "internal_names": [
          "DM Mono"
        ]
      }
    ],
    "declared_unused": [
      {
        "family": "Fira Mono",
        "css_family": "Fira Mono",
        "face_status": "unloaded",
        "css_mentions": 21
      },
      {
        "family": "Inter",
        "css_family": "Inter Variable",
        "face_status": "unloaded",
        "css_mentions": 3
      },
      {
        "family": "Goga",
        "css_family": "Goga",
        "face_status": "unloaded",
        "css_mentions": 1
      }
    ],
    "scale_px": [
      10,
      12,
      13,
      14,
      15,
      16,
      18,
      28,
      38,
      45
    ],
    "ratio": 1.295,
    "body_size": 16,
    "root_size": 16,
    "line_height": 1.5,
    "display_size": 45,
    "tracking_display": "-0.01em",
    "case": "sentence",
    "styles": [
      {
        "name": "display",
        "family": "ABC Diatype",
        "size_px": 45,
        "weight": 500,
        "line_height": 1.067,
        "letter_spacing_em": -0.01,
        "sample": "The platform for"
      },
      {
        "name": "headline",
        "family": "ABC Diatype",
        "size_px": 38,
        "weight": 500,
        "line_height": 1.158,
        "letter_spacing_em": -0.01,
        "sample": "Container infrastructure that won’t box "
      },
      {
        "name": "title",
        "family": "ABC Diatype",
        "size_px": 18,
        "weight": 400,
        "line_height": 1.333,
        "letter_spacing_em": 0,
        "sample": "Accelerating inference from endpoint to "
      },
      {
        "name": "body",
        "family": "ABC Diatype",
        "size_px": 16,
        "weight": 400,
        "line_height": 1.5,
        "letter_spacing_em": 0,
        "sample": "Functions for serverless compute, Sandbo"
      },
      {
        "name": "body-sm",
        "family": "ABC Diatype",
        "size_px": 15,
        "weight": 400,
        "line_height": 1.467,
        "letter_spacing_em": 0.01,
        "sample": "Access open intelligence"
      },
      {
        "name": "mono",
        "family": "DM Mono",
        "size_px": 9.85,
        "weight": 400,
        "line_height": 1.846,
        "letter_spacing_em": 0.03,
        "sample": "@"
      }
    ],
    "mobile": {
      "body_size": 16,
      "display_size": 37
    }
  },
  "space": {
    "scale_px": [
      4,
      6,
      8,
      10,
      12,
      16,
      20,
      24,
      32,
      40,
      48,
      64
    ],
    "base": 4,
    "base_fit": 0.78,
    "density": 0.069,
    "section_padding_px": 144
  },
  "shape": {
    "radii_px": [
      2,
      4,
      7,
      10,
      9999
    ],
    "dominant_radius": 7,
    "border_usage": "hairline",
    "border_width_px": 1
  },
  "depth": {
    "shadows": [
      "rgba(4, 8, 4, 0.5) 0px 1px 3px 0px, rgba(4, 8, 4, 0.6) 0px 2px 32px 0px",
      "rgba(4, 8, 4, 0.4) 0px 1px 3px 0px, rgba(4, 8, 4, 0.5) 0px 2px 32px 0px",
      "rgba(255, 255, 255, 0.07) 0px -1px 0px 0px, rgba(5, 10, 5, 0.3) 0px -16px 32px 0px"
    ],
    "style": "elevated"
  },
  "layout": {
    "container_px": 1312,
    "columns": 24,
    "hero": "centered-over-media",
    "nav": "top-sticky+transparent",
    "page_height_px": 10997,
    "section_count": 11
  },
  "motion": {
    "transitions": 182,
    "easing": "cubic-bezier(0.165, 0.84, 0.44, 1)",
    "durations_ms": [
      147,
      150,
      200,
      560
    ],
    "animations": [
      "v2-marquee",
      "v2-glow-pulse",
      "workload-blink",
      "v2-grow-x"
    ]
  },
  "components": {
    "button-primary": {
      "backgroundColor": "#E3E5E1",
      "textColor": "#10120F",
      "rounded": "9999px",
      "padding": "6px 16px",
      "height": "36px",
      "fontFamily": "ABC Diatype",
      "fontSize": "16px",
      "fontWeight": 500,
      "shadow": "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px inset, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0",
      "sample": "Get started"
    },
    "card": {
      "rounded": "7px",
      "padding": "0px",
      "count": 10,
      "backgroundColor": "#10120F"
    }
  },
  "imagery": {
    "media_share": 0.292,
    "dominant_colors": [
      {
        "hex": "#141814",
        "share": 0.653
      },
      {
        "hex": "#040A04",
        "share": 0.184
      },
      {
        "hex": "#DADED7",
        "share": 0.072
      },
      {
        "hex": "#20381B",
        "share": 0.044
      }
    ],
    "has_photography": null,
    "has_illustration": null
  },
  "stack": [
    "sveltekit",
    "tailwind",
    "shadcn/ui",
    "cloudfront"
  ],
  "sections": [
    {
      "index": 0,
      "kind": "hero",
      "kind_source": "dom",
      "confidence": 0.7,
      "bbox": {
        "x": 0,
        "y": -90,
        "w": 1440,
        "h": 1080
      },
      "bg": "#040804",
      "crop": null
    },
    {
      "index": 1,
      "kind": "feature-detail",
      "kind_source": "dom",
      "confidence": 0.4,
      "bbox": {
        "x": 0,
        "y": 101,
        "w": 1440,
        "h": 921
      },
      "heading": "The platform for",
      "bg": "#040804",
      "crop": "img/section-01-feature-detail.webp"
    },
    {
      "index": 2,
      "kind": "feature-detail",
      "kind_source": "dom",
      "confidence": 0.45,
      "bbox": {
        "x": 64,
        "y": 1022,
        "w": 1090,
        "h": 184
      },
      "heading": "Container infrastructure that won’t box you in",
      "bg": "#040804",
      "crop": "img/section-02-feature-detail.webp"
    },
    {
      "index": 3,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 231,
        "y": 1206,
        "w": 1146,
        "h": 2813
      },
      "heading": "Accelerating inference from endpoint to engine",
      "bg": "#040804",
      "crop": null
    },
    {
      "index": 4,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 0,
        "y": 4019,
        "w": 1440,
        "h": 1308
      },
      "heading": "Infrastructure reimagined for the demands of AI workloads",
      "bg": "#131412",
      "crop": "img/section-04-features.webp"
    },
    {
      "index": 5,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 0,
        "y": 5326,
        "w": 1440,
        "h": 1127
      },
      "heading": "Capacity that scales with your ambition",
      "bg": "#10120F",
      "crop": "img/section-05-features.webp"
    },
    {
      "index": 6,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 0,
        "y": 6453,
        "w": 1440,
        "h": 1072
      },
      "heading": "Production-ready from day one",
      "bg": "#040804",
      "crop": "img/section-06-features.webp"
    },
    {
      "index": 7,
      "kind": "logos",
      "kind_source": "dom",
      "confidence": 0.8,
      "bbox": {
        "x": 0,
        "y": 7525,
        "w": 1440,
        "h": 1142
      },
      "heading": "Customers",
      "bg": "#E3E5E1",
      "crop": "img/section-07-logos.webp"
    },
    {
      "index": 8,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 0,
        "y": 8667,
        "w": 1440,
        "h": 818
      },
      "heading": "Latest updates",
      "bg": "#DADED7",
      "crop": "img/section-08-features.webp"
    },
    {
      "index": 9,
      "kind": "cta",
      "kind_source": "dom",
      "confidence": 0.65,
      "bbox": {
        "x": 0,
        "y": 9485,
        "w": 1440,
        "h": 785
      },
      "heading": "Ship in minutes",
      "bg": "#040804",
      "crop": "img/section-09-cta.webp"
    },
    {
      "index": 10,
      "kind": "footer",
      "kind_source": "dom",
      "confidence": 0.75,
      "bbox": {
        "x": 64,
        "y": 10270,
        "w": 1312,
        "h": 727
      },
      "bg": "#040804",
      "crop": "img/section-10-footer.webp"
    }
  ],
  "images": {
    "manifest": "img/manifest.json",
    "count": 13
  },
  "review": {
    "threshold": 0.7,
    "needs_review": [
      "color.accent_strategy",
      "layout.columns",
      "layout.hero",
      "layout.section_count",
      "sections[].kind",
      "space.section_padding_px"
    ],
    "vision": "not-run"
  },
  "provenance": {
    "color.roles.bg": {
      "source": "dom",
      "confidence": 0.95
    },
    "color.roles.text": {
      "source": "dom",
      "confidence": 0.92
    },
    "color.roles.muted": {
      "source": "dom",
      "confidence": 0.82
    },
    "color.roles.surface": {
      "source": "dom",
      "confidence": 0.78
    },
    "color.roles.border": {
      "source": "dom",
      "confidence": 0.75
    },
    "color.roles.accent": {
      "source": "dom",
      "confidence": 0.85,
      "note": "declared accent/brand token, painted on controls or links"
    },
    "color.accent_strategy": {
      "source": "dom",
      "confidence": 0.6,
      "note": "hue count over chromatic colors; product mockups rendered in the DOM inflate it",
      "needs_review": true
    },
    "color.palette": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.declared_accents": {
      "source": "dom",
      "confidence": 0.95
    },
    "color.dark_mode": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.contrast": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.gradients": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.families": {
      "source": "dom",
      "confidence": 0.95,
      "note": "named from the @font-face rule that rendered (CDP platform fonts)"
    },
    "type.families[].roles": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.declared_unused": {
      "source": "dom",
      "confidence": 0.95
    },
    "type.scale_px": {
      "source": "dom",
      "confidence": 0.9
    },
    "type.body_size": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.display_size": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.styles": {
      "source": "dom",
      "confidence": 0.8
    },
    "type.ratio": {
      "source": "dom",
      "confidence": 0.7,
      "note": "geometric fit over the scale above body size"
    },
    "type.case": {
      "source": "dom",
      "confidence": 0.75
    },
    "type.line_height": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.tracking_display": {
      "source": "dom",
      "confidence": 0.85
    },
    "space.base": {
      "source": "dom",
      "confidence": 0.85,
      "note": "share of paddings/margins/gaps on the base: 0.78"
    },
    "space.scale_px": {
      "source": "dom",
      "confidence": 0.85
    },
    "space.section_padding_px": {
      "source": "dom",
      "confidence": 0.65,
      "needs_review": true
    },
    "space.density": {
      "source": "dom",
      "confidence": 0.85
    },
    "shape.radii_px": {
      "source": "dom",
      "confidence": 0.88
    },
    "shape.dominant_radius": {
      "source": "dom",
      "confidence": 0.8
    },
    "shape.border_usage": {
      "source": "dom",
      "confidence": 0.8
    },
    "depth.shadows": {
      "source": "dom",
      "confidence": 0.9
    },
    "depth.style": {
      "source": "dom",
      "confidence": 0.75
    },
    "layout.container_px": {
      "source": "dom",
      "confidence": 0.8
    },
    "layout.columns": {
      "source": "dom",
      "confidence": 0.6,
      "note": "most common grid track count; layout grids and card grids are not separated",
      "needs_review": true
    },
    "layout.nav": {
      "source": "dom",
      "confidence": 0.78
    },
    "layout.hero": {
      "source": "dom",
      "confidence": 0.6,
      "note": "geometric heuristic over the h1 and nearby media",
      "needs_review": true
    },
    "layout.section_count": {
      "source": "dom",
      "confidence": 0.6,
      "needs_review": true
    },
    "motion": {
      "source": "dom",
      "confidence": 0.8
    },
    "components": {
      "source": "dom",
      "confidence": 0.78
    },
    "stack": {
      "source": "dom",
      "confidence": 0.85,
      "note": "globals, script URLs and response headers"
    },
    "meta": {
      "source": "dom",
      "confidence": 0.99
    },
    "sections[].bbox": {
      "source": "dom",
      "confidence": 0.8
    },
    "sections[].kind": {
      "source": "dom",
      "confidence": 0.57,
      "note": "class-name and content-count heuristics; per-section confidence in sections[].confidence",
      "needs_review": true
    },
    "imagery.media_share": {
      "source": "dom",
      "confidence": 0.8
    },
    "imagery.dominant_colors": {
      "source": "pixels",
      "confidence": 0.7,
      "note": "clustered screenshot pixels inside media boxes (approximate, OKLab ΔE 0.06 clusters)"
    }
  }
}