{
  "schemaVersion": 1,
  "description": "Optimized local character artwork, matched to the existing Marvel Universe map by character identity. Original attribution and source metadata are preserved; no reuse license is implied.",
  "sourceCollection": "Labs/Marvel-character-images",
  "sourceManifest": "Labs/Marvel-character-images/image-sources.json",
  "sourceDescription": "Downloaded character artwork with original source references. Images are not claimed to be openly licensed.",
  "derivativePolicy": {
    "format": "WebP",
    "portraitMaximumEdge": 900,
    "thumbnailMaximumEdge": 320,
    "upscale": false,
    "cropping": false,
    "originalsModified": false,
    "portraitQuality": 83,
    "thumbnailQuality": 77
  },
  "summary": {
    "existingCharacters": 130,
    "matchedCharacters": 110,
    "missingCharacters": 20,
    "suppliedImages": 166,
    "unusedSuppliedImages": 56,
    "derivativeFiles": 220,
    "derivativeBytes": 6532526
  },
  "characters": [
    {
      "id": "cap",
      "name": "Captain America",
      "real": "Steve Rogers",
      "sourceId": "captain-america",
      "src": "images/portraits/cap.webp",
      "thumb": "images/thumbs/cap.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/149.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/cap.webp",
          "width": 480,
          "height": 640,
          "bytes": 42252,
          "sha256": "520c190dacda4c52ee1b9c5d2b4ab63318946261c06f24b2bb8a6ab0815cf8cd"
        },
        "thumbnail": {
          "path": "images/thumbs/cap.webp",
          "width": 240,
          "height": 320,
          "bytes": 13364,
          "sha256": "df3716cf1fddafcb37bbd36b8315c03ddba337e760605706c9deb38e5d8c5a3c"
        }
      },
      "source": {
        "id": "captain-america",
        "name": "Captain America",
        "apiId": 149,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/149-captain-america.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/149.json",
        "notes": "Matched Captain America; civilian identity: Steve Rogers.",
        "path": "images/characters/captain-america.jpg",
        "bytes": 334702,
        "sha256": "b7c5e35248345eeca56f49fbc115c7664d7a4cf7bbfc9344afc71a9220c40c3d",
        "downloadedAt": "2026-09-23T04:43:15.405Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "ironman",
      "name": "Iron Man",
      "real": "Tony Stark",
      "sourceId": "iron-man",
      "src": "images/portraits/ironman.webp",
      "thumb": "images/thumbs/ironman.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/346.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/ironman.webp",
          "width": 480,
          "height": 640,
          "bytes": 21702,
          "sha256": "404a91a302d52d524d3346e8d866b379298cb9379480468e24e7bdccba0c1d00"
        },
        "thumbnail": {
          "path": "images/thumbs/ironman.webp",
          "width": 240,
          "height": 320,
          "bytes": 7124,
          "sha256": "bcf010a4fb728a108b264e8e582fbd433b088c17ce8faa64e19d1837d1be115f"
        }
      },
      "source": {
        "id": "iron-man",
        "name": "Iron Man",
        "apiId": 346,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/346-iron-man.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/346.json",
        "notes": "Matched Iron Man; civilian identity: Tony Stark.",
        "path": "images/characters/iron-man.jpg",
        "bytes": 197223,
        "sha256": "45e27f12f3857250d35e722b6e0718b0d21fa3f4fdc98e75dca4eb53010a4dd0",
        "downloadedAt": "2026-09-23T04:43:15.397Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "thor",
      "name": "Thor",
      "real": "Thor Odinson",
      "sourceId": "thor",
      "src": "images/portraits/thor.webp",
      "thumb": "images/thumbs/thor.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/659.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/thor.webp",
          "width": 480,
          "height": 640,
          "bytes": 57790,
          "sha256": "8875709ba9a86af993f67dde79ef1bf57afd821a56c2f0b73af3d6a707a738fb"
        },
        "thumbnail": {
          "path": "images/thumbs/thor.webp",
          "width": 240,
          "height": 320,
          "bytes": 15550,
          "sha256": "f81dcc429b3517d058577e24e92eee21cf2b63b6bd1e19f17818dca65bce3a23"
        }
      },
      "source": {
        "id": "thor",
        "name": "Thor",
        "apiId": 659,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/659-thor.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/659.json",
        "notes": "Matched Thor; civilian identity: Thor Odinson.",
        "path": "images/characters/thor.jpg",
        "bytes": 279236,
        "sha256": "7e8577fa2200c5bfeffb12a9a7bad3257e7a71f8f90ada23764e85b848f9de38",
        "downloadedAt": "2026-09-23T04:43:15.400Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "hulk",
      "name": "Hulk",
      "real": "Bruce Banner",
      "sourceId": "hulk",
      "src": "images/portraits/hulk.webp",
      "thumb": "images/thumbs/hulk.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/332.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/hulk.webp",
          "width": 480,
          "height": 640,
          "bytes": 47250,
          "sha256": "54e6d2491478977424d2f6dfc5880e1c1d582bc9d9bc98086ed93f9fea22defd"
        },
        "thumbnail": {
          "path": "images/thumbs/hulk.webp",
          "width": 240,
          "height": 320,
          "bytes": 14374,
          "sha256": "e3c8efa3fbb2102111476a2b9b60ae8b3b3e1495e9706d0257d9e10a8eead2db"
        }
      },
      "source": {
        "id": "hulk",
        "name": "Hulk",
        "apiId": 332,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/332-hulk.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/332.json",
        "notes": "Bruce Banner: API Hulk (332); excludes Red Hulk / Thaddeus Ross (547).",
        "path": "images/characters/hulk.jpg",
        "bytes": 270486,
        "sha256": "af2ee1a98eae0b7fbf0160e52a07506fd60ad8a52cabcd16008bde9c30c6ddf8",
        "downloadedAt": "2026-09-23T04:43:15.375Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "hankpym",
      "name": "Ant-Man (Pym)",
      "real": "Hank Pym",
      "sourceId": "hank-pym",
      "src": "images/portraits/hankpym.webp",
      "thumb": "images/thumbs/hankpym.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/30.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/hankpym.webp",
          "width": 480,
          "height": 640,
          "bytes": 40318,
          "sha256": "bb67dfcdc7ff68e17fa91941e37e091872fcc12df684c1212cbe804c9e2956dc"
        },
        "thumbnail": {
          "path": "images/thumbs/hankpym.webp",
          "width": 240,
          "height": 320,
          "bytes": 13968,
          "sha256": "2eca7b6fa31fe3d27dc43bbb4eb47c37681ccf958adc38eb8e03b3168e70e0f5"
        }
      },
      "source": {
        "id": "hank-pym",
        "name": "Hank Pym",
        "apiId": 30,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/30-ant-man.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/30.json",
        "notes": "Hank Pym: API Ant-Man (30), biography explicitly lists Hank Pym / Doctor Pym; distinct from Scott Lang (31).",
        "path": "images/characters/hank-pym.jpg",
        "bytes": 264614,
        "sha256": "c55685835afed4e015b7272207737e620d3ad1a5496666459d8ed1c13a880eaa",
        "downloadedAt": "2026-09-23T04:43:19.368Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "wasp",
      "name": "Wasp",
      "real": "Janet van Dyne",
      "sourceId": "wasp",
      "src": "images/portraits/wasp.webp",
      "thumb": "images/thumbs/wasp.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/708.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/wasp.webp",
          "width": 480,
          "height": 640,
          "bytes": 27418,
          "sha256": "721f839654860b0c3062d498b027c5a3ffb1b721e531517368d0bab1a39a50a6"
        },
        "thumbnail": {
          "path": "images/thumbs/wasp.webp",
          "width": 240,
          "height": 320,
          "bytes": 9154,
          "sha256": "438c2d48f969857a26807cd5103b1993154e774b1a272bba875768bb02bfb87e"
        }
      },
      "source": {
        "id": "wasp",
        "name": "Wasp",
        "apiId": 708,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/708-wasp.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/708.json",
        "notes": "Matched Wasp; civilian identity: Janet Van Dyne.",
        "path": "images/characters/wasp.jpg",
        "bytes": 144863,
        "sha256": "50c516c63fac3f07bd16a9167b21b3f5a7c863290694b9af09e64c8118cc0419",
        "downloadedAt": "2026-09-23T04:43:15.499Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "hawkeye",
      "name": "Hawkeye",
      "real": "Clint Barton",
      "sourceId": "hawkeye",
      "src": "images/portraits/hawkeye.webp",
      "thumb": "images/thumbs/hawkeye.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/313.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/hawkeye.webp",
          "width": 480,
          "height": 640,
          "bytes": 29510,
          "sha256": "cbc4a86ca38b9f20de5f0fb9156b04fe22418148c2a13055f96f04fbab89c2b2"
        },
        "thumbnail": {
          "path": "images/thumbs/hawkeye.webp",
          "width": 240,
          "height": 320,
          "bytes": 10178,
          "sha256": "b75ffa272c0db8d99673936c4dcef0fb508cd2f590fa02db5a4a519a63d6526e"
        }
      },
      "source": {
        "id": "hawkeye",
        "name": "Hawkeye",
        "apiId": 313,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/313-hawkeye.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/313.json",
        "notes": "Matched Hawkeye; civilian identity: Clint Barton.",
        "path": "images/characters/hawkeye.jpg",
        "bytes": 209806,
        "sha256": "62e6940051061c04d970b23547fd9f1ed4cc0ee1633f05d57d237e1e330fb6f6",
        "downloadedAt": "2026-09-23T04:43:15.430Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "blackwidow",
      "name": "Black Widow",
      "real": "Natasha Romanoff",
      "sourceId": "black-widow",
      "src": "images/portraits/blackwidow.webp",
      "thumb": "images/thumbs/blackwidow.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/107.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/blackwidow.webp",
          "width": 480,
          "height": 640,
          "bytes": 33062,
          "sha256": "3279e5eebd89bda3f4076549d1fe84c03a51072b67ebefdded61a5ed24351c2f"
        },
        "thumbnail": {
          "path": "images/thumbs/blackwidow.webp",
          "width": 240,
          "height": 320,
          "bytes": 10858,
          "sha256": "42e10a4ce49b6e9e78e5606df37f54c0d5285c7a2e184f5b2fc27fce9c2f9411"
        }
      },
      "source": {
        "id": "black-widow",
        "name": "Black Widow",
        "apiId": 107,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/107-black-widow.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/107.json",
        "notes": "Natasha Romanoff / Romanova: fullName matches Natasha; misleading Yelena alias in API was ignored.",
        "path": "images/characters/black-widow.jpg",
        "bytes": 232075,
        "sha256": "470f0e409e1153d03abe02ad9d83ce56295df662f29be0ffb7831feafa7fda6e",
        "downloadedAt": "2026-09-23T04:43:15.411Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "vision",
      "name": "Vision",
      "real": "Vision",
      "sourceId": "vision",
      "src": "images/portraits/vision.webp",
      "thumb": "images/thumbs/vision.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/697.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/vision.webp",
          "width": 480,
          "height": 640,
          "bytes": 36198,
          "sha256": "f896d6d3a1f27b08c4026b24a9a6035cf6ffc496ee388c04f7eca385fa32602d"
        },
        "thumbnail": {
          "path": "images/thumbs/vision.webp",
          "width": 240,
          "height": 320,
          "bytes": 13110,
          "sha256": "72dc8e2fdc033de86c7a6ad309bb6895d74e87ed430756de98a7771b8aa44c9b"
        }
      },
      "source": {
        "id": "vision",
        "name": "Vision",
        "apiId": 697,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/697-vision.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/697.json",
        "notes": "Matched Vision; civilian identity: Vision.",
        "path": "images/characters/vision.jpg",
        "bytes": 267403,
        "sha256": "dc2d44fe23fc67ba3f1408ce9bbbd0b34de4ce35235ee4aaa3185ff3a0c3383d",
        "downloadedAt": "2026-09-23T04:43:15.704Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "scarletwitch",
      "name": "Scarlet Witch",
      "real": "Wanda Maximoff",
      "sourceId": "scarlet-witch",
      "src": "images/portraits/scarletwitch.webp",
      "thumb": "images/thumbs/scarletwitch.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/579.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/scarletwitch.webp",
          "width": 480,
          "height": 640,
          "bytes": 44642,
          "sha256": "fa10f43c22ded3df23574ce39a1f11252b4f96d7ae2e9545b967a27fde834bef"
        },
        "thumbnail": {
          "path": "images/thumbs/scarletwitch.webp",
          "width": 240,
          "height": 320,
          "bytes": 9384,
          "sha256": "0f1013f9fa8f844fe3731bfde979b11c8c35d4edcd1dbc415311ff0d54b06bbf"
        }
      },
      "source": {
        "id": "scarlet-witch",
        "name": "Scarlet Witch",
        "apiId": 579,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/579-scarlet-witch.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/579.json",
        "notes": "Matched Scarlet Witch; civilian identity: Wanda Maximoff.",
        "path": "images/characters/scarlet-witch.jpg",
        "bytes": 234292,
        "sha256": "7dbe0a63a8fdfe84a8056efa9a96fd4dfa4dad20fb6d9615ef1564bb386ee04d",
        "downloadedAt": "2026-09-23T04:43:15.454Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "quicksilver",
      "name": "Quicksilver",
      "real": "Pietro Maximoff",
      "sourceId": "quicksilver",
      "src": "images/portraits/quicksilver.webp",
      "thumb": "images/thumbs/quicksilver.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/536.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/quicksilver.webp",
          "width": 480,
          "height": 640,
          "bytes": 38636,
          "sha256": "2ad4821be27c9bb6bb7f826f23d753489eeb0cc0603d5ec1e3dcbe391e5d9b69"
        },
        "thumbnail": {
          "path": "images/thumbs/quicksilver.webp",
          "width": 240,
          "height": 320,
          "bytes": 12896,
          "sha256": "a848275e429e94bcf328012c50ed199e5373340baac818deaa90fc47c598dd66"
        }
      },
      "source": {
        "id": "quicksilver",
        "name": "Quicksilver",
        "apiId": 536,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/536-quicksilver.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/536.json",
        "notes": "Matched Quicksilver; civilian identity: Pietro Django Maximoff.",
        "path": "images/characters/quicksilver.jpg",
        "bytes": 281540,
        "sha256": "9981cad278255557d98b55b9e9086cc824fd3fe9c294bd2882010b82dda3c68c",
        "downloadedAt": "2026-09-23T04:43:15.432Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "blackpanther",
      "name": "Black Panther",
      "real": "T’Challa",
      "sourceId": "black-panther",
      "src": "images/portraits/blackpanther.webp",
      "thumb": "images/thumbs/blackpanther.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/106.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/blackpanther.webp",
          "width": 480,
          "height": 640,
          "bytes": 47298,
          "sha256": "3ad8b5b5db6058b1a924308f029baba0681253cd43019ff5fc16408ca562a45e"
        },
        "thumbnail": {
          "path": "images/thumbs/blackpanther.webp",
          "width": 240,
          "height": 320,
          "bytes": 16092,
          "sha256": "5d4a67f87ea772a0c79e4eab21280b0560cf0e8c5bebbe7855d42095b36344cc"
        }
      },
      "source": {
        "id": "black-panther",
        "name": "Black Panther",
        "apiId": 106,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/106-black-panther.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/106.json",
        "notes": "Matched Black Panther; civilian identity: T'Challa.",
        "path": "images/characters/black-panther.jpg",
        "bytes": 278973,
        "sha256": "4703909087d65cbb7c53464d611d9752a9736ac38d54ce3111990bf2dc7e3d8d",
        "downloadedAt": "2026-09-23T04:43:15.478Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "captainmarvel",
      "name": "Captain Marvel",
      "real": "Carol Danvers",
      "sourceId": "captain-marvel",
      "src": "images/portraits/captainmarvel.webp",
      "thumb": "images/thumbs/captainmarvel.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/157.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/captainmarvel.webp",
          "width": 480,
          "height": 640,
          "bytes": 73886,
          "sha256": "5d197b9c596017ba5a88e7a801a13810ff88669edaffd1ebdb99712fb387afbf"
        },
        "thumbnail": {
          "path": "images/thumbs/captainmarvel.webp",
          "width": 240,
          "height": 320,
          "bytes": 19482,
          "sha256": "cacd1b189699247d5d024b3904c5adf0d5b38d00a0bba4b1b67aa52be8baa36f"
        }
      },
      "source": {
        "id": "captain-marvel",
        "name": "Captain Marvel",
        "apiId": 157,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/157-captain-marvel.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/157.json",
        "notes": "Carol Danvers: API Captain Marvel (157); excludes DC Billy Batson (156).",
        "path": "images/characters/captain-marvel.jpg",
        "bytes": 358297,
        "sha256": "1d52f96929641acaf8f6f62cace70f99817ebe1dc9d20ded4bc1db68defe3285",
        "downloadedAt": "2026-09-23T04:43:15.508Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "warmachine",
      "name": "War Machine",
      "real": "James Rhodes",
      "sourceId": "war-machine",
      "src": "images/portraits/warmachine.webp",
      "thumb": "images/thumbs/warmachine.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/703.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/warmachine.webp",
          "width": 480,
          "height": 640,
          "bytes": 39046,
          "sha256": "0074acd3e4dc900bed15be77a319f1cab2f96d9b0481d7255404f43490a2997e"
        },
        "thumbnail": {
          "path": "images/thumbs/warmachine.webp",
          "width": 240,
          "height": 320,
          "bytes": 13568,
          "sha256": "7d9bef7d872492f03a64707e2aee1fa0b36521506c9cb8dc94c994c497e8437e"
        }
      },
      "source": {
        "id": "war-machine",
        "name": "War Machine",
        "apiId": 703,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/703-war-machine.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/703.json",
        "notes": "Matched War Machine; civilian identity: James Rupert Rhodes.",
        "path": "images/characters/war-machine.jpg",
        "bytes": 241542,
        "sha256": "b5241e4d34644f778fc1edb887207266ea448b2030395297550e21c7cb475793",
        "downloadedAt": "2026-09-23T04:43:15.499Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "shehulk",
      "name": "She-Hulk",
      "real": "Jennifer Walters",
      "sourceId": "she-hulk",
      "src": "images/portraits/shehulk.webp",
      "thumb": "images/thumbs/shehulk.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/589.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/shehulk.webp",
          "width": 480,
          "height": 640,
          "bytes": 34534,
          "sha256": "df9d330c9c4b34b5256746f61c731fd2a14ed940e963f182959b617ec1d80cee"
        },
        "thumbnail": {
          "path": "images/thumbs/shehulk.webp",
          "width": 240,
          "height": 320,
          "bytes": 12194,
          "sha256": "11de121e7f511a5ade33670e5f37c66993699604e08a1279ce120bdb85cf7240"
        }
      },
      "source": {
        "id": "she-hulk",
        "name": "She-Hulk",
        "apiId": 589,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/589-she-hulk.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/589.json",
        "notes": "Matched She-Hulk; civilian identity: Jennifer Walters.",
        "path": "images/characters/she-hulk.jpg",
        "bytes": 220114,
        "sha256": "38f3cb448a0b70d1cae7e56a9a393d4a13a39570205226a4745b5bd9946a61b4",
        "downloadedAt": "2026-09-23T04:43:15.797Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "wintersoldier",
      "name": "Winter Soldier",
      "real": "Bucky Barnes",
      "sourceId": "winter-soldier",
      "src": "images/portraits/wintersoldier.webp",
      "thumb": "images/thumbs/wintersoldier.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/714.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/wintersoldier.webp",
          "width": 480,
          "height": 640,
          "bytes": 48068,
          "sha256": "f7ac5c4f85f2b7092e64aef72a0ac2f485236d7854de709206808b6ea9920596"
        },
        "thumbnail": {
          "path": "images/thumbs/wintersoldier.webp",
          "width": 240,
          "height": 320,
          "bytes": 11792,
          "sha256": "2d2134368f2e4a9f9fd6444819e9d3328788ce390b18ed9df24613dfe7303d98"
        }
      },
      "source": {
        "id": "winter-soldier",
        "name": "Winter Soldier",
        "apiId": 714,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/714-winter-soldier.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/714.json",
        "notes": "Matched Winter Soldier; civilian identity: Bucky Barnes.",
        "path": "images/characters/winter-soldier.jpg",
        "bytes": 312275,
        "sha256": "227fc2b037ab587f501cafba88b501dd2d757571d87377492b80d61eeb1f7015",
        "downloadedAt": "2026-09-23T04:43:15.959Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "falcon",
      "name": "Falcon",
      "real": "Sam Wilson",
      "sourceId": "falcon",
      "src": "images/portraits/falcon.webp",
      "thumb": "images/thumbs/falcon.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/251.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/falcon.webp",
          "width": 480,
          "height": 640,
          "bytes": 53050,
          "sha256": "45927c7b225862494902b9573be8ce4a5e1eda0202e68f74722bcb27f717b2f0"
        },
        "thumbnail": {
          "path": "images/thumbs/falcon.webp",
          "width": 240,
          "height": 320,
          "bytes": 15698,
          "sha256": "70e48f207e8f00a475101d4d5816f88e1564e906856f64f75b101f7699988602"
        }
      },
      "source": {
        "id": "falcon",
        "name": "Falcon / Captain America",
        "apiId": 251,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/251-falcon.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/251.json",
        "notes": "Matched Falcon; civilian identity: Sam Wilson.",
        "path": "images/characters/falcon.jpg",
        "bytes": 359629,
        "sha256": "ec6b3957a61f446d791232f02c5982736e549fa852d0460205ed087bf24eea65",
        "downloadedAt": "2026-09-23T04:43:15.687Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "msmarvel",
      "name": "Ms. Marvel",
      "real": "Kamala Khan",
      "sourceId": "ms-marvel",
      "src": "images/portraits/msmarvel.webp",
      "thumb": "images/thumbs/msmarvel.webp",
      "sourcePage": "https://www.marvel.com/articles/comics/lila-cheney-comics-history",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/msmarvel.webp",
          "width": 540,
          "height": 614,
          "bytes": 34278,
          "sha256": "38f7a11d0b2bdfe6f0ee86b1f3a5882fd22360bb5ed4364270d3ff8d80cba25e"
        },
        "thumbnail": {
          "path": "images/thumbs/msmarvel.webp",
          "width": 281,
          "height": 320,
          "bytes": 12184,
          "sha256": "3e7ccd89fac4d3bd58274c232ae222bfe68cfecf62d431e6e78f23a4aa3c9d9d"
        }
      },
      "source": {
        "id": "ms-marvel",
        "imageUrl": "https://terrigen-cdn-dev.marvel.com/content/prod/1x/038mmk_com_crd_01.jpg",
        "sourcePage": "https://www.marvel.com/articles/comics/lila-cheney-comics-history",
        "notes": "Official Marvel comics character card of Kamala Khan as Ms. Marvel; blue-and-red suit, scarf, domino mask.",
        "name": "Ms. Marvel",
        "path": "images/characters/ms-marvel.jpg",
        "bytes": 39284,
        "sha256": "af097e8aee37a5698057107a5700689dfc0fc9383c7762a8dbf164c9e190e296",
        "downloadedAt": "2026-09-23T04:48:52.138Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "ultron",
      "name": "Ultron",
      "real": "Ultron",
      "sourceId": "ultron",
      "src": "images/portraits/ultron.webp",
      "thumb": "images/thumbs/ultron.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/680.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/ultron.webp",
          "width": 480,
          "height": 640,
          "bytes": 55050,
          "sha256": "e79df63f4c07f374666bc188fe0ff198b586718b0231c8949cd510875665616c"
        },
        "thumbnail": {
          "path": "images/thumbs/ultron.webp",
          "width": 240,
          "height": 320,
          "bytes": 18844,
          "sha256": "a67c77129cf4e52eaf8943644b277dc0ab6ec063948626ec122b70e53062bb12"
        }
      },
      "source": {
        "id": "ultron",
        "name": "Ultron",
        "apiId": 680,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/680-ultron.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/680.json",
        "notes": "Matched Ultron; civilian identity: Ultron.",
        "path": "images/characters/ultron.jpg",
        "bytes": 337900,
        "sha256": "cc3ec12ef25958759e6fd804c1bc1d388808a6b6eb5ef864a7a7017dd2616f85",
        "downloadedAt": "2026-09-23T04:43:16.097Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "kang",
      "name": "Kang the Conqueror",
      "real": "Nathaniel Richards",
      "sourceId": "kang",
      "src": "images/portraits/kang.webp",
      "thumb": "images/thumbs/kang.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/379.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/kang.webp",
          "width": 480,
          "height": 640,
          "bytes": 37414,
          "sha256": "022e0184b69f011da808814a63c78f8ed8918952f907cae1d75d0b9ab7725cee"
        },
        "thumbnail": {
          "path": "images/thumbs/kang.webp",
          "width": 240,
          "height": 320,
          "bytes": 12670,
          "sha256": "c4ada7d2f56c0e6fe17fd7bd63dc7592b772c89b915bef0ccaf29d5b7407515d"
        }
      },
      "source": {
        "id": "kang",
        "name": "Kang the Conqueror",
        "apiId": 379,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/379-kang.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/379.json",
        "notes": "Matched Kang; civilian identity: Nathaniel Richards.",
        "path": "images/characters/kang.jpg",
        "bytes": 179777,
        "sha256": "eb4c536ff67ebf9fb620e4fdbc9b0a4bb0723ea108ef1ff905266efbc48e8a42",
        "downloadedAt": "2026-09-23T04:43:15.987Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "redskull",
      "name": "Red Skull",
      "real": "Johann Schmidt",
      "sourceId": "red-skull",
      "src": "images/portraits/redskull.webp",
      "thumb": "images/thumbs/redskull.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/550.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/redskull.webp",
          "width": 480,
          "height": 640,
          "bytes": 38084,
          "sha256": "f72d1d240c71ad787ed5ca97a48e561d9af6953e166d2957c0efa68dbd5cf488"
        },
        "thumbnail": {
          "path": "images/thumbs/redskull.webp",
          "width": 240,
          "height": 320,
          "bytes": 13626,
          "sha256": "91704f9a64fa24d52d02d3823c60a5157296e9e8dbf7ade569b7daa22dfa3bdd"
        }
      },
      "source": {
        "id": "red-skull",
        "name": "Red Skull",
        "apiId": 550,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/550-red-skull.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/550.json",
        "notes": "Matched Red Skull; civilian identity: Johann Shmidt.",
        "path": "images/characters/red-skull.jpg",
        "bytes": 267677,
        "sha256": "88c5da938ae5ad681824f113285c9ef559f639fd290a27e8b3abed96cac9f34a",
        "downloadedAt": "2026-09-23T04:43:15.914Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "xavier",
      "name": "Professor X",
      "real": "Charles Xavier",
      "sourceId": "professor-x",
      "src": "images/portraits/xavier.webp",
      "thumb": "images/thumbs/xavier.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/527.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/xavier.webp",
          "width": 480,
          "height": 640,
          "bytes": 33900,
          "sha256": "aad9e6793524c17af24fe3196db63a2cb3f08795c03b74c394230adde3770cc4"
        },
        "thumbnail": {
          "path": "images/thumbs/xavier.webp",
          "width": 240,
          "height": 320,
          "bytes": 11738,
          "sha256": "acdec453dc36942e31ea7fcbd87a7381c7fba2c965146dc1ee31331e9b9a7338"
        }
      },
      "source": {
        "id": "professor-x",
        "name": "Professor X",
        "apiId": 527,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/527-professor-x.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/527.json",
        "notes": "Matched Professor X; civilian identity: Charles Francis Xavier.",
        "path": "images/characters/professor-x.jpg",
        "bytes": 238610,
        "sha256": "22308e418e50d9dfc1c917093f2c9e9d53c57d93b519e114d1d0874ec4ff18de",
        "downloadedAt": "2026-09-23T04:43:15.989Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "magneto",
      "name": "Magneto",
      "real": "Erik Lehnsherr",
      "sourceId": "magneto",
      "src": "images/portraits/magneto.webp",
      "thumb": "images/thumbs/magneto.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/423.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/magneto.webp",
          "width": 480,
          "height": 640,
          "bytes": 35968,
          "sha256": "5841c36efcbd2d3620e886522629cf2e2158face95d5d6cf273bfe6ab5c95509"
        },
        "thumbnail": {
          "path": "images/thumbs/magneto.webp",
          "width": 240,
          "height": 320,
          "bytes": 12094,
          "sha256": "02682b8f841750bd4d901232f684f2efd8f3eac1cd61fe2bca9cc2e7fad2a394"
        }
      },
      "source": {
        "id": "magneto",
        "name": "Magneto",
        "apiId": 423,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/423-magneto.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/423.json",
        "notes": "Matched Magneto; civilian identity: Erik Magnus Lensherr.",
        "path": "images/characters/magneto.jpg",
        "bytes": 266460,
        "sha256": "ea76173f4ed41597a160dc22f65cd0b179161a26af807f915941193eac472288",
        "downloadedAt": "2026-09-23T04:43:15.999Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "cyclops",
      "name": "Cyclops",
      "real": "Scott Summers",
      "sourceId": "cyclops",
      "src": "images/portraits/cyclops.webp",
      "thumb": "images/thumbs/cyclops.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/196.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/cyclops.webp",
          "width": 480,
          "height": 640,
          "bytes": 53084,
          "sha256": "5b09521646d27f1c6326ddb1f244dc6124000fa1fe27f10cd74f0b20a6651bb6"
        },
        "thumbnail": {
          "path": "images/thumbs/cyclops.webp",
          "width": 240,
          "height": 320,
          "bytes": 17242,
          "sha256": "167d028fce3dbfb529d424699f1f41d9d1252d1bee58dd12c19fc08bd0bb8f55"
        }
      },
      "source": {
        "id": "cyclops",
        "name": "Cyclops",
        "apiId": 196,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/196-cyclops.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/196.json",
        "notes": "Matched Cyclops; civilian identity: Scott Summers.",
        "path": "images/characters/cyclops.jpg",
        "bytes": 329529,
        "sha256": "353753e3ee9272f6b52fdce1cf8ff576aeb14ca1e4b3cf346deee6a565182809",
        "downloadedAt": "2026-09-23T04:43:16.030Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "jean",
      "name": "Jean Grey",
      "real": "Jean Grey",
      "sourceId": "jean-grey",
      "src": "images/portraits/jean.webp",
      "thumb": "images/thumbs/jean.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/356.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/jean.webp",
          "width": 480,
          "height": 640,
          "bytes": 70566,
          "sha256": "870a573d41220383a43f644d0e78139aece855f9de20be67eec52cb4c384752a"
        },
        "thumbnail": {
          "path": "images/thumbs/jean.webp",
          "width": 240,
          "height": 320,
          "bytes": 18346,
          "sha256": "cc349fbcce606a265bd8bcc626ac5b1eb33d2d4820295fbd61f69cf4acb86b71"
        }
      },
      "source": {
        "id": "jean-grey",
        "name": "Jean Grey",
        "apiId": 356,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/356-jean-grey.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/356.json",
        "notes": "Jean Grey (356), not Rachel Summers / Marvel Girl (433).",
        "path": "images/characters/jean-grey.jpg",
        "bytes": 341913,
        "sha256": "80652f7796fb5eeed041f77d1636c2cee46f0d77101e2ee43b6bf121763a98fe",
        "downloadedAt": "2026-09-23T04:43:16.177Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "wolverine",
      "name": "Wolverine",
      "real": "Logan / James Howlett",
      "sourceId": "wolverine",
      "src": "images/portraits/wolverine.webp",
      "thumb": "images/thumbs/wolverine.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/717.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/wolverine.webp",
          "width": 480,
          "height": 640,
          "bytes": 52280,
          "sha256": "d76c025fe6a1d16b99289b99ab0a249ff4bce310b9b889c94a0d76e1db0a9703"
        },
        "thumbnail": {
          "path": "images/thumbs/wolverine.webp",
          "width": 240,
          "height": 320,
          "bytes": 16910,
          "sha256": "71a4399c35c7ff14413f9b5fdd748687cc301223c733cc944434e2421271d39e"
        }
      },
      "source": {
        "id": "wolverine",
        "name": "Wolverine",
        "apiId": 717,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/717-wolverine.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/717.json",
        "notes": "Matched Wolverine; civilian identity: Logan.",
        "path": "images/characters/wolverine.jpg",
        "bytes": 321867,
        "sha256": "0d90e3fb43e4032b6bf6bb246ce8c5bc942f2eb11efd77964c1547bab3ef3daf",
        "downloadedAt": "2026-09-23T04:43:16.212Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "storm",
      "name": "Storm",
      "real": "Ororo Munroe",
      "sourceId": "storm",
      "src": "images/portraits/storm.webp",
      "thumb": "images/thumbs/storm.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/638.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/storm.webp",
          "width": 480,
          "height": 640,
          "bytes": 40184,
          "sha256": "ec8f192aebcaa0758d36ce152672f6da853ec095c6922d9d159e5992ec612ecf"
        },
        "thumbnail": {
          "path": "images/thumbs/storm.webp",
          "width": 240,
          "height": 320,
          "bytes": 12796,
          "sha256": "0f08eac3a755f3b6fce09783960214845a45110c1f74df753d399ada880ae48c"
        }
      },
      "source": {
        "id": "storm",
        "name": "Storm",
        "apiId": 638,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/638-storm.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/638.json",
        "notes": "Matched Storm; civilian identity: Ororo Munroe.",
        "path": "images/characters/storm.jpg",
        "bytes": 274070,
        "sha256": "ba88d0c6323092a71f0a1b7f4998c562b4182cdc0bdc31ad4891c4d66ca86e90",
        "downloadedAt": "2026-09-23T04:43:16.283Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "beast",
      "name": "Beast",
      "real": "Hank McCoy",
      "sourceId": "beast",
      "src": "images/portraits/beast.webp",
      "thumb": "images/thumbs/beast.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/75.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/beast.webp",
          "width": 480,
          "height": 640,
          "bytes": 34616,
          "sha256": "66c6ec8b7539d0e00fa7002fe5d3de895cf55e4f42812c5a370f3cc1bda0d888"
        },
        "thumbnail": {
          "path": "images/thumbs/beast.webp",
          "width": 240,
          "height": 320,
          "bytes": 11558,
          "sha256": "64b4237bb4b394670b749d3ea073357189c3db95e31fce9023fc5e348e7a4202"
        }
      },
      "source": {
        "id": "beast",
        "name": "Beast",
        "apiId": 75,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/75-beast.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/75.json",
        "notes": "Matched Beast; civilian identity: Henry Philip McCoy.",
        "path": "images/characters/beast.jpg",
        "bytes": 241587,
        "sha256": "2778998997d50b983d224b4c05193b70cef5fd7b19b1ef5065a9ece17a2b3f04",
        "downloadedAt": "2026-09-23T04:43:16.113Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "nightcrawler",
      "name": "Nightcrawler",
      "real": "Kurt Wagner",
      "sourceId": "nightcrawler",
      "src": "images/portraits/nightcrawler.webp",
      "thumb": "images/thumbs/nightcrawler.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/490.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/nightcrawler.webp",
          "width": 480,
          "height": 640,
          "bytes": 29218,
          "sha256": "83a6254a8e66134735a612d15a349616e8b90690f986925d63545a12ad457eaa"
        },
        "thumbnail": {
          "path": "images/thumbs/nightcrawler.webp",
          "width": 240,
          "height": 320,
          "bytes": 9996,
          "sha256": "89d8b403ac4d45046f2dfb62960a46fdca3a5bbbc7711e6167a3d23816a4017b"
        }
      },
      "source": {
        "id": "nightcrawler",
        "name": "Nightcrawler",
        "apiId": 490,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/490-nightcrawler.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/490.json",
        "notes": "Matched Nightcrawler; civilian identity: Kurt Wagner.",
        "path": "images/characters/nightcrawler.jpg",
        "bytes": 231000,
        "sha256": "772e1464c661374f71c6ca958246f0ba617a78f02092a39ad868173a56b80f25",
        "downloadedAt": "2026-09-23T04:43:16.358Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "rogue",
      "name": "Rogue",
      "real": "Anna Marie",
      "sourceId": "rogue",
      "src": "images/portraits/rogue.webp",
      "thumb": "images/thumbs/rogue.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/567.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/rogue.webp",
          "width": 480,
          "height": 640,
          "bytes": 39934,
          "sha256": "a4a21c9ef834ea04f2caa382dfc6ec1e70661561f3de352b2bcb36ec4c6983cd"
        },
        "thumbnail": {
          "path": "images/thumbs/rogue.webp",
          "width": 240,
          "height": 320,
          "bytes": 13190,
          "sha256": "b353f9cee8db224f87b7b8acd2653e67368115e4bfd3659347cad34a7ffaa846"
        }
      },
      "source": {
        "id": "rogue",
        "name": "Rogue",
        "apiId": 567,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/567-rogue.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/567.json",
        "notes": "Matched Rogue; civilian identity: Anna Marie.",
        "path": "images/characters/rogue.jpg",
        "bytes": 254921,
        "sha256": "64f2963b8d763df3becfea15750098ab8cb281e078007f42d9f338200a21f9c4",
        "downloadedAt": "2026-09-23T04:43:16.279Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "gambit",
      "name": "Gambit",
      "real": "Remy LeBeau",
      "sourceId": "gambit",
      "src": "images/portraits/gambit.webp",
      "thumb": "images/thumbs/gambit.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/274.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/gambit.webp",
          "width": 480,
          "height": 640,
          "bytes": 51322,
          "sha256": "e28f10fb77348b54843693d307b8c36e9d43fde802eb08d609146b297a14fe32"
        },
        "thumbnail": {
          "path": "images/thumbs/gambit.webp",
          "width": 240,
          "height": 320,
          "bytes": 17072,
          "sha256": "f9194c2b6c0e8beecbbdd54aa0580cbdf46c2f2235efd8b456b8489fea23239d"
        }
      },
      "source": {
        "id": "gambit",
        "name": "Gambit",
        "apiId": 274,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/274-gambit.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/274.json",
        "notes": "Matched Gambit; civilian identity: Remy Etienne LeBeau.",
        "path": "images/characters/gambit.jpg",
        "bytes": 336531,
        "sha256": "ea7a87f1427ca52b64c2eaace804cda05d751e6e00bdfab74ca323cf9c7e0135",
        "downloadedAt": "2026-09-23T04:43:16.175Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "kitty",
      "name": "Kitty Pryde",
      "real": "Kitty Pryde",
      "sourceId": "shadowcat",
      "src": "images/portraits/kitty.webp",
      "thumb": "images/thumbs/kitty.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/586.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/kitty.webp",
          "width": 480,
          "height": 640,
          "bytes": 28408,
          "sha256": "8439d5461913eac8db67cbf04dcbf12ad23862f2c56f278ee2b64e59702fafa1"
        },
        "thumbnail": {
          "path": "images/thumbs/kitty.webp",
          "width": 240,
          "height": 320,
          "bytes": 10034,
          "sha256": "452736a6c57d2030d2facec21e94ecf398f80e77b0a2ba2842c8048581afa5ec"
        }
      },
      "source": {
        "id": "shadowcat",
        "name": "Shadowcat",
        "apiId": 586,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/586-shadowcat.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/586.json",
        "notes": "Matched Shadowcat; civilian identity: Kitty Pryde.",
        "path": "images/characters/shadowcat.jpg",
        "bytes": 224542,
        "sha256": "8360b8e64e81f0304d17e3eeb922bbfa3ab58a5329c4a5e12fb04e366f85435b",
        "downloadedAt": "2026-09-23T04:43:16.661Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "colossus",
      "name": "Colossus",
      "real": "Piotr Rasputin",
      "sourceId": "colossus",
      "src": "images/portraits/colossus.webp",
      "thumb": "images/thumbs/colossus.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/185.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/colossus.webp",
          "width": 480,
          "height": 640,
          "bytes": 36446,
          "sha256": "f13de984e1129957d45357764f4b4a21261cb9ffa1e99fe08f3010a14d2c152a"
        },
        "thumbnail": {
          "path": "images/thumbs/colossus.webp",
          "width": 240,
          "height": 320,
          "bytes": 12868,
          "sha256": "42239af23612e65615a4c9a6584e8c1afadedaead8b31f520c7c0eee5f2bd92a"
        }
      },
      "source": {
        "id": "colossus",
        "name": "Colossus",
        "apiId": 185,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/185-colossus.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/185.json",
        "notes": "Matched Colossus; civilian identity: Piotr Nikolaievitch Rasputin.",
        "path": "images/characters/colossus.jpg",
        "bytes": 221847,
        "sha256": "dce92701ccd656e9d2cf51438ee0ca3b585be1fe380bbfb45158c6c67c8dc48e",
        "downloadedAt": "2026-09-23T04:43:16.532Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "emmafrost",
      "name": "Emma Frost",
      "real": "Emma Frost",
      "sourceId": "emma-frost",
      "src": "images/portraits/emmafrost.webp",
      "thumb": "images/thumbs/emmafrost.webp",
      "sourcePage": "https://en.wikipedia.org/wiki/Emma_Frost",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/emmafrost.webp",
          "width": 256,
          "height": 389,
          "bytes": 34886,
          "sha256": "89fafd9821060d3f0e438e8922eec302e8e8e09add079e3debc287d6af4a6998"
        },
        "thumbnail": {
          "path": "images/thumbs/emmafrost.webp",
          "width": 211,
          "height": 320,
          "bytes": 21076,
          "sha256": "c00d95077879634a441b20ac5f0bddbe96acf2099e85cca3b920b82639dee633"
        }
      },
      "source": {
        "id": "emma-frost",
        "sourcePage": "https://en.wikipedia.org/wiki/Emma_Frost",
        "imageUrl": "https://upload.wikimedia.org/wikipedia/en/0/02/Emma_Frost_%28Modern%29.webp",
        "notes": "Wikipedia lead comics portrait, Emma Frost. HTTP200 downloaded and visually verified as comic illustration, not a photograph. Composition shows multiple Emma Frost costume variants; central foreground Emma is near50%x,58%y. 256x389.",
        "path": "images/characters/emma-frost.webp",
        "bytes": 73398,
        "sha256": "09b92dca4a2d94ffb7c5a4b44045dc45c370bad43b448ee6a6367ffd44e4f5cb",
        "downloadedAt": "2026-09-23T04:49:51.382Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "cable",
      "name": "Cable",
      "real": "Nathan Summers",
      "sourceId": "cable",
      "src": "images/portraits/cable.webp",
      "thumb": "images/thumbs/cable.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/145.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/cable.webp",
          "width": 480,
          "height": 640,
          "bytes": 75964,
          "sha256": "5528272837e676e2b1b5843979192c58b637f280eae37b77c25e80129ae80a14"
        },
        "thumbnail": {
          "path": "images/thumbs/cable.webp",
          "width": 240,
          "height": 320,
          "bytes": 19232,
          "sha256": "4be1439e79d25ace39b67ad03d91f509630cb0d1fd9f9556d050080a986efb27"
        }
      },
      "source": {
        "id": "cable",
        "name": "Cable",
        "apiId": 145,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/145-cable.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/145.json",
        "notes": "Matched Cable; civilian identity: Nathan Summers.",
        "path": "images/characters/cable.jpg",
        "bytes": 315040,
        "sha256": "d0b70f872bde8d8be171fb35bcd34ccdde3a12e9fa29b06bf7ae00243cc40845",
        "downloadedAt": "2026-09-23T04:43:16.473Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "deadpool",
      "name": "Deadpool",
      "real": "Wade Wilson",
      "sourceId": "deadpool",
      "src": "images/portraits/deadpool.webp",
      "thumb": "images/thumbs/deadpool.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/213.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/deadpool.webp",
          "width": 480,
          "height": 640,
          "bytes": 37878,
          "sha256": "1f4250e219c3ef2ad09d2701c5a63ee7231d30bb4887928fcfa1a4a9fb8be59f"
        },
        "thumbnail": {
          "path": "images/thumbs/deadpool.webp",
          "width": 240,
          "height": 320,
          "bytes": 12642,
          "sha256": "0405e125e5f4f2f985e1ad6f1db73e51728b81eef5f693f0cc717b027d0dfb4d"
        }
      },
      "source": {
        "id": "deadpool",
        "name": "Deadpool",
        "apiId": 213,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/213-deadpool.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/213.json",
        "notes": "Matched Deadpool; civilian identity: Wade Wilson.",
        "path": "images/characters/deadpool.jpg",
        "bytes": 269432,
        "sha256": "09397c25e1c7e9a60332e606fecca9c8b2336a4248b1835194dbbfd5b77bd110",
        "downloadedAt": "2026-09-23T04:43:16.584Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "mystique",
      "name": "Mystique",
      "real": "Raven Darkhölme",
      "sourceId": "mystique",
      "src": "images/portraits/mystique.webp",
      "thumb": "images/thumbs/mystique.webp",
      "sourcePage": "https://leagueofcomicgeeks.com/character/138/mystique",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/mystique.webp",
          "width": 400,
          "height": 400,
          "bytes": 9244,
          "sha256": "8cd7156edda90548ca44b17097121d11b6dcdc1db8559dfadc5c154d32292a2f"
        },
        "thumbnail": {
          "path": "images/thumbs/mystique.webp",
          "width": 320,
          "height": 320,
          "bytes": 5516,
          "sha256": "29db98777e92f32b58b501afb335c7e3312f26ea6ec74183fe8ecbfa74a9a7e4"
        }
      },
      "source": {
        "id": "mystique",
        "imageUrl": "https://s3.amazonaws.com/comicgeeks/characters/avatars/138.jpg",
        "sourcePage": "https://leagueofcomicgeeks.com/character/138/mystique",
        "notes": "Raven Darkholme in her comics appearance.",
        "force": true,
        "path": "images/characters/mystique.jpg",
        "bytes": 24012,
        "sha256": "1ca6f146c7ee6dab15336164fe0895fce6f7c5167a12401da30b142a2930f569",
        "downloadedAt": "2026-09-23T04:47:50.633Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "apocalypse",
      "name": "Apocalypse",
      "real": "En Sabah Nur",
      "sourceId": "apocalypse",
      "src": "images/portraits/apocalypse.webp",
      "thumb": "images/thumbs/apocalypse.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/35.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/apocalypse.webp",
          "width": 480,
          "height": 640,
          "bytes": 36418,
          "sha256": "af0323d60f5617cc2fb5b5d8f7db1e798e56e207d94a20ecc61e348bed46c2f9"
        },
        "thumbnail": {
          "path": "images/thumbs/apocalypse.webp",
          "width": 240,
          "height": 320,
          "bytes": 11796,
          "sha256": "9226e703bc7878adad75ab458b455fcd2f1e54cb306ad806d1a427c0f8df44f8"
        }
      },
      "source": {
        "id": "apocalypse",
        "name": "Apocalypse",
        "apiId": 35,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/35-apocalypse.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/35.json",
        "notes": "Matched Apocalypse; civilian identity: En Sabah Nur.",
        "path": "images/characters/apocalypse.jpg",
        "bytes": 271712,
        "sha256": "1793727179b6f93904893a4e20bd2196d466f2a8d39b0fb98f9309e7fc9a5148",
        "downloadedAt": "2026-09-23T04:43:16.583Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "mrsinister",
      "name": "Mister Sinister",
      "real": "Nathaniel Essex",
      "sourceId": "mister-sinister",
      "src": "images/portraits/mrsinister.webp",
      "thumb": "images/thumbs/mrsinister.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/460.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/mrsinister.webp",
          "width": 480,
          "height": 640,
          "bytes": 21098,
          "sha256": "7cdb160741f0a6bdba852be76d10cc3911d960eacdf9e2e96a751f4db20df3c0"
        },
        "thumbnail": {
          "path": "images/thumbs/mrsinister.webp",
          "width": 240,
          "height": 320,
          "bytes": 7282,
          "sha256": "32a18a25a45dcebfa5af44645b0d0d55f1af5c864962be4b3df44c9ebb8bb6c4"
        }
      },
      "source": {
        "id": "mister-sinister",
        "name": "Mister Sinister",
        "apiId": 460,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/460-mister-sinister.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/460.json",
        "notes": "Matched Mister Sinister; civilian identity: Nathaniel Essex.",
        "path": "images/characters/mister-sinister.jpg",
        "bytes": 144233,
        "sha256": "a867e6cf0a2ed71f0609ad9f202d837d73b4dc4916b869c2c0de443e3df0b741",
        "downloadedAt": "2026-09-23T04:43:16.769Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "sabretooth",
      "name": "Sabretooth",
      "real": "Victor Creed",
      "sourceId": "sabretooth",
      "src": "images/portraits/sabretooth.webp",
      "thumb": "images/thumbs/sabretooth.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/570.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/sabretooth.webp",
          "width": 480,
          "height": 640,
          "bytes": 76740,
          "sha256": "894ac3b06a002898684de40f483ea7ea7592fdd5421d30ebc6e4fb23d3a3ec8f"
        },
        "thumbnail": {
          "path": "images/thumbs/sabretooth.webp",
          "width": 240,
          "height": 320,
          "bytes": 15470,
          "sha256": "c2b795acc68d5b00bc0058b22d1b698f2dbc3d78aa72287e1e5037dd966f60c2"
        }
      },
      "source": {
        "id": "sabretooth",
        "name": "Sabretooth",
        "apiId": 570,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/570-sabretooth.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/570.json",
        "notes": "Matched Sabretooth; civilian identity: Victor Creed.",
        "path": "images/characters/sabretooth.jpg",
        "bytes": 347208,
        "sha256": "ee765f6c3eba170ce068a6196850623f3c58d9f9f324d3652d63110ab2eb8b44",
        "downloadedAt": "2026-09-23T04:43:16.706Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "juggernaut",
      "name": "Juggernaut",
      "real": "Cain Marko",
      "sourceId": "juggernaut",
      "src": "images/portraits/juggernaut.webp",
      "thumb": "images/thumbs/juggernaut.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/374.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/juggernaut.webp",
          "width": 480,
          "height": 640,
          "bytes": 32360,
          "sha256": "6aa691b3bfa8f656e8b5ca9ebe9322ef4645909602ed8745f5238a0665619ba0"
        },
        "thumbnail": {
          "path": "images/thumbs/juggernaut.webp",
          "width": 240,
          "height": 320,
          "bytes": 10382,
          "sha256": "b63b87403914e0bbee8e1e18f672929adace20521890c23ebe330d05349af795"
        }
      },
      "source": {
        "id": "juggernaut",
        "name": "Juggernaut",
        "apiId": 374,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/374-juggernaut.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/374.json",
        "notes": "Matched Juggernaut; civilian identity: Cain Marko.",
        "path": "images/characters/juggernaut.jpg",
        "bytes": 274588,
        "sha256": "a8dbb1d040079467f5411669b7d4a7a5041ef6bc462fc2795413c318cd509938",
        "downloadedAt": "2026-09-23T04:43:16.715Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "reed",
      "name": "Mister Fantastic",
      "real": "Reed Richards",
      "sourceId": "mister-fantastic",
      "src": "images/portraits/reed.webp",
      "thumb": "images/thumbs/reed.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/456.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/reed.webp",
          "width": 480,
          "height": 640,
          "bytes": 48000,
          "sha256": "84bdbe9ff48fb1b212f1e37201ab6f6aa7a4b392c20322f5b67269630cf22bd7"
        },
        "thumbnail": {
          "path": "images/thumbs/reed.webp",
          "width": 240,
          "height": 320,
          "bytes": 15830,
          "sha256": "c70dab15bc559feeec7fb1a081c9615caf9cd3b90da743a4e71aee0d3496ca72"
        }
      },
      "source": {
        "id": "mister-fantastic",
        "name": "Mister Fantastic",
        "apiId": 456,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/456-mister-fantastic.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/456.json",
        "notes": "Matched Mister Fantastic; civilian identity: Reed Richards.",
        "path": "images/characters/mister-fantastic.jpg",
        "bytes": 310679,
        "sha256": "c790da2ce3a590ede74c6769664c2119267bd2a468478df2cccc7b5c3dd479fd",
        "downloadedAt": "2026-09-23T04:43:16.967Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "sue",
      "name": "Invisible Woman",
      "real": "Sue Storm",
      "sourceId": "invisible-woman",
      "src": "images/portraits/sue.webp",
      "thumb": "images/thumbs/sue.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/344.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/sue.webp",
          "width": 480,
          "height": 640,
          "bytes": 50678,
          "sha256": "20bbdbbdfc8053cb3aa4bcef7bbf71b04914da2e2b5c697f8a099c85d0396f5a"
        },
        "thumbnail": {
          "path": "images/thumbs/sue.webp",
          "width": 240,
          "height": 320,
          "bytes": 15196,
          "sha256": "2e3f63feb56e03f7838bf538b0577411cf3858ea998cbf2319796ee05531e760"
        }
      },
      "source": {
        "id": "invisible-woman",
        "name": "Invisible Woman",
        "apiId": 344,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/344-invisible-woman.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/344.json",
        "notes": "Matched Invisible Woman; civilian identity: Susan Storm Richards.",
        "path": "images/characters/invisible-woman.jpg",
        "bytes": 342774,
        "sha256": "10eab28268b773cfb048a56393f5a2b354aaa4824c513fc35dda5969ba41ed88",
        "downloadedAt": "2026-09-23T04:43:16.994Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "johnny",
      "name": "Human Torch",
      "real": "Johnny Storm",
      "sourceId": "human-torch",
      "src": "images/portraits/johnny.webp",
      "thumb": "images/thumbs/johnny.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/333.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/johnny.webp",
          "width": 480,
          "height": 640,
          "bytes": 50948,
          "sha256": "239266abe5694a5725367cc0b8ad6de48c0cc8421f8ba84f5184673ed4998cd9"
        },
        "thumbnail": {
          "path": "images/thumbs/johnny.webp",
          "width": 240,
          "height": 320,
          "bytes": 15490,
          "sha256": "44ccfed7a4eb8f0bdc56b321531743b7ae540bb7e7b2010b68ed5b8f17030c3d"
        }
      },
      "source": {
        "id": "human-torch",
        "name": "Human Torch",
        "apiId": 333,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/333-human-torch.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/333.json",
        "notes": "Matched Human Torch; civilian identity: Johnny Storm.",
        "path": "images/characters/human-torch.jpg",
        "bytes": 315340,
        "sha256": "237842323194681b340b3175f9ea33ef3910cba5e533c6e66e87a01ef7d410fb",
        "downloadedAt": "2026-09-23T04:43:17.009Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "thing",
      "name": "The Thing",
      "real": "Ben Grimm",
      "sourceId": "thing",
      "src": "images/portraits/thing.webp",
      "thumb": "images/thumbs/thing.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/658.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/thing.webp",
          "width": 480,
          "height": 640,
          "bytes": 56024,
          "sha256": "3f363729175859ac60b975f3038507cbf2fd7c149c21f9173e2e183c83a5e422"
        },
        "thumbnail": {
          "path": "images/thumbs/thing.webp",
          "width": 240,
          "height": 320,
          "bytes": 18640,
          "sha256": "9aa478bd805160cacc684176daf31c69b60422007cce89ecce17d6b6078558ba"
        }
      },
      "source": {
        "id": "thing",
        "name": "Thing",
        "apiId": 658,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/658-thing.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/658.json",
        "notes": "Matched Thing; civilian identity: Ben Grimm.",
        "path": "images/characters/thing.jpg",
        "bytes": 340577,
        "sha256": "e38a048698d7e57f45a12cc387889632aef2737bf65ce0f1f23ac580831b1176",
        "downloadedAt": "2026-09-23T04:43:18.071Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "doom",
      "name": "Doctor Doom",
      "real": "Victor von Doom",
      "sourceId": "doctor-doom",
      "src": "images/portraits/doom.webp",
      "thumb": "images/thumbs/doom.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/222.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/doom.webp",
          "width": 480,
          "height": 640,
          "bytes": 22862,
          "sha256": "6a2bd9e6e18fee6825369dfcc69d0c1ed7b65bccd3e4975892e2a6169d2c660c"
        },
        "thumbnail": {
          "path": "images/thumbs/doom.webp",
          "width": 240,
          "height": 320,
          "bytes": 7850,
          "sha256": "6cbbfc62f9c3a2cd560f5f2c4efa500a73e52a69769d1f9e61d6374607b3ba30"
        }
      },
      "source": {
        "id": "doctor-doom",
        "name": "Doctor Doom",
        "apiId": 222,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/222-doctor-doom.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/222.json",
        "notes": "Matched Doctor Doom; civilian identity: Victor von Doom.",
        "path": "images/characters/doctor-doom.jpg",
        "bytes": 183094,
        "sha256": "20a9cf04d017976abde7b1e96b6786d5bbded877998230a90d6173a5f3d74584",
        "downloadedAt": "2026-09-23T04:43:16.956Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "namor",
      "name": "Namor",
      "real": "Namor McKenzie",
      "sourceId": "namor",
      "src": "images/portraits/namor.webp",
      "thumb": "images/thumbs/namor.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/481.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/namor.webp",
          "width": 480,
          "height": 640,
          "bytes": 98572,
          "sha256": "56b6045b504787a9dbde85ad47ea9b86e3ecf5d57bea5f514315b97a214f81e4"
        },
        "thumbnail": {
          "path": "images/thumbs/namor.webp",
          "width": 240,
          "height": 320,
          "bytes": 16008,
          "sha256": "30d0adcf273860c0386ab8e9271499ba362b217f6f0a373d59f605abe1931761"
        }
      },
      "source": {
        "id": "namor",
        "name": "Namor",
        "apiId": 481,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/481-namor.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/481.json",
        "notes": "Matched Namor; civilian identity: Namor McKenzie.",
        "path": "images/characters/namor.jpg",
        "bytes": 496007,
        "sha256": "9e8efb1d382d68208b81e0d1cc38bb8c1dc1f912fa1395882af640dd30924ca4",
        "downloadedAt": "2026-09-23T04:43:17.232Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "annihilus",
      "name": "Annihilus",
      "real": "Annihilus",
      "sourceId": "annihilus",
      "src": "images/portraits/annihilus.webp",
      "thumb": "images/thumbs/annihilus.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/29.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/annihilus.webp",
          "width": 480,
          "height": 640,
          "bytes": 35328,
          "sha256": "9850e51f3e2b5ce23a4dc5769dbf76ed70cc8a05a6f9f53468917704bbe6595f"
        },
        "thumbnail": {
          "path": "images/thumbs/annihilus.webp",
          "width": 240,
          "height": 320,
          "bytes": 11970,
          "sha256": "428f2079dc092171d85fbfc591e63f1c42538ec943e4797e24bef1629d81c215"
        }
      },
      "source": {
        "id": "annihilus",
        "name": "Annihilus",
        "apiId": 29,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/29-annihilus.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/29.json",
        "notes": "Matched Annihilus; civilian identity: Annihilus.",
        "path": "images/characters/annihilus.jpg",
        "bytes": 290917,
        "sha256": "692c1e446f8e689d864b291cee9a087bca72b74ae12c75ce577a377594ad77f0",
        "downloadedAt": "2026-09-23T04:43:18.093Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "starlord",
      "name": "Star-Lord",
      "real": "Peter Quill",
      "sourceId": "star-lord",
      "src": "images/portraits/starlord.webp",
      "thumb": "images/thumbs/starlord.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/630.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/starlord.webp",
          "width": 480,
          "height": 640,
          "bytes": 37236,
          "sha256": "12fbc02cd54bfcde6f35e916057b42ee85fbc04eb5f4122aad4a4d1dadbdd853"
        },
        "thumbnail": {
          "path": "images/thumbs/starlord.webp",
          "width": 240,
          "height": 320,
          "bytes": 11722,
          "sha256": "562ae0e3568e3bc3a0b788c8ba093931bfef36b5c488d39b323ccb8e8da918c8"
        }
      },
      "source": {
        "id": "star-lord",
        "name": "Star-Lord",
        "apiId": 630,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/630-star-lord.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/630.json",
        "notes": "Matched Star-Lord; civilian identity: Peter Jason Quill.",
        "path": "images/characters/star-lord.jpg",
        "bytes": 278258,
        "sha256": "455cd8e072773ea71ffd2db282d8de50598dd1c40a26378b3c6a7c32bd1616e3",
        "downloadedAt": "2026-09-23T04:43:17.644Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "gamora",
      "name": "Gamora",
      "real": "Gamora",
      "sourceId": "gamora",
      "src": "images/portraits/gamora.webp",
      "thumb": "images/thumbs/gamora.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/275.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/gamora.webp",
          "width": 480,
          "height": 640,
          "bytes": 46024,
          "sha256": "be7a6f3a850c0f1af8fd2c4d0d4286ab29a6536172a3e667d23669e49eab3fb2"
        },
        "thumbnail": {
          "path": "images/thumbs/gamora.webp",
          "width": 240,
          "height": 320,
          "bytes": 14580,
          "sha256": "858eb612d9455095a248d7e39d9bf35845a39ce82f829059db82b0a3486892ca"
        }
      },
      "source": {
        "id": "gamora",
        "name": "Gamora",
        "apiId": 275,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/275-gamora.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/275.json",
        "notes": "Matched Gamora; civilian identity: Gamora Zen Whoberi Ben Titan.",
        "path": "images/characters/gamora.jpg",
        "bytes": 264872,
        "sha256": "2935183ad8fbb94061e313201e499639b4f4c6f77dd726ca11862f621deaf198",
        "downloadedAt": "2026-09-23T04:43:17.871Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "drax",
      "name": "Drax the Destroyer",
      "real": "Arthur Douglas",
      "sourceId": "drax",
      "src": "images/portraits/drax.webp",
      "thumb": "images/thumbs/drax.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/234.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/drax.webp",
          "width": 480,
          "height": 640,
          "bytes": 30866,
          "sha256": "42f0c665cfb49f0da28b335d41011e914ebd02c76d667096d1820be506eab86f"
        },
        "thumbnail": {
          "path": "images/thumbs/drax.webp",
          "width": 240,
          "height": 320,
          "bytes": 9802,
          "sha256": "d9eb1e63566246f9506e1c42d5b347fdda6a89ea8de8777ef1e5690001826f3c"
        }
      },
      "source": {
        "id": "drax",
        "name": "Drax the Destroyer",
        "apiId": 234,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/234-drax-the-destroyer.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/234.json",
        "notes": "Matched Drax the Destroyer; civilian identity: Arthur Sampson Douglas.",
        "path": "images/characters/drax.jpg",
        "bytes": 235945,
        "sha256": "1c6c104fcc9435cdf038ce79830ae8e57751e5e3322d77dd4aaef4b8235c9aab",
        "downloadedAt": "2026-09-23T04:43:17.593Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "rocket",
      "name": "Rocket",
      "real": "Rocket Raccoon",
      "sourceId": "rocket",
      "src": "images/portraits/rocket.webp",
      "thumb": "images/thumbs/rocket.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/566.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/rocket.webp",
          "width": 480,
          "height": 640,
          "bytes": 40302,
          "sha256": "4c8135508cfb43ea992cfc9a90b861052186439342ac01fc569acb8669ec80a1"
        },
        "thumbnail": {
          "path": "images/thumbs/rocket.webp",
          "width": 240,
          "height": 320,
          "bytes": 13732,
          "sha256": "ebec54c13904d4b15b485f4516e570507d87fcec6973da804de84daa292cd7dc"
        }
      },
      "source": {
        "id": "rocket",
        "name": "Rocket Raccoon",
        "apiId": 566,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/566-rocket-raccoon.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/566.json",
        "notes": "Matched Rocket Raccoon; civilian identity: Rocket Raccoon.",
        "path": "images/characters/rocket.jpg",
        "bytes": 241378,
        "sha256": "bfa80172941be236070923eea2e405f2f71f5e09a1e42d54a065e57697df4303",
        "downloadedAt": "2026-09-23T04:43:17.915Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "groot",
      "name": "Groot",
      "real": "Groot",
      "sourceId": "groot",
      "src": "images/portraits/groot.webp",
      "thumb": "images/thumbs/groot.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/303.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/groot.webp",
          "width": 480,
          "height": 640,
          "bytes": 46500,
          "sha256": "b4edc220a3d05ad30843cbfc4aea92d99898831ca6dceb347eccf4eeaee63885"
        },
        "thumbnail": {
          "path": "images/thumbs/groot.webp",
          "width": 240,
          "height": 320,
          "bytes": 14824,
          "sha256": "6fa65ef912f97e09c72988cf920286fe42b74692e90c5acb53bcdd46649f636c"
        }
      },
      "source": {
        "id": "groot",
        "name": "Groot",
        "apiId": 303,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/303-groot.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/303.json",
        "notes": "Matched Groot; civilian identity: Groot.",
        "path": "images/characters/groot.jpg",
        "bytes": 320855,
        "sha256": "677b4ec75c0c4048f9a3b2c4b3b2458e48de7df2410d1ef9a1812d3b241d3ed5",
        "downloadedAt": "2026-09-23T04:43:17.715Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "nebula",
      "name": "Nebula",
      "real": "Nebula",
      "sourceId": "nebula",
      "src": "images/portraits/nebula.webp",
      "thumb": "images/thumbs/nebula.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/487.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/nebula.webp",
          "width": 480,
          "height": 640,
          "bytes": 62176,
          "sha256": "f17d20346c889491b719ac9dff5b56172fc32ec7270a60a294aff6ee67a08cb2"
        },
        "thumbnail": {
          "path": "images/thumbs/nebula.webp",
          "width": 240,
          "height": 320,
          "bytes": 12584,
          "sha256": "0aa4249e75f3d085c4fbb154565b732c6dfcfa07d01cb3f4e136060618e9f3b5"
        }
      },
      "source": {
        "id": "nebula",
        "name": "Nebula",
        "apiId": 487,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/487-nebula.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/487.json",
        "notes": "Exact distinctive character name in Marvel Comics record; civilian identity not supplied in API.",
        "path": "images/characters/nebula.jpg",
        "bytes": 282262,
        "sha256": "7ee5610f3c809aeca4ace10a82c58485de265fc2d168c095a978a66812f11871",
        "downloadedAt": "2026-09-23T04:43:17.911Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "adamwarlock",
      "name": "Adam Warlock",
      "real": "Adam Warlock",
      "sourceId": "adam-warlock",
      "src": "images/portraits/adamwarlock.webp",
      "thumb": "images/thumbs/adamwarlock.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/705.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/adamwarlock.webp",
          "width": 480,
          "height": 640,
          "bytes": 40736,
          "sha256": "25a4b439bc9079603c2077e40f8911eecc1ec09fa89f7648a96320bbaa278434"
        },
        "thumbnail": {
          "path": "images/thumbs/adamwarlock.webp",
          "width": 240,
          "height": 320,
          "bytes": 13990,
          "sha256": "3b2cb19a3c260a84ad14637321d259278e9280e13a99c48c93af904fe631da69"
        }
      },
      "source": {
        "id": "adam-warlock",
        "name": "Adam Warlock",
        "apiId": 705,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/705-warlock.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/705.json",
        "notes": "Matched Warlock; civilian identity: Adam Warlock.",
        "path": "images/characters/adam-warlock.jpg",
        "bytes": 190766,
        "sha256": "1e74c3f9b5236bad2d6d80a8d20f187f30ebec664f3834859f60247c80229966",
        "downloadedAt": "2026-09-23T04:43:18.187Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "nova",
      "name": "Nova",
      "real": "Richard Rider",
      "sourceId": "nova",
      "src": "images/portraits/nova.webp",
      "thumb": "images/thumbs/nova.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/496.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/nova.webp",
          "width": 480,
          "height": 640,
          "bytes": 41782,
          "sha256": "1b10260d6c7f3867fcacfebdba8a3a8dde789df960cc48b36d4adf48ab2f33b1"
        },
        "thumbnail": {
          "path": "images/thumbs/nova.webp",
          "width": 240,
          "height": 320,
          "bytes": 11536,
          "sha256": "957637386a1999ae2d3ba25a3b0aec515cc44ecd72b58bae6c790a37510c64b0"
        }
      },
      "source": {
        "id": "nova",
        "name": "Nova",
        "apiId": 496,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/496-nova.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/496.json",
        "notes": "Richard Rider: API Nova (496); excludes Frankie Raye (497).",
        "path": "images/characters/nova.jpg",
        "bytes": 222041,
        "sha256": "e6bc5e48873f801825a3a0079c5783aab27893541e1ebf0df3e9d722c3360d9b",
        "downloadedAt": "2026-09-23T04:43:17.979Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "thanos",
      "name": "Thanos",
      "real": "Thanos",
      "sourceId": "thanos",
      "src": "images/portraits/thanos.webp",
      "thumb": "images/thumbs/thanos.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/655.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/thanos.webp",
          "width": 480,
          "height": 640,
          "bytes": 63004,
          "sha256": "874c1d24a70f2524fc447b97ee45609ed0a530b7221bec4680b6954f79ddfad3"
        },
        "thumbnail": {
          "path": "images/thumbs/thanos.webp",
          "width": 240,
          "height": 320,
          "bytes": 20966,
          "sha256": "7078844cc37a5fe435317e6413cbdb181a9c35dbc0ca616c508a14fe1aa26441"
        }
      },
      "source": {
        "id": "thanos",
        "name": "Thanos",
        "apiId": 655,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/655-thanos.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/655.json",
        "notes": "Matched Thanos; civilian identity: Thanos.",
        "path": "images/characters/thanos.jpg",
        "bytes": 372769,
        "sha256": "33dd2adf065e9190ec5d84541ff7125ae369484618be8b1dabc7f393abb75a23",
        "downloadedAt": "2026-09-23T04:43:17.967Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "galactus",
      "name": "Galactus",
      "real": "Galan",
      "sourceId": "galactus",
      "src": "images/portraits/galactus.webp",
      "thumb": "images/thumbs/galactus.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/273.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/galactus.webp",
          "width": 480,
          "height": 640,
          "bytes": 25650,
          "sha256": "07f9e8a75b89fff1ac57db80698220d56613fdf869d7d23a778ad78167e46d31"
        },
        "thumbnail": {
          "path": "images/thumbs/galactus.webp",
          "width": 240,
          "height": 320,
          "bytes": 6650,
          "sha256": "3cc6dbe5fb0b203aac09c4dbeaded26434472614bf05e0ac65ead04916a5b18c"
        }
      },
      "source": {
        "id": "galactus",
        "name": "Galactus",
        "apiId": 273,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/273-galactus.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/273.json",
        "notes": "Matched Galactus; civilian identity: Galan.",
        "path": "images/characters/galactus.jpg",
        "bytes": 185869,
        "sha256": "da37faf91553be72f1b08f9015155e26e9a6f3f4b893f44122493ce28690fe12",
        "downloadedAt": "2026-09-23T04:43:17.256Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "silversurfer",
      "name": "Silver Surfer",
      "real": "Norrin Radd",
      "sourceId": "silver-surfer",
      "src": "images/portraits/silversurfer.webp",
      "thumb": "images/thumbs/silversurfer.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/598.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/silversurfer.webp",
          "width": 480,
          "height": 640,
          "bytes": 67786,
          "sha256": "bb06b631a3ed6c630fda83e90611cfb7c9c535451f82245f5eb87917592b84d9"
        },
        "thumbnail": {
          "path": "images/thumbs/silversurfer.webp",
          "width": 240,
          "height": 320,
          "bytes": 15428,
          "sha256": "b469dad4da19344559d0bc7872896678f22a5cd3d4fc651cabd01a8a46a1de12"
        }
      },
      "source": {
        "id": "silver-surfer",
        "name": "Silver Surfer",
        "apiId": 598,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/598-silver-surfer.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/598.json",
        "notes": "Matched Silver Surfer; civilian identity: Norrin Radd.",
        "path": "images/characters/silver-surfer.jpg",
        "bytes": 261020,
        "sha256": "9bc2df64692236f503979e650cb46c3cd1440586d962a2fa39919f14ef649742",
        "downloadedAt": "2026-09-23T04:43:17.010Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "uatu",
      "name": "The Watcher",
      "real": "Uatu",
      "sourceId": "uatu",
      "src": "images/portraits/uatu.webp",
      "thumb": "images/thumbs/uatu.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/709.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/uatu.webp",
          "width": 480,
          "height": 640,
          "bytes": 35052,
          "sha256": "98e71564b13aa45c79b65cb17a26568d22b0904917aa7599c7d804686c89f52b"
        },
        "thumbnail": {
          "path": "images/thumbs/uatu.webp",
          "width": 240,
          "height": 320,
          "bytes": 11920,
          "sha256": "36068c47a7ac735c29ffcd7557596d9b9550831654c1d79c84536c25489694ff"
        }
      },
      "source": {
        "id": "uatu",
        "name": "Uatu the Watcher",
        "apiId": 709,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/709-watcher.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/709.json",
        "notes": "Matched Watcher; civilian identity: Uatu.",
        "path": "images/characters/uatu.jpg",
        "bytes": 249708,
        "sha256": "7c82dd7fa61777e76bbddff8fc0770c71804fe4a053fd294a39340848d1369be",
        "downloadedAt": "2026-09-23T04:43:19.311Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "odin",
      "name": "Odin",
      "real": "Odin Borson",
      "sourceId": "odin",
      "src": "images/portraits/odin.webp",
      "thumb": "images/thumbs/odin.webp",
      "sourcePage": "https://en.wikipedia.org/wiki/Odin_(Marvel_Comics)",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/odin.webp",
          "width": 296,
          "height": 326,
          "bytes": 35650,
          "sha256": "7f2d3f32d8d61d8befe4ea116817e7cb7deef7b952f1f399f842cf22a973c300"
        },
        "thumbnail": {
          "path": "images/thumbs/odin.webp",
          "width": 291,
          "height": 320,
          "bytes": 30554,
          "sha256": "8bd54b144234a257d37a202e2881403c0da90652474cdbe9adbaf705b53c2bbf"
        }
      },
      "source": {
        "id": "odin",
        "sourcePage": "https://en.wikipedia.org/wiki/Odin_(Marvel_Comics)",
        "imageUrl": "https://upload.wikimedia.org/wikipedia/en/5/5d/Odin_%28Marvel_Comics_character%29.png",
        "notes": "Wikipedia lead Marvel comics portrait, Odin Borson. HTTP200 downloaded and visually verified as comic illustration, not a photograph. Classic armored Odin seated on throne; face top center;296x326.",
        "path": "images/characters/odin.png",
        "bytes": 191082,
        "sha256": "de71f029cb842b0080f1913137903e301bcced89f62936191ca7dcdff1c57b4a",
        "downloadedAt": "2026-09-23T04:49:51.441Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "loki",
      "name": "Loki",
      "real": "Loki Laufeyson",
      "sourceId": "loki",
      "src": "images/portraits/loki.webp",
      "thumb": "images/thumbs/loki.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/414.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/loki.webp",
          "width": 480,
          "height": 640,
          "bytes": 53938,
          "sha256": "0fbf6f2e2ccb7e821e99aa919e52419b39fdccca3fa5ce2eab9816489d6cec9b"
        },
        "thumbnail": {
          "path": "images/thumbs/loki.webp",
          "width": 240,
          "height": 320,
          "bytes": 14832,
          "sha256": "e51ea3f8c7ff57e5806e4660b5d68bbbe08e01a5b42160b532747ae627164d65"
        }
      },
      "source": {
        "id": "loki",
        "name": "Loki",
        "apiId": 414,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/414-loki.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/414.json",
        "notes": "Matched Loki; civilian identity: Loki Laufeyson.",
        "path": "images/characters/loki.jpg",
        "bytes": 287523,
        "sha256": "2a122ed9b17b669bffcd3efaa780c65e4d27f8cb2954991ee648f86cec133cde",
        "downloadedAt": "2026-09-23T04:43:18.621Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "ronan",
      "name": "Ronan the Accuser",
      "real": "Ronan",
      "sourceId": "ronan",
      "src": "images/portraits/ronan.webp",
      "thumb": "images/thumbs/ronan.webp",
      "sourcePage": "https://www.marvel.com/characters/ronan/in-comics",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/ronan.webp",
          "width": 900,
          "height": 429,
          "bytes": 56678,
          "sha256": "e1b676274f44e8b097eec17af0f323373dad1bbcdfa1c5ae28130a173fa6ff90"
        },
        "thumbnail": {
          "path": "images/thumbs/ronan.webp",
          "width": 320,
          "height": 152,
          "bytes": 5996,
          "sha256": "ba2f6a68c2eb07ad207c7f9b863056510c0379570eaab4c859acf810b4b376f9"
        }
      },
      "source": {
        "id": "ronan",
        "imageUrl": "https://cdn.marvel.com/content/2x/175rnn_com_mas_mob_01.png",
        "sourcePage": "https://www.marvel.com/characters/ronan/in-comics",
        "notes": "Official comics Ronan the Accuser, green Kree armor.",
        "name": "Ronan the Accuser",
        "path": "images/characters/ronan.png",
        "bytes": 795930,
        "sha256": "c9cd1ec57892c07971a7e639d63e57e4f103040e38188e716f1813ad3f1c110a",
        "downloadedAt": "2026-09-23T04:48:52.953Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "beyonder",
      "name": "The Beyonder",
      "real": "Beyonder",
      "sourceId": "beyonder",
      "src": "images/portraits/beyonder.webp",
      "thumb": "images/thumbs/beyonder.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/80.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/beyonder.webp",
          "width": 480,
          "height": 640,
          "bytes": 53332,
          "sha256": "93d7b12a135a8c92af7f2d6cb845f53450e51ba02297f72c16c157bdd1082763"
        },
        "thumbnail": {
          "path": "images/thumbs/beyonder.webp",
          "width": 240,
          "height": 320,
          "bytes": 17758,
          "sha256": "9d8c2a21a551debeb9184249cf7716db21feff862b876561615926eb209cffd5"
        }
      },
      "source": {
        "id": "beyonder",
        "name": "Beyonder",
        "apiId": 80,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/80-beyonder.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/80.json",
        "notes": "Exact distinctive character name in Marvel Comics record; civilian identity not supplied in API.",
        "path": "images/characters/beyonder.jpg",
        "bytes": 251471,
        "sha256": "ab2ad28401a4f0ac62babc94c5ec3e53c17f19597f1f64baafe0dc52770a5e4d",
        "downloadedAt": "2026-09-23T04:43:19.153Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "blackbolt",
      "name": "Black Bolt",
      "real": "Blackagar Boltagon",
      "sourceId": "black-bolt",
      "src": "images/portraits/blackbolt.webp",
      "thumb": "images/thumbs/blackbolt.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/96.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/blackbolt.webp",
          "width": 480,
          "height": 640,
          "bytes": 49696,
          "sha256": "52a4135f1138736589c7ccc2520342e6530d488eba364c9ec737ac74dd516833"
        },
        "thumbnail": {
          "path": "images/thumbs/blackbolt.webp",
          "width": 240,
          "height": 320,
          "bytes": 17270,
          "sha256": "d6516cf05cf6939621e7e2251731d8d41d2f241233160bde368c098c0b2792b9"
        }
      },
      "source": {
        "id": "black-bolt",
        "name": "Black Bolt",
        "apiId": 96,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/96-black-bolt.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/96.json",
        "notes": "Matched Black Bolt; civilian identity: Blackagar Boltagon.",
        "path": "images/characters/black-bolt.jpg",
        "bytes": 327079,
        "sha256": "62d595a23628a62e292710e9e4d1b3457e5fec09bf485996fc26a08fef27636f",
        "downloadedAt": "2026-09-23T04:43:18.755Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "spiderman",
      "name": "Spider-Man",
      "real": "Peter Parker",
      "sourceId": "spider-man",
      "src": "images/portraits/spiderman.webp",
      "thumb": "images/thumbs/spiderman.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/620.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/spiderman.webp",
          "width": 480,
          "height": 640,
          "bytes": 65756,
          "sha256": "258e04bb45d8fd4a0da367a490aeab1eeacc6645256ebaa58ffd0575ca3f5f7f"
        },
        "thumbnail": {
          "path": "images/thumbs/spiderman.webp",
          "width": 240,
          "height": 320,
          "bytes": 17188,
          "sha256": "326bca6a1131832e011714eccb452adca95972bf80946e4ffb069babfcf4cd1e"
        }
      },
      "source": {
        "id": "spider-man",
        "name": "Spider-Man",
        "apiId": 620,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/620-spider-man.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/620.json",
        "notes": "Peter Parker: API Spider-Man (620); no Miles Morales entry in this dataset.",
        "path": "images/characters/spider-man.jpg",
        "bytes": 319988,
        "sha256": "15974ef4f99b9318a1c90bce27d9494942166fa9eeda47f423971285e96cb01a",
        "downloadedAt": "2026-09-23T04:43:17.029Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "milesmorales",
      "name": "Miles Morales",
      "real": "Miles Morales",
      "sourceId": "miles-morales",
      "src": "images/portraits/milesmorales.webp",
      "thumb": "images/thumbs/milesmorales.webp",
      "sourcePage": "https://leagueofcomicgeeks.com/character/71/miles-morales",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/milesmorales.webp",
          "width": 400,
          "height": 400,
          "bytes": 14332,
          "sha256": "2d4d2b284a5b7681389092ae46ccc626b622c70afcdee03e039180abd16b3cad"
        },
        "thumbnail": {
          "path": "images/thumbs/milesmorales.webp",
          "width": 320,
          "height": 320,
          "bytes": 8252,
          "sha256": "1c6342129c19809f77bce8ae3121fd2048e2f960939d078e377d470f647d5863"
        }
      },
      "source": {
        "id": "miles-morales",
        "imageUrl": "https://s3.amazonaws.com/comicgeeks/characters/avatars/71.jpg",
        "sourcePage": "https://leagueofcomicgeeks.com/character/71/miles-morales",
        "notes": "Miles Morales/Spider-Man, Earth-1610 origin and now Prime universe; distinct from Peter Parker and adult Earth-616 Ultimatum.",
        "name": "Miles Morales",
        "path": "images/characters/miles-morales.jpg",
        "bytes": 31948,
        "sha256": "787f59e5327ba06679b24b76c5649c5b4f31bd4bbcbc83dc59d2474de0b93f9a",
        "downloadedAt": "2026-09-23T04:48:52.369Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "greengoblin",
      "name": "Green Goblin",
      "real": "Norman Osborn",
      "sourceId": "green-goblin",
      "src": "images/portraits/greengoblin.webp",
      "thumb": "images/thumbs/greengoblin.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/299.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/greengoblin.webp",
          "width": 480,
          "height": 640,
          "bytes": 47432,
          "sha256": "c3aa37ff5b3fdf2ef8cdbbd194e20bfd36673501f019d5f4f3d7dc1b09fc95e1"
        },
        "thumbnail": {
          "path": "images/thumbs/greengoblin.webp",
          "width": 240,
          "height": 320,
          "bytes": 15280,
          "sha256": "55b236d92bc3dd4ace965bdad29d5459f78067d0b08d2932583f781363160d40"
        }
      },
      "source": {
        "id": "green-goblin",
        "name": "Green Goblin",
        "apiId": 299,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/299-green-goblin.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/299.json",
        "notes": "Matched Green Goblin; civilian identity: Norman Osborn.",
        "path": "images/characters/green-goblin.jpg",
        "bytes": 266562,
        "sha256": "c1df96bc2a16579b3f2a77480e9fc62e335d273490bb00cd2a24018bed455afe",
        "downloadedAt": "2026-09-23T04:43:17.138Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "venom",
      "name": "Venom",
      "real": "Eddie Brock",
      "sourceId": "venom",
      "src": "images/portraits/venom.webp",
      "thumb": "images/thumbs/venom.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/687.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/venom.webp",
          "width": 480,
          "height": 640,
          "bytes": 31662,
          "sha256": "3bdf71cf77526fd19808c43c4a860c6040e41f4ed9ecf60b88efd8b63af3f731"
        },
        "thumbnail": {
          "path": "images/thumbs/venom.webp",
          "width": 240,
          "height": 320,
          "bytes": 10730,
          "sha256": "b3f29b385b03d7fa7ca70c96be7beaa7049db1aec2df17932a9dfd736d379b2e"
        }
      },
      "source": {
        "id": "venom",
        "name": "Venom",
        "apiId": 687,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/687-venom.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/687.json",
        "notes": "Eddie Brock: API Venom (687); excludes Angelo Fortunato, Mac Gargan, and Dylan Brock.",
        "path": "images/characters/venom.jpg",
        "bytes": 240796,
        "sha256": "683ea03604a9a422fd673b005e84275f203cc817a2db5e72269a5988f6c90e4b",
        "downloadedAt": "2026-09-23T04:43:17.081Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "daredevil",
      "name": "Daredevil",
      "real": "Matt Murdock",
      "sourceId": "daredevil",
      "src": "images/portraits/daredevil.webp",
      "thumb": "images/thumbs/daredevil.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/201.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/daredevil.webp",
          "width": 480,
          "height": 640,
          "bytes": 24046,
          "sha256": "72000895e4fb1edd6dc0657dd7fc3c508d4767fd7c5be59de5bbb1975e2ef5d7"
        },
        "thumbnail": {
          "path": "images/thumbs/daredevil.webp",
          "width": 240,
          "height": 320,
          "bytes": 8500,
          "sha256": "a5012320d7cfa021e3f69e9d4af22e2cccaf2a45fc71355b88bc7ec1be17ada8"
        }
      },
      "source": {
        "id": "daredevil",
        "name": "Daredevil",
        "apiId": 201,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/201-daredevil.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/201.json",
        "notes": "Matched Daredevil; civilian identity: Matt Murdock.",
        "path": "images/characters/daredevil.jpg",
        "bytes": 225145,
        "sha256": "55cd66dfbf2c231541c1b669bde0975789ca3b18f11a072084c70dae0c19ac4c",
        "downloadedAt": "2026-09-23T04:43:18.244Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "kingpin",
      "name": "Kingpin",
      "real": "Wilson Fisk",
      "sourceId": "kingpin",
      "src": "images/portraits/kingpin.webp",
      "thumb": "images/thumbs/kingpin.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/391.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/kingpin.webp",
          "width": 480,
          "height": 640,
          "bytes": 34334,
          "sha256": "2d0b088dee66de653267dd9e7617939c6c7719d66ea89c8bc8e327190e308ed7"
        },
        "thumbnail": {
          "path": "images/thumbs/kingpin.webp",
          "width": 240,
          "height": 320,
          "bytes": 10882,
          "sha256": "7cb2af0fe2471f309c4f169e475682a213bbbbb937c4726ab4bf3b2fb425dab3"
        }
      },
      "source": {
        "id": "kingpin",
        "name": "Kingpin",
        "apiId": 391,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/391-kingpin.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/391.json",
        "notes": "Matched Kingpin; civilian identity: Wilson Grant Fisk.",
        "path": "images/characters/kingpin.jpg",
        "bytes": 243004,
        "sha256": "bc32237491a53ebfbcb66b738a0e289dc23276bf79ca333017e6d46f2d1d947c",
        "downloadedAt": "2026-09-23T04:43:18.586Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "elektra",
      "name": "Elektra",
      "real": "Elektra Natchios",
      "sourceId": "elektra",
      "src": "images/portraits/elektra.webp",
      "thumb": "images/thumbs/elektra.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/238.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/elektra.webp",
          "width": 480,
          "height": 640,
          "bytes": 51782,
          "sha256": "1d7d871059b32a39815fb833372ecff8eed128bc851a882926e861a681d01115"
        },
        "thumbnail": {
          "path": "images/thumbs/elektra.webp",
          "width": 240,
          "height": 320,
          "bytes": 17524,
          "sha256": "df6a7c17839321caf14ed5d92440920bfa83ec8702da377c3430d993c6b93dfe"
        }
      },
      "source": {
        "id": "elektra",
        "name": "Elektra",
        "apiId": 238,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/238-elektra.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/238.json",
        "notes": "Matched Elektra; civilian identity: Elektra Natchios.",
        "path": "images/characters/elektra.jpg",
        "bytes": 357455,
        "sha256": "b90c064123693678509fdfd66a3d9afddb7af07fa7156d9111b37bbb728302eb",
        "downloadedAt": "2026-09-23T04:43:18.521Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "punisher",
      "name": "Punisher",
      "real": "Frank Castle",
      "sourceId": "punisher",
      "src": "images/portraits/punisher.webp",
      "thumb": "images/thumbs/punisher.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/530.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/punisher.webp",
          "width": 480,
          "height": 640,
          "bytes": 30734,
          "sha256": "d27252113d014fc46e82e82a27e5d5f563120038b426dfacea0796e6b3069edd"
        },
        "thumbnail": {
          "path": "images/thumbs/punisher.webp",
          "width": 240,
          "height": 320,
          "bytes": 10022,
          "sha256": "2db42bd1d51dc67c6a0ad150076f38c8398496c8d0901177356cba798d4a23a8"
        }
      },
      "source": {
        "id": "punisher",
        "name": "Punisher",
        "apiId": 530,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/530-punisher.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/530.json",
        "notes": "Matched Punisher; civilian identity: Frank Castle.",
        "path": "images/characters/punisher.jpg",
        "bytes": 165442,
        "sha256": "9fc5bb21d0b479951f69725a47dbbe52c3ba624893fac7b9c2a4447ced8e3637",
        "downloadedAt": "2026-09-23T04:43:18.406Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "lukecage",
      "name": "Luke Cage",
      "real": "Carl Lucas",
      "sourceId": "luke-cage",
      "src": "images/portraits/lukecage.webp",
      "thumb": "images/thumbs/lukecage.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/416.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/lukecage.webp",
          "width": 480,
          "height": 640,
          "bytes": 57900,
          "sha256": "cf7316923fdfdc2a032c2d8f3bc52f431adad7963e92f1cae67e078fc4747149"
        },
        "thumbnail": {
          "path": "images/thumbs/lukecage.webp",
          "width": 240,
          "height": 320,
          "bytes": 19528,
          "sha256": "f0b7198cc534f6521546d108c724a3d742227a1ddac4838f69f21fcecd4622c7"
        }
      },
      "source": {
        "id": "luke-cage",
        "name": "Luke Cage",
        "apiId": 416,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/416-luke-cage.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/416.json",
        "notes": "Matched Luke Cage; civilian identity: Luke Cage.",
        "path": "images/characters/luke-cage.jpg",
        "bytes": 332167,
        "sha256": "ca2dd8cbb83d32f1d903cb7cae4e66fee856a257fc7c21efe5ea20dd12809bb0",
        "downloadedAt": "2026-09-23T04:43:18.263Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "ironfist",
      "name": "Iron Fist",
      "real": "Danny Rand",
      "sourceId": "iron-fist",
      "src": "images/portraits/ironfist.webp",
      "thumb": "images/thumbs/ironfist.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/345.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/ironfist.webp",
          "width": 480,
          "height": 640,
          "bytes": 35760,
          "sha256": "cdf7bdc530f46b93052627ffdda1b6ecfd2a5786c33a55a2446fa477161e3184"
        },
        "thumbnail": {
          "path": "images/thumbs/ironfist.webp",
          "width": 240,
          "height": 320,
          "bytes": 12808,
          "sha256": "babc2c9f7f884c3ba804f86474a6686a185a88d6a15a7058d1a77a4c1376357b"
        }
      },
      "source": {
        "id": "iron-fist",
        "name": "Iron Fist",
        "apiId": 345,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/345-iron-fist.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/345.json",
        "notes": "Matched Iron Fist; civilian identity: Danny Rand.",
        "path": "images/characters/iron-fist.jpg",
        "bytes": 244511,
        "sha256": "e5842486b4efa69b06d1de1c29bccd8ee42bdafb253cd3fdcc811e16965e0871",
        "downloadedAt": "2026-09-23T04:43:18.473Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "jessicajones",
      "name": "Jessica Jones",
      "real": "Jessica Jones",
      "sourceId": "jessica-jones",
      "src": "images/portraits/jessicajones.webp",
      "thumb": "images/thumbs/jessicajones.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/361.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/jessicajones.webp",
          "width": 480,
          "height": 640,
          "bytes": 52160,
          "sha256": "0465777059dae4c6f78fb9c9233ea5b156c8f680d99ea2630d300992e60b19a0"
        },
        "thumbnail": {
          "path": "images/thumbs/jessicajones.webp",
          "width": 240,
          "height": 320,
          "bytes": 17050,
          "sha256": "5f65de70932ca9ba05d4d4ec2ffc4331e617b19bff89c25ea376ef39147468ff"
        }
      },
      "source": {
        "id": "jessica-jones",
        "name": "Jessica Jones",
        "apiId": 361,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/361-jessica-jones.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/361.json",
        "notes": "Matched Jessica Jones; civilian identity: Jessica Campbell Jones Cage.",
        "path": "images/characters/jessica-jones.jpg",
        "bytes": 323063,
        "sha256": "3c936b1b8ae5b832a96ae826e6bc6cd6b5883dcf421cc10330bb91a6368c0055",
        "downloadedAt": "2026-09-23T04:43:18.695Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "doctorstrange",
      "name": "Doctor Strange",
      "real": "Stephen Strange",
      "sourceId": "doctor-strange",
      "src": "images/portraits/doctorstrange.webp",
      "thumb": "images/thumbs/doctorstrange.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/226.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/doctorstrange.webp",
          "width": 480,
          "height": 640,
          "bytes": 46364,
          "sha256": "833f9858e1ba61d77b24e20334366412302d42c5667fa5be81ab24555a803c6e"
        },
        "thumbnail": {
          "path": "images/thumbs/doctorstrange.webp",
          "width": 240,
          "height": 320,
          "bytes": 15236,
          "sha256": "8efd376ede83216ad094e0ca27488dd1b794c21cacf6e6cc2730cebeecfb4308"
        }
      },
      "source": {
        "id": "doctor-strange",
        "name": "Doctor Strange",
        "apiId": 226,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/226-doctor-strange.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/226.json",
        "notes": "Matched Doctor Strange; civilian identity: Stephen Strange.",
        "path": "images/characters/doctor-strange.jpg",
        "bytes": 310379,
        "sha256": "92640089128b8e4b1ab78d915d7e6e82edcc893bda6808354b7610990a16b071",
        "downloadedAt": "2026-09-23T04:43:18.018Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "dormammu",
      "name": "Dormammu",
      "real": "Dormammu",
      "sourceId": "dormammu",
      "src": "images/portraits/dormammu.webp",
      "thumb": "images/thumbs/dormammu.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/232.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/dormammu.webp",
          "width": 480,
          "height": 640,
          "bytes": 42024,
          "sha256": "8fedf4845cb85db71fe899eee3fdb9dbe550fa4f0ecd6b181dd87a6cf43df849"
        },
        "thumbnail": {
          "path": "images/thumbs/dormammu.webp",
          "width": 240,
          "height": 320,
          "bytes": 15012,
          "sha256": "31f2662fab926d63fa69aaaec846b437295adc719f715e61bed1ee41bdb5417b"
        }
      },
      "source": {
        "id": "dormammu",
        "name": "Dormammu",
        "apiId": 232,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/232-dormammu.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/232.json",
        "notes": "Matched Dormammu; civilian identity: Dormammu.",
        "path": "images/characters/dormammu.jpg",
        "bytes": 301007,
        "sha256": "342e9f23a6b2d6d2008326a143eeeae1a84b1a7070ed66bb247d0eeeee7d8cb5",
        "downloadedAt": "2026-09-23T04:43:18.045Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "ghostrider",
      "name": "Ghost Rider",
      "real": "Johnny Blaze",
      "sourceId": "ghost-rider",
      "src": "images/portraits/ghostrider.webp",
      "thumb": "images/thumbs/ghostrider.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/280.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/ghostrider.webp",
          "width": 480,
          "height": 640,
          "bytes": 47676,
          "sha256": "5ca161690fd43f81396b4ffa4103e65aff35199e95493db644cc94bc63195d40"
        },
        "thumbnail": {
          "path": "images/thumbs/ghostrider.webp",
          "width": 240,
          "height": 320,
          "bytes": 15934,
          "sha256": "3564ed66a7726eafbc348562e9fce35c855bd111da749202ce08403e5fc46c8b"
        }
      },
      "source": {
        "id": "ghost-rider",
        "name": "Ghost Rider",
        "apiId": 280,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/280-ghost-rider.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/280.json",
        "notes": "Matched Ghost Rider; civilian identity: Johnny Blaze.",
        "path": "images/characters/ghost-rider.jpg",
        "bytes": 312825,
        "sha256": "62bea9bf3f11328346c94c636299e5afc6ad4f615b7fe6c02c4b41f6135b8f02",
        "downloadedAt": "2026-09-23T04:43:18.208Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "blade",
      "name": "Blade",
      "real": "Eric Brooks",
      "sourceId": "blade",
      "src": "images/portraits/blade.webp",
      "thumb": "images/thumbs/blade.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/112.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/blade.webp",
          "width": 480,
          "height": 640,
          "bytes": 45200,
          "sha256": "7a595618785ad71cb9eaa71bd7a546980cca39bc53e3af85c637a5e1b4007427"
        },
        "thumbnail": {
          "path": "images/thumbs/blade.webp",
          "width": 240,
          "height": 320,
          "bytes": 15946,
          "sha256": "5264d646677384c3b4d75c0805204aa142a304b7f610cd42901fc37755ec07ec"
        }
      },
      "source": {
        "id": "blade",
        "name": "Blade",
        "apiId": 112,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/112-blade.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/112.json",
        "notes": "Matched Blade; civilian identity: Eric Brooks.",
        "path": "images/characters/blade.jpg",
        "bytes": 293356,
        "sha256": "025d2c6cc01ce5054a0a59ed5effae59f74bcefa318a7371e96685d54584aedf",
        "downloadedAt": "2026-09-23T04:43:18.367Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "moonknight",
      "name": "Moon Knight",
      "real": "Marc Spector",
      "sourceId": "moon-knight",
      "src": "images/portraits/moonknight.webp",
      "thumb": "images/thumbs/moonknight.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/470.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/moonknight.webp",
          "width": 480,
          "height": 640,
          "bytes": 63102,
          "sha256": "f665ccde2816a77df6c0b81db9186c1a64ceaa2baa5823bf4cddee2204be03c5"
        },
        "thumbnail": {
          "path": "images/thumbs/moonknight.webp",
          "width": 240,
          "height": 320,
          "bytes": 20974,
          "sha256": "a69c1d402a53562e0d9833a9a5e67f5cff3ae89f365270963c9344faf2bedfe2"
        }
      },
      "source": {
        "id": "moon-knight",
        "name": "Moon Knight",
        "apiId": 470,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/470-moon-knight.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/470.json",
        "notes": "Matched Moon Knight; civilian identity: Marc Spector.",
        "path": "images/characters/moon-knight.jpg",
        "bytes": 306126,
        "sha256": "71c8a848d72553ed9471c80660966d707282e81f9c68250ac102876fb398c5bf",
        "downloadedAt": "2026-09-23T04:43:18.388Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "scottlang",
      "name": "Ant-Man (Lang)",
      "real": "Scott Lang",
      "sourceId": "ant-man",
      "src": "images/portraits/scottlang.webp",
      "thumb": "images/thumbs/scottlang.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/31.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/scottlang.webp",
          "width": 480,
          "height": 640,
          "bytes": 52460,
          "sha256": "6aede728d42c4be36501a98f572cc95f0699ac2c6bc4e8607c3b58865a8c1be8"
        },
        "thumbnail": {
          "path": "images/thumbs/scottlang.webp",
          "width": 240,
          "height": 320,
          "bytes": 17688,
          "sha256": "b68b7a8a3259fc8f4df8edb9df6ee62935ef591a0e635778446148df7d597f6e"
        }
      },
      "source": {
        "id": "ant-man",
        "name": "Ant-Man",
        "apiId": 31,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/31-ant-man-ii.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/31.json",
        "notes": "Scott Lang: API Ant-Man II (31); excludes Hank Pym (30).",
        "path": "images/characters/ant-man.jpg",
        "bytes": 320714,
        "sha256": "9a051f56b0003b802e214adab4d71130bd58635478c7ee7d2f084339d1d97baa",
        "downloadedAt": "2026-09-23T04:43:15.489Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "wonderman",
      "name": "Wonder Man",
      "real": "Simon Williams",
      "sourceId": "wonder-man",
      "src": "images/portraits/wonderman.webp",
      "thumb": "images/thumbs/wonderman.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/719.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/wonderman.webp",
          "width": 480,
          "height": 640,
          "bytes": 44836,
          "sha256": "e1fffb112706bc0d1b70c321d61aa6c51e02c7aa9bc4bdf9fd9d93858f182021"
        },
        "thumbnail": {
          "path": "images/thumbs/wonderman.webp",
          "width": 240,
          "height": 320,
          "bytes": 16856,
          "sha256": "273759df56d4e55b4baa139478e72eb07752af8ef13538e6aa7cd48fb6779ac1"
        }
      },
      "source": {
        "id": "wonder-man",
        "name": "Wonder Man",
        "apiId": 719,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/719-wonder-man.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/719.json",
        "notes": "Matched Wonder Man; civilian identity: Simon Williams.",
        "path": "images/characters/wonder-man.jpg",
        "bytes": 292065,
        "sha256": "e100d31e8e691844f61c09b55a7ba43e08f332066d7aa31a0017eb9546def3a6",
        "downloadedAt": "2026-09-23T04:43:15.865Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "hercules",
      "name": "Hercules",
      "real": "Heracles",
      "sourceId": "hercules",
      "src": "images/portraits/hercules.webp",
      "thumb": "images/thumbs/hercules.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/325.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/hercules.webp",
          "width": 480,
          "height": 640,
          "bytes": 21758,
          "sha256": "de6a0d97fca6ec3f177cd7803ccbb54585c3be4679c5afb9d625601e44d397e3"
        },
        "thumbnail": {
          "path": "images/thumbs/hercules.webp",
          "width": 240,
          "height": 320,
          "bytes": 7710,
          "sha256": "f4231f62cbe9f0d3167e0cf8c7bcf80abe6a41bc519b48942ed43ab53973ede8"
        }
      },
      "source": {
        "id": "hercules",
        "name": "Hercules",
        "apiId": 325,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/325-hercules.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/325.json",
        "notes": "Matched Hercules; civilian identity: Heracles.",
        "path": "images/characters/hercules.jpg",
        "bytes": 176361,
        "sha256": "85c3ab5ddd2d7dbf344a958649f0eb790e4fb46033ef27de57ba08237a192324",
        "downloadedAt": "2026-09-23T04:43:15.917Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "spiderwoman",
      "name": "Spider-Woman",
      "real": "Jessica Drew",
      "sourceId": "spider-woman",
      "src": "images/portraits/spiderwoman.webp",
      "thumb": "images/thumbs/spiderwoman.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/623.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/spiderwoman.webp",
          "width": 480,
          "height": 640,
          "bytes": 57188,
          "sha256": "5d5697ceb078ac935f89ab17251472cf831870a68881862c1cc1c6eb9bdff085"
        },
        "thumbnail": {
          "path": "images/thumbs/spiderwoman.webp",
          "width": 240,
          "height": 320,
          "bytes": 18584,
          "sha256": "877540719822d4eaa5e1c4256cbe42f2e695b72de9fe6b91ffdf1dbe4cf3b8a0"
        }
      },
      "source": {
        "id": "spider-woman",
        "name": "Spider-Woman",
        "apiId": 623,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/623-spider-woman.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/623.json",
        "notes": "Matched Spider-Woman; civilian identity: Jessica Drew.",
        "path": "images/characters/spider-woman.jpg",
        "bytes": 325928,
        "sha256": "cb940263defe7ba4a4a3a98e9a62cbf55c81e01c091e12e443b15558cc409082",
        "downloadedAt": "2026-09-23T04:43:15.796Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "nickfury",
      "name": "Nick Fury",
      "real": "Nick Fury",
      "sourceId": "nick-fury",
      "src": "images/portraits/nickfury.webp",
      "thumb": "images/thumbs/nickfury.webp",
      "sourcePage": "https://www.marvel.com/characters/nick-fury-sr",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/nickfury.webp",
          "width": 900,
          "height": 429,
          "bytes": 50282,
          "sha256": "889f0ea745700d26d6ed90d656cb333466aa9c2a8c49ca6d95288b9c2a739435"
        },
        "thumbnail": {
          "path": "images/thumbs/nickfury.webp",
          "width": 320,
          "height": 152,
          "bytes": 9754,
          "sha256": "7a91ccbd367b5192c4c51a804584cf1e8e20035db9b9b7b0632c528a4ec2b8f5"
        }
      },
      "source": {
        "id": "nick-fury",
        "name": "Nick Fury",
        "imageUrl": "https://cdn.marvel.com/content/2x/274nfs_com_mas_mob_01.png",
        "sourcePage": "https://www.marvel.com/characters/nick-fury-sr",
        "notes": "Official Marvel Nick Fury Sr comic portrait; original white Earth-616 character.",
        "path": "images/characters/nick-fury.png",
        "bytes": 616349,
        "sha256": "8013b1d28a68414cfb1a14ee727f4be5938698b91e5a47b78a29246af2d7055b",
        "downloadedAt": "2026-09-23T04:48:57.938Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "baronzemo",
      "name": "Baron Zemo",
      "real": "Helmut Zemo",
      "sourceId": "baron-zemo",
      "src": "images/portraits/baronzemo.webp",
      "thumb": "images/thumbs/baronzemo.webp",
      "sourcePage": "https://marvel.fandom.com/wiki/Helmut_Zemo_(Earth-616)",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/baronzemo.webp",
          "width": 593,
          "height": 900,
          "bytes": 89324,
          "sha256": "f4871677312a8a17ea5b26abc9e44065417deb268205ddc6e5b05a71afd2b0ff"
        },
        "thumbnail": {
          "path": "images/thumbs/baronzemo.webp",
          "width": 211,
          "height": 320,
          "bytes": 15462,
          "sha256": "5480da974f10f910d72de17a57b3ee113a8837c258e59c3b55456026aa25a0b1"
        }
      },
      "source": {
        "id": "baron-zemo",
        "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/a/a7/Secret_Empire_Vol_1_4_Villain_Variant_Textless.jpg/revision/latest?cb=20170303225651",
        "sourcePage": "https://marvel.fandom.com/wiki/Helmut_Zemo_(Earth-616)",
        "notes": "Lead infobox image of Helmut Zemo, not Heinrich; textless comic villain portrait art.",
        "name": "Baron Zemo",
        "path": "images/characters/baron-zemo.webp",
        "bytes": 152592,
        "sha256": "faae7d2f53c07dbddd705fe61090bc79bc48dceb9075401d5ad29bbe3fc2823b",
        "downloadedAt": "2026-09-23T04:48:53.118Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "iceman",
      "name": "Iceman",
      "real": "Bobby Drake",
      "sourceId": "iceman",
      "src": "images/portraits/iceman.webp",
      "thumb": "images/thumbs/iceman.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/339.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/iceman.webp",
          "width": 480,
          "height": 640,
          "bytes": 54706,
          "sha256": "99d125139ece3970f8cde655832eb51745b23577e69e7adf3ccaa81750721b52"
        },
        "thumbnail": {
          "path": "images/thumbs/iceman.webp",
          "width": 240,
          "height": 320,
          "bytes": 17280,
          "sha256": "618c8c6336ee863495d36e68e462dd6e74095718d377ba24157295dc203f4752"
        }
      },
      "source": {
        "id": "iceman",
        "name": "Iceman",
        "apiId": 339,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/339-iceman.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/339.json",
        "notes": "Matched Iceman; civilian identity: Bobby Drake.",
        "path": "images/characters/iceman.jpg",
        "bytes": 294278,
        "sha256": "1d271b3fafe379fa07e3ca8b9d24de1b2529aeb1fc38b24241c21ae6cb2a577b",
        "downloadedAt": "2026-09-23T04:43:16.228Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "angel",
      "name": "Angel",
      "real": "Warren Worthington III",
      "sourceId": "angel",
      "src": "images/portraits/angel.webp",
      "thumb": "images/thumbs/angel.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/24.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/angel.webp",
          "width": 480,
          "height": 640,
          "bytes": 47120,
          "sha256": "6471f356955f1e8d2007451920c9cc4d794014b440fab359b29b36a36733e4d2"
        },
        "thumbnail": {
          "path": "images/thumbs/angel.webp",
          "width": 240,
          "height": 320,
          "bytes": 15706,
          "sha256": "90b103f8ed8cd9bec9a795a3a42728a85b9a90e8554e5c22faf81e0d5349e62a"
        }
      },
      "source": {
        "id": "angel",
        "name": "Angel / Archangel",
        "apiId": 24,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/24-angel.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/24.json",
        "notes": "Warren Kenneth Worthington III: API Angel (24); excludes Liam (23). Archangel (40) is also the same person.",
        "path": "images/characters/angel.jpg",
        "bytes": 190498,
        "sha256": "c28c27662c027b1c9c59db1711d9c4685ddd9ae9ab2b4b0e1da46a4bfa33bb38",
        "downloadedAt": "2026-09-23T04:43:16.430Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "havok",
      "name": "Havok",
      "real": "Alex Summers",
      "sourceId": "havok",
      "src": "images/portraits/havok.webp",
      "thumb": "images/thumbs/havok.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/311.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/havok.webp",
          "width": 480,
          "height": 640,
          "bytes": 42448,
          "sha256": "d8b4e094a3f2ab80ee5d465a64ce5600aa19e095af1751d2cc1699fd20723abb"
        },
        "thumbnail": {
          "path": "images/thumbs/havok.webp",
          "width": 240,
          "height": 320,
          "bytes": 15010,
          "sha256": "1a36ea2db4b07f6b6de384b78fe44a279c8c31c4ee6b4f494a87c3b0b92f100e"
        }
      },
      "source": {
        "id": "havok",
        "name": "Havok",
        "apiId": 311,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/311-havok.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/311.json",
        "notes": "Matched Havok; civilian identity: Alexander Summers.",
        "path": "images/characters/havok.jpg",
        "bytes": 268538,
        "sha256": "30589db31580305ac4821985db42fcc1067212990313725fb731537f33c080f7",
        "downloadedAt": "2026-09-23T04:43:19.129Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "jubilee",
      "name": "Jubilee",
      "real": "Jubilation Lee",
      "sourceId": "jubilee",
      "src": "images/portraits/jubilee.webp",
      "thumb": "images/thumbs/jubilee.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/372.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/jubilee.webp",
          "width": 480,
          "height": 640,
          "bytes": 33118,
          "sha256": "78285e6a17d91d633e42874979452ba3e12c2f06162d3a0f9f14a5611cc5b897"
        },
        "thumbnail": {
          "path": "images/thumbs/jubilee.webp",
          "width": 240,
          "height": 320,
          "bytes": 10878,
          "sha256": "3fadc2853142f48f02d9517c913a8da241053a205ceb65512c7765541eba4aec"
        }
      },
      "source": {
        "id": "jubilee",
        "name": "Jubilee",
        "apiId": 372,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/372-jubilee.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/372.json",
        "notes": "Matched Jubilee; civilian identity: Jubilation Lee.",
        "path": "images/characters/jubilee.jpg",
        "bytes": 240098,
        "sha256": "406a2bcba856058f2e05bb304f8768512dfc86043fc1f5a9ecdce15098f65cd1",
        "downloadedAt": "2026-09-23T04:43:16.908Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "bishop",
      "name": "Bishop",
      "real": "Lucas Bishop",
      "sourceId": "bishop",
      "src": "images/portraits/bishop.webp",
      "thumb": "images/thumbs/bishop.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/92.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/bishop.webp",
          "width": 480,
          "height": 640,
          "bytes": 41106,
          "sha256": "e6dea61a8c81248a22f6aaf6f9f47c88aa0cf7c4e623e1393a2eebc38c626e16"
        },
        "thumbnail": {
          "path": "images/thumbs/bishop.webp",
          "width": 240,
          "height": 320,
          "bytes": 14546,
          "sha256": "f2fda3dd30df056e6c713a21f0052eae603796035ac97dd664461745c010fc7f"
        }
      },
      "source": {
        "id": "bishop",
        "name": "Bishop",
        "apiId": 92,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/92-bishop.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/92.json",
        "notes": "Matched Bishop; civilian identity: Lucas Bishop.",
        "path": "images/characters/bishop.jpg",
        "bytes": 277086,
        "sha256": "3cd2ced0ac1d2161a3c0380cd781aaa21d77c9573959cb71e3d502c3e467d3bb",
        "downloadedAt": "2026-09-23T04:43:16.664Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "x23",
      "name": "Wolverine (Laura)",
      "real": "Laura Kinney",
      "sourceId": "x-23",
      "src": "images/portraits/x23.webp",
      "thumb": "images/thumbs/x23.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/723.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/x23.webp",
          "width": 480,
          "height": 640,
          "bytes": 57854,
          "sha256": "243fcfe1a7cf23e91756cd0c364656c5ad42389d2b08bd1ac3a064393a9d973f"
        },
        "thumbnail": {
          "path": "images/thumbs/x23.webp",
          "width": 240,
          "height": 320,
          "bytes": 15566,
          "sha256": "cd24342dd1fd7aaf21431355662e582b2014782a8c67c0068d1a1bc2610eb139"
        }
      },
      "source": {
        "id": "x-23",
        "name": "Wolverine / X-23",
        "apiId": 723,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/723-x-23.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/723.json",
        "notes": "Matched X-23; civilian identity: Laura Kinney.",
        "path": "images/characters/x-23.jpg",
        "bytes": 293953,
        "sha256": "c2c2fb1afd4677f815ac79b57351754fe473eaa8e856436897eeebefc45c0bb3",
        "downloadedAt": "2026-09-23T04:43:19.538Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "magik",
      "name": "Magik",
      "real": "Illyana Rasputina",
      "sourceId": "magik",
      "src": "images/portraits/magik.webp",
      "thumb": "images/thumbs/magik.webp",
      "sourcePage": "https://www.marvel.com/characters/magik-illyana-rasputin/in-comics",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/magik.webp",
          "width": 900,
          "height": 429,
          "bytes": 30674,
          "sha256": "cf2c340a45aee414d14a41af38be2bd76aa1e4930f9ed3aa4e582c719c74a103"
        },
        "thumbnail": {
          "path": "images/thumbs/magik.webp",
          "width": 320,
          "height": 152,
          "bytes": 5224,
          "sha256": "ae984a444be0076f8d6c092582c622b8be307aac3e4cc490c6700916b81b5c51"
        }
      },
      "source": {
        "id": "magik",
        "imageUrl": "https://cdn.marvel.com/content/2x/303mgk_com_mas_mob_02.jpg",
        "sourcePage": "https://www.marvel.com/characters/magik-illyana-rasputin/in-comics",
        "notes": "Official comics Illyana Rasputin, wielding Soulsword; not alternate Age of Revelation entry.",
        "name": "Magik",
        "path": "images/characters/magik.jpg",
        "bytes": 76254,
        "sha256": "d23518f8f8a0cce67725dbb0787c8cf7c28f64a041bf2bf365faa14f4d869cd9",
        "downloadedAt": "2026-09-23T04:48:52.509Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "legion",
      "name": "Legion",
      "real": "David Haller",
      "sourceId": "legion",
      "src": "images/portraits/legion.webp",
      "thumb": "images/thumbs/legion.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/403.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/legion.webp",
          "width": 480,
          "height": 640,
          "bytes": 77902,
          "sha256": "ff04ae4eb6067c05d6daadc71ff88544b215fb9a3e6605827fbe271e94b26f5d"
        },
        "thumbnail": {
          "path": "images/thumbs/legion.webp",
          "width": 240,
          "height": 320,
          "bytes": 20490,
          "sha256": "1bb5c4186ca53a42e99958caa71d6bcf9ff02a8a3d7e1641419dd4b272feb1e7"
        }
      },
      "source": {
        "id": "legion",
        "name": "Legion",
        "apiId": 403,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/403-legion.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/403.json",
        "notes": "Matched Legion; civilian identity: David Haller.",
        "path": "images/characters/legion.jpg",
        "bytes": 365443,
        "sha256": "0293ad1f4ea8159b90543f0e6bcb577c1f2018a5cbc21b8a4a84c79aebcbf8c9",
        "downloadedAt": "2026-09-23T04:43:19.468Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "medusa",
      "name": "Medusa",
      "real": "Medusalith Amaquelin",
      "sourceId": "medusa",
      "src": "images/portraits/medusa.webp",
      "thumb": "images/thumbs/medusa.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/441.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/medusa.webp",
          "width": 480,
          "height": 640,
          "bytes": 86286,
          "sha256": "49bf3ccd95313333cff7fc1370e52da25339638f81d63ef8c948379a39be93bc"
        },
        "thumbnail": {
          "path": "images/thumbs/medusa.webp",
          "width": 240,
          "height": 320,
          "bytes": 22388,
          "sha256": "5c959a771ebd1178a4dc2772590fc016391e5beb54a36f293e323d855498a00a"
        }
      },
      "source": {
        "id": "medusa",
        "name": "Medusa",
        "apiId": 441,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/441-medusa.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/441.json",
        "notes": "Matched Medusa; civilian identity: Medusalith Amaquelin Boltagon.",
        "path": "images/characters/medusa.jpg",
        "bytes": 413071,
        "sha256": "8cd0f7f9666abc8ddc5e67f6502c42d9f44b55cf930ee4e1beb7a723c197dbb3",
        "downloadedAt": "2026-09-23T04:43:18.765Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "crystal",
      "name": "Crystal",
      "real": "Crystalia Amaquelin",
      "sourceId": "crystal",
      "src": "images/portraits/crystal.webp",
      "thumb": "images/thumbs/crystal.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/191.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/crystal.webp",
          "width": 480,
          "height": 640,
          "bytes": 44454,
          "sha256": "f5ee472728434732676642d763fe41742c31e350de22840b1c048e488e273174"
        },
        "thumbnail": {
          "path": "images/thumbs/crystal.webp",
          "width": 240,
          "height": 320,
          "bytes": 15232,
          "sha256": "e000a649aee08a18a786c3c9b571d313a22e4be50e110c47f9832cfdf590212e"
        }
      },
      "source": {
        "id": "crystal",
        "name": "Crystal",
        "apiId": 191,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/191-crystal.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/191.json",
        "notes": "Matched Crystal; civilian identity: Crystallia Amaquelin.",
        "path": "images/characters/crystal.jpg",
        "bytes": 290268,
        "sha256": "2beb20a6cc85623121c863ae140d99c6ed36e82278f86fccca75d2d12904e59a",
        "downloadedAt": "2026-09-23T04:43:18.982Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "superskrull",
      "name": "Super-Skrull",
      "real": "Kl’rt",
      "sourceId": "super-skrull",
      "src": "images/portraits/superskrull.webp",
      "thumb": "images/thumbs/superskrull.webp",
      "sourcePage": "https://www.comicsandsignatures.com/products/fantastic-four-5-alex-ross-timeless-super-skrull-virgin-variant",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/superskrull.webp",
          "width": 593,
          "height": 900,
          "bytes": 43722,
          "sha256": "2f791b4237bb38e1ef45e9c669d55ccc78277f585f48dc1148daef728d02bbae"
        },
        "thumbnail": {
          "path": "images/thumbs/superskrull.webp",
          "width": 211,
          "height": 320,
          "bytes": 6740,
          "sha256": "1898482f4347ab64996547990eddacebb38cf88d7844a5a190603ccc1d77d3ce"
        }
      },
      "source": {
        "id": "super-skrull",
        "name": "Super-Skrull",
        "imageUrl": "https://www.comicsandsignatures.com/cdn/shop/products/75960620289800521_800x.jpg?v=1681439128",
        "sourcePage": "https://www.comicsandsignatures.com/products/fantastic-four-5-alex-ross-timeless-super-skrull-virgin-variant",
        "notes": "Alex Ross Timeless Super-Skrull virgin variant of Fantastic Four #5; retailer mirror of published comics portrait.",
        "path": "images/characters/super-skrull.jpg",
        "bytes": 164707,
        "sha256": "7dd24703c890d7177f61610cc4415e4ddc5b14ae96d83da522bc0d80988a84e3",
        "downloadedAt": "2026-09-23T04:48:58.200Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "mantis",
      "name": "Mantis",
      "real": "Mantis",
      "sourceId": "mantis",
      "src": "images/portraits/mantis.webp",
      "thumb": "images/thumbs/mantis.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/431.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/mantis.webp",
          "width": 480,
          "height": 640,
          "bytes": 35204,
          "sha256": "0bc308c80f8d36ab23f9e902e89399a5a72b8aed2a3249b36f3caa33d83bc322"
        },
        "thumbnail": {
          "path": "images/thumbs/mantis.webp",
          "width": 240,
          "height": 320,
          "bytes": 11882,
          "sha256": "5f528543cd95a4a97f9762383607e43ba7e47573177c7b0495e3fdc6bfc7a818"
        }
      },
      "source": {
        "id": "mantis",
        "name": "Mantis",
        "apiId": 431,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/431-mantis.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/431.json",
        "notes": "Exact distinctive character name in Marvel Comics record; civilian identity not supplied in API.",
        "path": "images/characters/mantis.jpg",
        "bytes": 225176,
        "sha256": "30037bee2871931cfeef2fbfb2a41258c8629e5701a78b44a7b63bfeab0fa883",
        "downloadedAt": "2026-09-23T04:43:17.793Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "hela",
      "name": "Hela",
      "real": "Hela",
      "sourceId": "hela",
      "src": "images/portraits/hela.webp",
      "thumb": "images/thumbs/hela.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/321.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/hela.webp",
          "width": 480,
          "height": 640,
          "bytes": 51440,
          "sha256": "f2caa48bb05007d1c0a403834d7c95e1a926372e1b2d0306ca62f01747d304d9"
        },
        "thumbnail": {
          "path": "images/thumbs/hela.webp",
          "width": 240,
          "height": 320,
          "bytes": 15826,
          "sha256": "5b1f9bcd78886cee3559c8182789578162121835d8d1281f32d8f767d98d9c11"
        }
      },
      "source": {
        "id": "hela",
        "name": "Hela",
        "apiId": 321,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/321-hela.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/321.json",
        "notes": "Exact distinctive character name in Marvel Comics record; civilian identity not supplied in API.",
        "path": "images/characters/hela.jpg",
        "bytes": 308388,
        "sha256": "38778603740f8b804e4c6bb2cfd4645b640dbffe48b056390fa749fdb15dbf80",
        "downloadedAt": "2026-09-23T04:43:18.641Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "betaraybill",
      "name": "Beta Ray Bill",
      "real": "Beta Ray Bill",
      "sourceId": "beta-ray-bill",
      "src": "images/portraits/betaraybill.webp",
      "thumb": "images/thumbs/betaraybill.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/79.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/betaraybill.webp",
          "width": 480,
          "height": 640,
          "bytes": 37688,
          "sha256": "491e60d1c49112656f083d02914c7ff8521cae00595bf9eeedb72aaaae23ab9e"
        },
        "thumbnail": {
          "path": "images/thumbs/betaraybill.webp",
          "width": 240,
          "height": 320,
          "bytes": 12798,
          "sha256": "6e31fd500d5143c66c5785d1125dfca7c662cdf1eb7cb1cd96d180b82b6c87bc"
        }
      },
      "source": {
        "id": "beta-ray-bill",
        "name": "Beta Ray Bill",
        "apiId": 79,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/79-beta-ray-bill.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/79.json",
        "notes": "Matched Beta Ray Bill; civilian identity: Beta Ray Bill (translation of his Korbinite name).",
        "path": "images/characters/beta-ray-bill.jpg",
        "bytes": 179632,
        "sha256": "48d1dbeff66e8ad4646d14cd67afe181d28838c635d487350c1db640d0b1f8e6",
        "downloadedAt": "2026-09-23T04:43:18.946Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "janefoster",
      "name": "Jane Foster",
      "real": "Jane Foster",
      "sourceId": "jane-foster",
      "src": "images/portraits/janefoster.webp",
      "thumb": "images/thumbs/janefoster.webp",
      "sourcePage": "https://www.marvel.com/comics/guides/1410/jane-foster",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/janefoster.webp",
          "width": 900,
          "height": 393,
          "bytes": 83006,
          "sha256": "d13d5ee81f24ff729ee8ce485351063151d8bd88aecba07b1643c93590ff6a6b"
        },
        "thumbnail": {
          "path": "images/thumbs/janefoster.webp",
          "width": 320,
          "height": 140,
          "bytes": 13678,
          "sha256": "9fd09e3d248352f85c465e0780550287fb5fd3d67bb5123577e3a9cd37536772"
        }
      },
      "source": {
        "id": "jane-foster",
        "imageUrl": "https://cdn.marvel.com/u/prod/marvel/i/mg/6/c0/60ff582e40e57/rotator_xlarge_uncanny.jpg",
        "sourcePage": "https://www.marvel.com/comics/guides/1410/jane-foster",
        "notes": "Official Jane Foster Character Close Up reading-guide art, Jane as Mighty Thor.",
        "name": "Mighty Thor / Valkyrie",
        "path": "images/characters/jane-foster.jpg",
        "bytes": 107891,
        "sha256": "efc8d3bafd298bb03ea55f2693e93ab2ba3222a36199c2f8e18ce7fa5f010c50",
        "downloadedAt": "2026-09-23T04:48:56.414Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "sif",
      "name": "Sif",
      "real": "Sif",
      "sourceId": "sif",
      "src": "images/portraits/sif.webp",
      "thumb": "images/thumbs/sif.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/594.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/sif.webp",
          "width": 480,
          "height": 640,
          "bytes": 53514,
          "sha256": "da3597396c62c0f64ec5d3e247f386765bec524c9e07d4d4fe60766995236e03"
        },
        "thumbnail": {
          "path": "images/thumbs/sif.webp",
          "width": 240,
          "height": 320,
          "bytes": 17216,
          "sha256": "53ad99ffb87f2a0c79d9049bab5d5c674114567c8b7ce007ecf64596b7c85290"
        }
      },
      "source": {
        "id": "sif",
        "name": "Sif",
        "apiId": 594,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/594-sif.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/594.json",
        "notes": "Matched Sif; civilian identity: Sif.",
        "path": "images/characters/sif.jpg",
        "bytes": 252960,
        "sha256": "433e92320a62d453593d66569ad52e7ba6240afe3d33fc6237bcc55cf69b768b",
        "downloadedAt": "2026-09-23T04:43:18.766Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "docock",
      "name": "Doctor Octopus",
      "real": "Otto Octavius",
      "sourceId": "doctor-octopus",
      "src": "images/portraits/docock.webp",
      "thumb": "images/thumbs/docock.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/225.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/docock.webp",
          "width": 480,
          "height": 640,
          "bytes": 57298,
          "sha256": "70fde6712eeba5f74b0ea3682bb21b0b799ae0dd43f9b491407b065beefd4bb0"
        },
        "thumbnail": {
          "path": "images/thumbs/docock.webp",
          "width": 240,
          "height": 320,
          "bytes": 13886,
          "sha256": "9bd6bb8594b953afecf4889e5d3479b42042d3be58bb5c6555313537d418584d"
        }
      },
      "source": {
        "id": "doctor-octopus",
        "name": "Doctor Octopus",
        "apiId": 225,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/225-doctor-octopus.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/225.json",
        "notes": "Matched Doctor Octopus; civilian identity: Otto Octavius.",
        "path": "images/characters/doctor-octopus.jpg",
        "bytes": 299704,
        "sha256": "e40450934e1291f97426b65b712472bd3e40ce0e0f58333f6c8a9335d1b202fa",
        "downloadedAt": "2026-09-23T04:43:17.450Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "blackcat",
      "name": "Black Cat",
      "real": "Felicia Hardy",
      "sourceId": "black-cat",
      "src": "images/portraits/blackcat.webp",
      "thumb": "images/thumbs/blackcat.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/99.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/blackcat.webp",
          "width": 480,
          "height": 640,
          "bytes": 41442,
          "sha256": "c3b70f785d7d3146e3214ce741ece49c61f4f215d99b472171212e7ac1df879e"
        },
        "thumbnail": {
          "path": "images/thumbs/blackcat.webp",
          "width": 240,
          "height": 320,
          "bytes": 14102,
          "sha256": "a9b65df6df7c6e77340f835569a5db22455771be36c8b6981d9189b2f37314b2"
        }
      },
      "source": {
        "id": "black-cat",
        "name": "Black Cat",
        "apiId": 99,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/99-black-cat.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/99.json",
        "notes": "Matched Black Cat; civilian identity: Felicia Hardy.",
        "path": "images/characters/black-cat.jpg",
        "bytes": 267967,
        "sha256": "06f5bf74b69312b6f9d909dd75e6c4c5506ca363fd4a9e7bcf6f48ef884a520e",
        "downloadedAt": "2026-09-23T04:43:17.337Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "bullseye",
      "name": "Bullseye",
      "real": "Lester",
      "sourceId": "bullseye",
      "src": "images/portraits/bullseye.webp",
      "thumb": "images/thumbs/bullseye.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/141.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/bullseye.webp",
          "width": 480,
          "height": 640,
          "bytes": 32172,
          "sha256": "03fb796f2b973159e66429b28a61ecbb82cdefcb7b95981959fb73ef24eaa8fe"
        },
        "thumbnail": {
          "path": "images/thumbs/bullseye.webp",
          "width": 240,
          "height": 320,
          "bytes": 10662,
          "sha256": "bdbe3286adf1711cd607c9a25955deb22a0a2ada8f83b3a07eee038186d6ca5f"
        }
      },
      "source": {
        "id": "bullseye",
        "name": "Bullseye",
        "apiId": 141,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/141-bullseye.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/141.json",
        "notes": "Matched Bullseye; civilian identity: Lester.",
        "path": "images/characters/bullseye.jpg",
        "bytes": 175325,
        "sha256": "5df667a11c0dcc3e5d76eebfbd91d0b4f1b00c17ff04eb1ff13b65aaaeff43cf",
        "downloadedAt": "2026-09-23T04:43:19.553Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "kraven",
      "name": "Kraven the Hunter",
      "real": "Sergei Kravinoff",
      "sourceId": "kraven",
      "src": "images/portraits/kraven.webp",
      "thumb": "images/thumbs/kraven.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/395.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/kraven.webp",
          "width": 480,
          "height": 640,
          "bytes": 46570,
          "sha256": "e88fb8cc3def6332a82df3349fc21a00afc96693621418d6c48b5df8415182bb"
        },
        "thumbnail": {
          "path": "images/thumbs/kraven.webp",
          "width": 240,
          "height": 320,
          "bytes": 15906,
          "sha256": "a0ed5389fd1facb98eeb511698c34c218e78bce73dc69e69966e5346f9a7912a"
        }
      },
      "source": {
        "id": "kraven",
        "name": "Kraven the Hunter",
        "apiId": 395,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/395-kraven-the-hunter.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/395.json",
        "notes": "Matched Kraven the Hunter; civilian identity: Sergei Kravinoff.",
        "path": "images/characters/kraven.jpg",
        "bytes": 200581,
        "sha256": "54a46931ed9c00eb9548ba4face2025a081b5f9557a5458a1f345af193880e28",
        "downloadedAt": "2026-09-23T04:43:17.574Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "wong",
      "name": "Wong",
      "real": "Wong",
      "sourceId": "wong",
      "src": "images/portraits/wong.webp",
      "thumb": "images/thumbs/wong.webp",
      "sourcePage": "https://www.marvel.com/teams-and-groups/midnight-sons",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/wong.webp",
          "width": 540,
          "height": 614,
          "bytes": 64476,
          "sha256": "cd123419c98b2f4e477307a59e24c1d72b867dc44b6b79bf81f48f0642150c05"
        },
        "thumbnail": {
          "path": "images/thumbs/wong.webp",
          "width": 281,
          "height": 320,
          "bytes": 19600,
          "sha256": "aeed2ae5e6ef20aa9e8e044273c4707d827bdedb176425070dc6692fd4cac35b"
        }
      },
      "source": {
        "id": "wong",
        "imageUrl": "https://cdn.marvel.com/content/1x/079wng_com_crd_02.png",
        "sourcePage": "https://www.marvel.com/teams-and-groups/midnight-sons",
        "notes": "Official comics character card of Wong; not Benedict Wong photo.",
        "name": "Wong",
        "path": "images/characters/wong.png",
        "bytes": 220731,
        "sha256": "cb834f98a5c6a34e9b7aac28ba8519cab224cca632d1921d510adf7f49389d7b",
        "downloadedAt": "2026-09-23T04:48:53.445Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "clea",
      "name": "Clea",
      "real": "Clea",
      "sourceId": "clea",
      "src": "images/portraits/clea.webp",
      "thumb": "images/thumbs/clea.webp",
      "sourcePage": "https://leagueofcomicgeeks.com/character/4165/clea-strange",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/clea.webp",
          "width": 400,
          "height": 400,
          "bytes": 21648,
          "sha256": "1e86b64ae06cc1d48a61dc7936a494cefb972ad010a3799917bc06a55eac46af"
        },
        "thumbnail": {
          "path": "images/thumbs/clea.webp",
          "width": 320,
          "height": 320,
          "bytes": 13700,
          "sha256": "8627aea64de11aefa291299a8f716954348719aaff8ce07315c5a9ae33112ff0"
        }
      },
      "source": {
        "id": "clea",
        "imageUrl": "https://s3.amazonaws.com/comicgeeks/characters/avatars/4165.jpg",
        "sourcePage": "https://leagueofcomicgeeks.com/character/4165/clea-strange",
        "notes": "Clea Strange (Earth-616), white-haired comics sorceress portrait.",
        "name": "Clea",
        "path": "images/characters/clea.png",
        "bytes": 271869,
        "sha256": "53a5d88e4c595a683824f2046bb73261544320854d9be90ccddf2edee7e96295",
        "downloadedAt": "2026-09-23T04:48:53.102Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    },
    {
      "id": "mephisto",
      "name": "Mephisto",
      "real": "Mephisto",
      "sourceId": "mephisto",
      "src": "images/portraits/mephisto.webp",
      "thumb": "images/thumbs/mephisto.webp",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/443.json",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license.",
      "derivatives": {
        "portrait": {
          "path": "images/portraits/mephisto.webp",
          "width": 480,
          "height": 640,
          "bytes": 45258,
          "sha256": "a19276b1145e466b0c044223eaddbf26909d9a90679f10f23e530bcb200b3ba3"
        },
        "thumbnail": {
          "path": "images/thumbs/mephisto.webp",
          "width": 240,
          "height": 320,
          "bytes": 14774,
          "sha256": "36b7ee9eedaad8da20b82e31fe35b658cf7a9146ff72f167a37989475e7e1f9d"
        }
      },
      "source": {
        "id": "mephisto",
        "name": "Mephisto",
        "apiId": 443,
        "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/443-mephisto.jpg",
        "sourcePage": "https://akabab.github.io/superhero-api/api/id/443.json",
        "notes": "Exact distinctive character name in Marvel Comics record; civilian identity not supplied in API.",
        "path": "images/characters/mephisto.jpg",
        "bytes": 326592,
        "sha256": "ac275cc3c2f90080f83003744fd5293976d50318dcb39fbf78891f77b79f8c38",
        "downloadedAt": "2026-09-23T04:43:18.408Z",
        "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
      }
    }
  ],
  "missingCharacters": [
    {
      "id": "phoenixforce",
      "name": "Phoenix Force",
      "real": "Phoenix Force"
    },
    {
      "id": "marvell",
      "name": "Mar-Vell",
      "real": "Mar-Vell"
    },
    {
      "id": "taskmaster",
      "name": "Taskmaster",
      "real": "Tony Masters"
    },
    {
      "id": "polaris",
      "name": "Polaris",
      "real": "Lorna Dane"
    },
    {
      "id": "psylocke",
      "name": "Psylocke",
      "real": "Betsy Braddock"
    },
    {
      "id": "moira",
      "name": "Moira MacTaggert",
      "real": "Moira Kinross"
    },
    {
      "id": "franklin",
      "name": "Franklin Richards",
      "real": "Franklin Richards"
    },
    {
      "id": "valeria",
      "name": "Valeria Richards",
      "real": "Valeria Richards"
    },
    {
      "id": "moleman",
      "name": "Mole Man",
      "real": "Harvey Elder"
    },
    {
      "id": "yondu",
      "name": "Yondu",
      "real": "Yondu Udonta"
    },
    {
      "id": "moondragon",
      "name": "Moondragon",
      "real": "Heather Douglas"
    },
    {
      "id": "quasar",
      "name": "Quasar",
      "real": "Wendell Vaughn"
    },
    {
      "id": "cosmo",
      "name": "Cosmo",
      "real": "Cosmo"
    },
    {
      "id": "eternity",
      "name": "Eternity",
      "real": "Eternity"
    },
    {
      "id": "death",
      "name": "Death",
      "real": "Mistress Death"
    },
    {
      "id": "gwenstacy",
      "name": "Gwen Stacy",
      "real": "Gwen Stacy"
    },
    {
      "id": "maryjane",
      "name": "Mary Jane Watson",
      "real": "Mary Jane Watson"
    },
    {
      "id": "mistyknight",
      "name": "Misty Knight",
      "real": "Mercedes Knight"
    },
    {
      "id": "morbius",
      "name": "Morbius",
      "real": "Michael Morbius"
    },
    {
      "id": "ancientone",
      "name": "The Ancient One",
      "real": "Yao"
    }
  ],
  "unusedSuppliedImages": [
    {
      "id": "agatha-harkness",
      "name": "Agatha Harkness",
      "imageUrl": "https://cdn.marvel.com/content/2x/875aga_com_cut_mob_01.jpg",
      "sourcePage": "https://www.marvel.com/characters/agatha-harkness",
      "notes": "Official Marvel comics character art, elder Agatha.",
      "path": "images/characters/agatha-harkness.jpg",
      "bytes": 70090,
      "sha256": "a9a88ffc4911a2b54381420095a6419a6fa44619704b7cf6730e7288607bc8ac",
      "downloadedAt": "2026-09-23T04:49:02.340Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "ajak",
      "sourcePage": "https://marvel.fandom.com/wiki/Ajak_(Earth-616)",
      "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/5/5b/Ajak_%28Earth-616%29_from_A.X.E._Judgment_Day_Omega_Vol_1_1_001.jpg/revision/latest?cb=20221109185607",
      "notes": "Infobox image, Ajak Celestia comics appearance. HTTP200 downloaded and visually verified.",
      "path": "images/characters/ajak.webp",
      "bytes": 907852,
      "sha256": "e7d3e9b1b20c533bfd4b2443c1b515bd0abf37a393d3dfaa35762fcf8e0888b7",
      "downloadedAt": "2026-09-23T04:46:52.426Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "america-chavez",
      "name": "America Chavez",
      "imageUrl": "https://cdn.marvel.com/content/2x/america_1_by_joe_quinones.webp",
      "sourcePage": "https://www.marvel.com/articles/comics/pride-month-2022-spotlight-america-chavez",
      "notes": "Official Marvel comics art, America #1 Joe Quinones.",
      "path": "images/characters/america-chavez.webp",
      "bytes": 131434,
      "sha256": "3651d9f4d4725aa513369f726aa202606dcea6b531f24ec6dbef297f9bda4681",
      "downloadedAt": "2026-09-23T04:48:59.430Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "baron-mordo",
      "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/4/44/Secret_Empire_Vol_1_7_Villain_Variant_Textless.jpg/revision/latest?cb=20170418160718",
      "sourcePage": "https://marvel.fandom.com/wiki/Karl_Mordo_(Earth-616)",
      "notes": "Karl Mordo Earth-616 lead infobox portrait, textless villain variant artwork.",
      "name": "Baron Mordo",
      "path": "images/characters/baron-mordo.webp",
      "bytes": 258048,
      "sha256": "8711bc13bb780a063d9fb5e671f200bd3af0e602225e9c913560abd29dc504dc",
      "downloadedAt": "2026-09-23T04:48:54.803Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "carnage",
      "name": "Carnage",
      "apiId": 162,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/162-carnage.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/162.json",
      "notes": "Matched Carnage; civilian identity: Cletus Kasady.",
      "path": "images/characters/carnage.jpg",
      "bytes": 261150,
      "sha256": "9fabc313d4acf3d430f3919c4ad33d10e47cded08a19d5266103e674ec6f6f34",
      "downloadedAt": "2026-09-23T04:43:17.325Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "cassandra-nova",
      "name": "Cassandra Nova",
      "imageUrl": "https://cdn.marvel.com/content/2x/marauders2022001_carlini_teaser_var_0.webp",
      "sourcePage": "https://www.marvel.com/characters/cassandra-nova",
      "notes": "Official Marvel Marauders (2022) #1 Carlini teaser variant.",
      "path": "images/characters/cassandra-nova.webp",
      "bytes": 103668,
      "sha256": "70316c4a91dab4d7ca8ab4d230ba9a31e2fa3a1e2cd88056d86cafc7eff2c3e4",
      "downloadedAt": "2026-09-23T04:49:01.435Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "dani-moonstar",
      "name": "Dani Moonstar",
      "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/8/81/Danielle_Moonstar_%28Earth-616%29_from_Marvel%27s_Voices_Indigenous_Voices_Vol_1_1_Richardson_Variant_cover.jpg/revision/latest/scale-to-width-down/1200?cb=20201002185905",
      "sourcePage": "https://marvel.fandom.com/wiki/Danielle_Moonstar_%28Earth-616%29",
      "notes": "Danielle Moonstar Earth-616, Richardson variant of Marvel's Voices: Indigenous Voices #1.",
      "path": "images/characters/dani-moonstar.webp",
      "bytes": 294900,
      "sha256": "adae9dedcb178ce92a3bfe3529016ef2e0b76532b82faba28d524727058e188e",
      "downloadedAt": "2026-09-23T04:48:59.837Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "doctor-voodoo",
      "imageUrl": "https://s3.amazonaws.com/comicgeeks/characters/avatars/6299.jpg?t=1639957949",
      "sourcePage": "https://leagueofcomicgeeks.com/character/6299/doctor-voodoo",
      "notes": "Jericho Drumm as Doctor Voodoo (Earth-616), comics character portrait.",
      "name": "Doctor Voodoo",
      "path": "images/characters/doctor-voodoo.jpg",
      "bytes": 31946,
      "sha256": "2edfe30950f9c6186b2a1e8212a47e355e9e3bfb5106c0b39f1e9d4be8a09661",
      "downloadedAt": "2026-09-23T04:48:53.859Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "druig",
      "sourcePage": "https://marvel.fandom.com/wiki/Druig_(Earth-616)",
      "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/5/59/Druig_%28Earth-616%29_from_Eternals_Vol_5_7_001.jpg/revision/latest?cb=20221006163527",
      "notes": "Infobox image, comics Eternal Druig. HTTP200 downloaded and visually verified.",
      "path": "images/characters/druig.webp",
      "bytes": 81236,
      "sha256": "5d1116eb085f696087353a036b100162899035e1cc22dd753952f9c65cb50853",
      "downloadedAt": "2026-09-23T04:46:51.248Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "dylan-brock",
      "sourcePage": "https://www.marvel.com/characters/dylan-brock",
      "imageUrl": "https://cdn.marvel.com/content/1x/1432dbr_com_mas_mob_01.png",
      "notes": "Official Marvel comics portrait. HTTP200 downloaded and visually verified; 840x400 landscape, face is around 47% x, 50% y.",
      "path": "images/characters/dylan-brock.png",
      "bytes": 208262,
      "sha256": "2f449cae35e89e0a6bddb6285bdf0533f2ff3aeb774e2642ea61f17f051de9cd",
      "downloadedAt": "2026-09-23T04:46:53.028Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "ebony-maw",
      "name": "Ebony Maw",
      "imageUrl": "https://cdn.marvel.com/content/2x/142ebm_com_mas_mob_01.jpg",
      "sourcePage": "https://www.marvel.com/characters/ebony-maw/in-comics",
      "notes": "Official Marvel comics portrait.",
      "path": "images/characters/ebony-maw.jpg",
      "bytes": 85771,
      "sha256": "aef72fd289839e5e87bfccd198712b83d00480826976ee6e97d2d91b779393a2",
      "downloadedAt": "2026-09-23T04:48:58.437Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "electro",
      "name": "Electro",
      "apiId": 237,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/237-electro.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/237.json",
      "notes": "Matched Electro; civilian identity: Maxwell Dillon.",
      "path": "images/characters/electro.jpg",
      "bytes": 257758,
      "sha256": "c91f29aff2691bdf7ac9ddf4aca89a29546d022fcc05544b94505cf2bb0279e2",
      "downloadedAt": "2026-09-23T04:43:17.551Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "ghost",
      "name": "Ghost",
      "imageUrl": "https://s3.amazonaws.com/comicgeeks/characters/avatars/7630.jpg?t=1656387807",
      "sourcePage": "https://leagueofcomicgeeks.com/character/7630/ghost",
      "notes": "Ghost Earth-616 male comics character, not MCU Ava Starr.",
      "path": "images/characters/ghost.jpg",
      "bytes": 1528616,
      "sha256": "9d102f0fa2c28280dea489fa2782d078a02409cef2b9dd5066f8add482706d03",
      "downloadedAt": "2026-09-23T04:49:01.964Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "ghost-spider",
      "imageUrl": "https://cdn.marvel.com/content/2x/055sgw_com_mas_mob_03_0.jpg",
      "sourcePage": "https://www.marvel.com/characters/ghost-spider-gwen-stacy/in-comics",
      "notes": "Official Marvel Ghost-Spider comics portrait.",
      "force": true,
      "path": "images/characters/ghost-spider.jpg",
      "bytes": 94424,
      "sha256": "0650223ac5f2f574173471c934462794dd7feeeeced3939661cec91a1328cfbc",
      "downloadedAt": "2026-09-23T04:47:51.319Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "gladiator",
      "name": "Gladiator",
      "apiId": 285,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/285-gladiator.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/285.json",
      "notes": "Matched Gladiator; civilian identity: Kallark.",
      "path": "images/characters/gladiator.jpg",
      "bytes": 350652,
      "sha256": "283c5d50b4063cf90ce9b665ca42193ed9ee42380bd420aa9035f99e3e4d8315",
      "downloadedAt": "2026-09-23T04:43:19.133Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "gorgon",
      "imageUrl": "https://cdn.marvel.com/content/2x/087ggn_com_cut_mob_01_0.jpg",
      "sourcePage": "https://www.marvel.com/characters/gorgon",
      "notes": "Official comics Gorgon Petragon of the Inhumans; not Tomi Shishido of Hydra.",
      "name": "Gorgon",
      "path": "images/characters/gorgon.jpg",
      "bytes": 103915,
      "sha256": "1bbb95c471e9342261a8c3bc610a6925e1a42de1cd81da995748e31c311f75ee",
      "downloadedAt": "2026-09-23T04:48:56.696Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "heimdall",
      "imageUrl": "https://terrigen-cdn-dev.marvel.com/content/prod/1x/116hdl_com_crd_01.jpg",
      "sourcePage": "https://www.marvel.com/characters/heimdall",
      "notes": "Official comics Heimdall character card; excludes MCU actor portrait.",
      "name": "Heimdall",
      "path": "images/characters/heimdall.jpg",
      "bytes": 56713,
      "sha256": "0e47fe76fd72e00c2dbab4287e001f42f5373c0dab3a11763d2d3b198d341787",
      "downloadedAt": "2026-09-23T04:48:54.908Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "high-evolutionary",
      "name": "High Evolutionary",
      "imageUrl": "https://cdn.marvel.com/content/2x/440hie_com_mas_mob_01_0.webp",
      "sourcePage": "https://www.marvel.com/characters/high-evolutionary",
      "notes": "Official Marvel comics portrait, Herbert Edgar Wyndham.",
      "path": "images/characters/high-evolutionary.webp",
      "bytes": 69678,
      "sha256": "d9baa2fbe98a8690ff38eb821a2211a7c5f0c24ee5bd9952bb78ed1c4b211c56",
      "downloadedAt": "2026-09-23T04:48:59.818Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "hope-summers",
      "name": "Hope Summers",
      "apiId": 330,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/330-hope-summers.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/330.json",
      "notes": "Matched Hope Summers; civilian identity: Hope Summers.",
      "path": "images/characters/hope-summers.jpg",
      "bytes": 290127,
      "sha256": "45efcc3e040f652c70d42972e2108806a103e47e13f5a883d73e69052f8729a4",
      "downloadedAt": "2026-09-23T04:43:18.852Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "hulkling",
      "name": "Hulkling",
      "imageUrl": "https://cdn.marvel.com/content/2x/1416hta_com_mas_mob_01.png",
      "sourcePage": "https://www.marvel.com/characters/hulkling",
      "notes": "Official Marvel comics art, Teddy Altman.",
      "path": "images/characters/hulkling.png",
      "bytes": 639087,
      "sha256": "26f4e1c9c71e9b872999ea1378ada100dc35cfe744ebe8a4c498ba2c77cdfc3b",
      "downloadedAt": "2026-09-23T04:48:58.943Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "ironheart",
      "name": "Ironheart",
      "imageUrl": "https://cdn.marvel.com/u/prod/marvel/i/mg/d/20/5daf698d6e24e/clean.jpg",
      "sourcePage": "https://www.marvel.com/comics/issue/71839/ironheart_2018_11",
      "notes": "Official Marvel Ironheart (2018) #11 cover, armored Riri Williams.",
      "path": "images/characters/ironheart.jpg",
      "bytes": 951515,
      "sha256": "5b52ba5a9ba9671f9c9afa760523d415ee8fa64c6f640ed876ff9574781d6aa9",
      "downloadedAt": "2026-09-23T04:49:00.073Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "karnak",
      "imageUrl": "https://cdn.marvel.com/content/2x/086knk_com_mas_mob_01.jpg",
      "sourcePage": "https://www.marvel.com/characters/karnak/in-comics",
      "notes": "Official comics Karnak Mander-Azur.",
      "name": "Karnak",
      "path": "images/characters/karnak.jpg",
      "bytes": 154767,
      "sha256": "13d03b22a13ccb3083c7a67004234418c4a2e09749034d2d83d73005e572ec3e",
      "downloadedAt": "2026-09-23T04:48:56.613Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "killmonger",
      "imageUrl": "https://terrigen-cdn-dev.marvel.com/content/prod/1x/108kmg_com_crd_01.jpg",
      "sourcePage": "https://www.marvel.com/characters/erik-killmonger",
      "notes": "Official comics Erik Killmonger portrait; excludes Earth-6160 avatar and Michael B. Jordan photo.",
      "name": "Killmonger",
      "path": "images/characters/killmonger.jpg",
      "bytes": 55054,
      "sha256": "6ee9a7afe681c569a31d09005db076904e0169ad244779bcb3a16dbf2458035b",
      "downloadedAt": "2026-09-23T04:48:54.814Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "klaw",
      "name": "Klaw",
      "apiId": 392,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/392-klaw.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/392.json",
      "notes": "API fullName Ulysses Klaw; matches comics Klaw / Ulysses Klaue.",
      "path": "images/characters/klaw.jpg",
      "bytes": 213353,
      "sha256": "8be65b2f5d8c32de9357fa6134d0f11fe8908f30e3224cddef7d4c5c90d4a3ee",
      "downloadedAt": "2026-09-23T04:43:18.701Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "knull",
      "name": "Knull",
      "imageUrl": "https://cdn.marvel.com/content/1x/knull2026001_kylehotzvar.jpg",
      "sourcePage": "https://www.marvel.com/articles/comics/knull-1-preview-pits-the-king-in-black-against-the-queen-in-black",
      "notes": "Official Marvel Knull #1 Kyle Hotz variant cover, comics art.",
      "path": "images/characters/knull.jpg",
      "bytes": 599732,
      "sha256": "0ed203233acb17df6c4d8e8f33f68b53cc2907b201b7bdd9fbc4779717026542",
      "downloadedAt": "2026-09-23T04:48:58.971Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "layla-miller",
      "sourcePage": "https://marvel.fandom.com/wiki/Layla_Miller_(Earth-616)",
      "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/2/2d/Layla_Miller_%28Earth-616%29_from_X-Factor_Vol_3_12_001.jpg/revision/latest?cb=20210121191721",
      "notes": "Layla working as a file clerk for X-Factor Investigations. Childhood appearance. Older infobox image URL returns404; this is sourced from article body. HTTP200 downloaded and visually verified. Landscape image; place crop left at 24% x, 36% y.",
      "path": "images/characters/layla-miller.webp",
      "bytes": 227686,
      "sha256": "65ebaef7ce68799f7655b7f3cf3a6990ebd375da6b28d0642aeafbc800bae6df",
      "downloadedAt": "2026-09-23T04:46:51.388Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "lizard",
      "name": "Lizard",
      "apiId": 412,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/412-lizard.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/412.json",
      "notes": "Matched Lizard; civilian identity: Curtis Connors.",
      "path": "images/characters/lizard.jpg",
      "bytes": 448810,
      "sha256": "ce533015207fdd2d0427ba8b399658a744457dc435bf8d161fe087dfddcd5f7c",
      "downloadedAt": "2026-09-23T04:43:17.652Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "lockjaw",
      "imageUrl": "https://s3.amazonaws.com/comicgeeks/characters/avatars/4360.jpg",
      "sourcePage": "https://leagueofcomicgeeks.com/character/4360/lockjaw",
      "notes": "Lockjaw (Earth-616), comics teleporting Inhuman dog portrait.",
      "name": "Lockjaw",
      "path": "images/characters/lockjaw.jpg",
      "bytes": 54589,
      "sha256": "7dc43a7d37c10d2d55b145126517bb2deec0a249543a0f29d9982d69f7b7920e",
      "downloadedAt": "2026-09-23T04:48:55.157Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "m-baku",
      "imageUrl": "https://cdn.marvel.com/content/2x/276mbk_com_mas_mob_01_0.png",
      "sourcePage": "https://www.marvel.com/characters/m-baku/in-comics",
      "notes": "Official comics M'Baku / Man-Ape.",
      "name": "M'Baku / Man-Ape",
      "path": "images/characters/m-baku.png",
      "bytes": 573984,
      "sha256": "96ad30a7b3aa5b87534116c68797631550e78a638f4984d9be34c8c82a6787e7",
      "downloadedAt": "2026-09-23T04:48:54.914Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "maximus",
      "imageUrl": "https://cdn.marvel.com/content/2x/066max_com_cut_mob_01_0.webp",
      "sourcePage": "https://www.marvel.com/characters/maximus/in-comics/profile",
      "notes": "Official comics Maximus Boltagon.",
      "name": "Maximus",
      "path": "images/characters/maximus.webp",
      "bytes": 139984,
      "sha256": "f6b1b3effccb32ed3a1e29e427918af259c729fe49490a19faef4f4e488f1442",
      "downloadedAt": "2026-09-23T04:48:56.816Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "molecule-man",
      "name": "Molecule Man",
      "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/6/67/Owen_Reece_%28Earth-616%29_from_New_Avengers_Vol_3_24_001.jpg/revision/latest/scale-to-width-down/1200?cb=20240516161927",
      "sourcePage": "https://marvel.fandom.com/wiki/Owen_Reece_%28Earth-616%29",
      "notes": "Owen Reece Earth-616 comics art from New Avengers Vol 3 #24.",
      "path": "images/characters/molecule-man.webp",
      "bytes": 387274,
      "sha256": "5d9066cdc29416b9c6d1ba79665558feb99ae5a5f7ae8d0acd468a1c8842e8a2",
      "downloadedAt": "2026-09-23T04:48:58.828Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "monica-rambeau",
      "name": "Monica Rambeau",
      "imageUrl": "https://cdn.marvel.com/content/2x/monica-rambeau-monica-rambeau-photon-2022-no-1-cover.webp",
      "sourcePage": "https://www.marvel.com/articles/comics/who-is-monica-rambeau-the-official-marvel-guide",
      "notes": "Official Marvel comics cover, Monica Rambeau: Photon #1.",
      "path": "images/characters/monica-rambeau.webp",
      "bytes": 562514,
      "sha256": "90c950c6c0e42246792192315b1738aa3483bb834b04bc549ba91498823b4d54",
      "downloadedAt": "2026-09-23T04:49:01.591Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "multiple-man",
      "sourcePage": "https://en.wikipedia.org/wiki/Jamie_Madrox",
      "imageUrl": "https://upload.wikimedia.org/wikipedia/en/7/70/MultipleMan01.jpg",
      "notes": "Wikipedia lead comics portrait, Jamie Madrox / Multiple Man. HTTP200 downloaded and visually verified as comic illustration, not a photograph. Central Jamie Madrox in black leather coat with duplicates behind;258x390.",
      "path": "images/characters/multiple-man.jpg",
      "bytes": 23236,
      "sha256": "9fae0186837a3c1310e2d675118589802b763aaef5410cedc4f2d12724a765dc",
      "downloadedAt": "2026-09-23T04:49:51.329Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "nakia",
      "imageUrl": "https://cdn.marvel.com/content/2x/109mnk_com_cut_mob_01_0.jpg",
      "sourcePage": "https://www.marvel.com/characters/malice-nakia/in-comics/profile",
      "notes": "Official comics Nakia as Malice; not mutant Malice or MCU Nakia.",
      "name": "Malice",
      "path": "images/characters/nakia.jpg",
      "bytes": 111731,
      "sha256": "cacd07069e3c78820067e270aadc8aabf99d384cf17a50b91a9d5ebdb0041c54",
      "downloadedAt": "2026-09-23T04:48:54.488Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "okoye",
      "imageUrl": "https://cdn.marvel.com/content/2x/110oky_com_mas_mob_02.jpg",
      "sourcePage": "https://www.marvel.com/characters/okoye/in-comics/profile",
      "notes": "Official comics Okoye, Dora Milaje leader.",
      "name": "Okoye",
      "path": "images/characters/okoye.jpg",
      "bytes": 120034,
      "sha256": "c62dafa79caa19053d8585f6b3f9b10dbb18dab20f4be972d3881ab79cedc7be",
      "downloadedAt": "2026-09-23T04:48:54.893Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "quoi",
      "sourcePage": "https://marvel.fandom.com/wiki/Sequoia_(Earth-616)",
      "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/9/9b/Lords_of_Empyre_Celestial_Messiah_Vol_1_1_Textless.jpg/revision/latest?cb=20210327100232",
      "notes": "Infobox image, Quoi/Sequoia, half-human half-Cotati. HTTP200 verified. Quoi is foreground male; Mantis is large background face. Use center-ish crop on foreground face at 48% x, 31% y.",
      "path": "images/characters/quoi.webp",
      "bytes": 836834,
      "sha256": "d6917880f1682e8147d539fe8a6f3cbf0ac70ac8c3049f62e6f8037c70ce51bb",
      "downloadedAt": "2026-09-23T04:46:52.552Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "red-guardian",
      "name": "Red Guardian",
      "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/8/82/Alexei_Shostakov_%28Earth-616%29_from_Thunderbolts_Vol_6_1_0001.jpg/revision/latest/scale-to-width-down/1200?cb=20250610131224",
      "sourcePage": "https://marvel.fandom.com/wiki/Alexei_Shostakov_%28Earth-616%29",
      "notes": "Alexei Shostakov Earth-616 in Thunderbolts Vol 6 #1.",
      "path": "images/characters/red-guardian.webp",
      "bytes": 468454,
      "sha256": "fdcedd05f63d92557eebc753b3db7989f00566dd21896f6492fbe62b44983af2",
      "downloadedAt": "2026-09-23T04:49:00.416Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "sandman",
      "name": "Sandman",
      "apiId": 572,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/572-sandman.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/572.json",
      "notes": "Matched Sandman; civilian identity: William Baker.",
      "path": "images/characters/sandman.jpg",
      "bytes": 313243,
      "sha256": "51f65b1a447ef8266b3774dd022e083656718308d7da7a42025280eb7af87d10",
      "downloadedAt": "2026-09-23T04:43:17.497Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "sentry",
      "name": "Sentry",
      "apiId": 583,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/583-sentry.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/583.json",
      "notes": "Matched Sentry; civilian identity: Robert Reynolds.",
      "path": "images/characters/sentry.jpg",
      "bytes": 302579,
      "sha256": "3640d7666d0cb1f0b439fd27575ea2a7869d98deb70878ed522dffa034b7dbf2",
      "downloadedAt": "2026-09-23T04:43:19.170Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "sersi",
      "name": "Sersi",
      "imageUrl": "https://i.pinimg.com/originals/f3/7b/98/f37b9879db91d12e17251e0de327724b.jpg",
      "sourcePage": "https://www.pinterest.com/pin/sersi-earth616gallery--895583075874265037/",
      "notes": "Comics illustration, Eternals Vol 5 #1 Paul Pelletier Hidden Gem variant. Pinterest mirror of Fandom gallery.",
      "path": "images/characters/sersi.jpg",
      "bytes": 638989,
      "sha256": "e0d47c082b6f5ab6499186227276f43ab114116e3cdefc96e7a7139c99e0b654",
      "downloadedAt": "2026-09-23T04:48:59.696Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "shang-chi",
      "name": "Shang-Chi",
      "apiId": 587,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/587-shang-chi.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/587.json",
      "notes": "Matched Shang-Chi; civilian identity: Shang-Chi.",
      "path": "images/characters/shang-chi.jpg",
      "bytes": 224786,
      "sha256": "92acced80ebcf6bdcb1c8a4d4d631fbaed3c6202e982445ee85fbfa617e17746",
      "downloadedAt": "2026-09-23T04:43:19.363Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "shuri",
      "imageUrl": "https://s3.amazonaws.com/comicgeeks/characters/avatars/5703.jpg?t=1764666118",
      "sourcePage": "https://leagueofcomicgeeks.com/character/5703/shuri",
      "notes": "Shuri (Earth-616), comic avatar rather than MCU actor.",
      "name": "Shuri",
      "path": "images/characters/shuri.jpg",
      "bytes": 47308,
      "sha256": "27f047f5c45bbcc352648ac49f9fc6c6f286804549b36969912cdfe5e726f42c",
      "downloadedAt": "2026-09-23T04:48:53.396Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "silk",
      "name": "Silk",
      "apiId": 595,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/595-silk.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/595.json",
      "notes": "Matched Silk; civilian identity: Cindy Moon.",
      "path": "images/characters/silk.jpg",
      "bytes": 250877,
      "sha256": "3be8f935ec3ea145bb74c507daa36749f3581cf8e50127db5ebf6ac5ccc3e1bb",
      "downloadedAt": "2026-09-23T04:43:17.292Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "spider-man-2099",
      "name": "Spider-Man 2099",
      "imageUrl": "https://s3.amazonaws.com/comicgeeks/characters/avatars/4888.jpg?t=1668971623",
      "sourcePage": "https://leagueofcomicgeeks.com/character/4888/spider-man",
      "notes": "Miguel O'Hara Earth-928 comics avatar, not Spider-Verse movie.",
      "path": "images/characters/spider-man-2099.png",
      "bytes": 190731,
      "sha256": "1ca63002313f0e736091ac55551e0b2f3e58a29630cc159e53ff864d9a2456e4",
      "downloadedAt": "2026-09-23T04:49:02.813Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "spider-punk",
      "sourcePage": "https://en.wikipedia.org/wiki/Spider-Punk",
      "imageUrl": "https://upload.wikimedia.org/wikipedia/en/b/bb/Spider-Punk_%28Hobart_Brown%29.jpg",
      "notes": "Wikipedia lead comics image, cropped Spider-Punk #1 April2022 cover by Olivier Coipel; Hobart/Hobie Brown, Earth-138. HTTP200 downloaded and visually verified, 258x378.",
      "path": "images/characters/spider-punk.jpg",
      "bytes": 45810,
      "sha256": "4a70057bef5f34d0da701b829d2912dadd402440ea0c24ac69f26ec5d6f282b3",
      "downloadedAt": "2026-09-23T04:46:51.952Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "spot",
      "name": "Spot",
      "imageUrl": "https://cdn.marvel.com/content/2x/1280spt_com_mas_mob_01.webp",
      "sourcePage": "https://www.marvel.com/characters/spot",
      "notes": "Official Marvel comics art, Dr. Johnathon Ohnn.",
      "path": "images/characters/spot.webp",
      "bytes": 177512,
      "sha256": "23b591f4f0d801afccceb5e9ab3fe39d86024a6e0cfc384e9290bbead5c78016",
      "downloadedAt": "2026-09-23T04:49:03.318Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "thane",
      "sourcePage": "https://marvel.fandom.com/wiki/Thane_(Earth-616)",
      "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/9/90/Thane_%28Earth-616%29_from_Thanos_A_God_Up_There_Listening_Infinite_Comic_Vol_1_1_001.jpg/revision/latest?cb=20200717200411",
      "notes": "Infobox image, son of Thanos. HTTP200 verified.",
      "path": "images/characters/thane.webp",
      "bytes": 229738,
      "sha256": "3ec526aadcd150a7fc2e095eeaafe19321607a403620b75c47891218f90d9342",
      "downloadedAt": "2026-09-23T04:46:51.392Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "the-hood",
      "sourcePage": "https://marvel.fandom.com/wiki/Parker_Robbins_(Earth-616)",
      "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/2/28/Dark_Reign_The_Hood_Vol_1_1_Textless.jpg/revision/latest?cb=20090926091514",
      "notes": "Infobox image, Parker Davis Robbins, The Hood, Dark Reign cover. HTTP200 downloaded and visually verified.",
      "path": "images/characters/the-hood.webp",
      "bytes": 115364,
      "sha256": "a4d7a4f35f4d4a83b4fbacb0bf9ae88952d7abde545ddb2390c8846a30375b22",
      "downloadedAt": "2026-09-23T04:46:51.717Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "triton",
      "name": "Triton",
      "apiId": 677,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/677-triton.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/677.json",
      "notes": "Matched Triton; civilian identity: Triton.",
      "path": "images/characters/triton.jpg",
      "bytes": 273663,
      "sha256": "02fd20ee284ea0578bc2fcd144b6659cdf2c56fb1ad7c53ec1259a3f9525c9bc",
      "downloadedAt": "2026-09-23T04:43:20.129Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "us-agent",
      "name": "U.S. Agent",
      "imageUrl": "https://cdn.marvel.com/u/prod/marvel/i/mg/4/03/6061689b0180d/clean.jpg",
      "sourcePage": "https://www.marvel.com/comics/guides/2066/john_walker_usagent",
      "notes": "Official Marvel comics art, John Walker.",
      "path": "images/characters/us-agent.jpg",
      "bytes": 239076,
      "sha256": "8c41ad18310ea5aadbd79d70f66502a16bc10d907272258900b0ac71a91eb9f3",
      "downloadedAt": "2026-09-23T04:49:02.089Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "valkyrie",
      "imageUrl": "https://cdn.marvel.com/content/2x/245bnh_com_crd_01.webp",
      "sourcePage": "https://www.marvel.com/characters/valkyrie-brunnhilde",
      "notes": "Official Brunnhilde character portrait; distinct from Jane Foster and MCU Valkyrie.",
      "name": "Valkyrie",
      "path": "images/characters/valkyrie.webp",
      "bytes": 156460,
      "sha256": "0847c65274adb7a0b7099c9f74cd873ea4806e19fc8ad9d70c963bf74c2550f3",
      "downloadedAt": "2026-09-23T04:48:56.425Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "veranke",
      "sourcePage": "https://marvel.fandom.com/wiki/Veranke_(Earth-616)",
      "imageUrl": "https://static.wikia.nocookie.net/marveldatabase/images/5/5a/Veranke_%28Earth-616%29_from_Spider-Woman_Vol_7_18_001.jpg/revision/latest?cb=20220304183836",
      "notes": "Infobox image, Queen Veranke of the Skrulls. HTTP200 downloaded and visually verified.",
      "path": "images/characters/veranke.webp",
      "bytes": 353138,
      "sha256": "84b7dc02dd093a4241747a60f9813d4868fdc6eea553dc073f5e006a2d8ce0c5",
      "downloadedAt": "2026-09-23T04:46:52.022Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "vulcan",
      "name": "Vulcan",
      "imageUrl": "https://s3.amazonaws.com/comicgeeks/characters/avatars/2225.jpg?t=1645486592",
      "sourcePage": "https://leagueofcomicgeeks.com/character/2225/gabriel-summers",
      "notes": "Gabriel Summers Earth-616 comics avatar.",
      "path": "images/characters/vulcan.jpg",
      "bytes": 44238,
      "sha256": "662d5e9d59fbf2b5384efb9156b4d130cf38cebbf65f386a83745e80feb4a4b5",
      "downloadedAt": "2026-09-23T04:48:57.849Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "vulture",
      "name": "Vulture",
      "apiId": 701,
      "imageUrl": "https://cdn.jsdelivr.net/gh/akabab/superhero-api@0.3.0/api/images/lg/701-vulture.jpg",
      "sourcePage": "https://akabab.github.io/superhero-api/api/id/701.json",
      "notes": "Matched Vulture; civilian identity: Adrian Toomes.",
      "path": "images/characters/vulture.jpg",
      "bytes": 325351,
      "sha256": "e92f3902777d6eabdcca019b4ae5b917ef24de39275856ddd14fe7ae89852604",
      "downloadedAt": "2026-09-23T04:43:17.557Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "wiccan",
      "name": "Wiccan",
      "imageUrl": "https://cdn.marvel.com/content/2x/160wcn_com_cut_dsk_01.webp",
      "sourcePage": "https://www.marvel.com/characters/wiccan",
      "notes": "Official Marvel comics character art, Billy Kaplan.",
      "path": "images/characters/wiccan.webp",
      "bytes": 45148,
      "sha256": "30d1364cf2485e5cd657857fd3115d715da790b2ebabfe919ea38b2dde48ec36",
      "downloadedAt": "2026-09-23T04:48:59.449Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    },
    {
      "id": "yelena-belova",
      "name": "Yelena Belova",
      "imageUrl": "https://cdn.marvel.com/u/prod/marvel/i/mg/3/70/68128d1f9a161/clean.jpg",
      "sourcePage": "https://www.marvel.com/comics/guides/2490/yelena-belova-s-most-traumatic-moments",
      "notes": "Official Marvel White Widow comics art showing Yelena in black and white suit.",
      "path": "images/characters/yelena-belova.jpg",
      "bytes": 238230,
      "sha256": "fe46b0a4e674d2f16c383f8d21a092322cd9c69c5f852bb3daf159197f29a2d7",
      "downloadedAt": "2026-09-23T04:49:00.932Z",
      "rights": "Character artwork belongs to its respective rights holders; availability does not grant a reuse license."
    }
  ]
}
