{"schema_version":"codexpethub.install.v1","site":"CodexPetHub","generated_at":"2026-06-24T22:00:00.477Z","pet":{"id":"pet_01KV4R4EAB98D84HVKT68TP9WN","slug":"noir","display_name":"Noir","version":1,"canonical_url":"https://codexpethub.com/pets/noir","description":"Noir is a character-style Codex pet with character details, playful pixel motion, and a compact coding companion feel.","license":"","author_name":"krystal-whz"},"format":{"kind":"openai-codex-pet","required_files":["pet.json","spritesheet.webp"],"atlas":{"width":1536,"height":1872,"columns":8,"rows":9,"cell_width":192,"cell_height":208},"states":[{"name":"idle","row":0,"frames":6},{"name":"running-right","row":1,"frames":8},{"name":"running-left","row":2,"frames":8},{"name":"waving","row":3,"frames":4},{"name":"jumping","row":4,"frames":5},{"name":"failed","row":5,"frames":8},{"name":"waiting","row":6,"frames":6},{"name":"running","row":7,"frames":6},{"name":"review","row":8,"frames":6}]},"files":[{"role":"pet_json","path":"pet.json","url":"https://codexpethub.com/assets/pets/noir/v1/pet-bca94262fb0e2d3d.json","content_type":"application/json","size":623,"sha256":"bca94262fb0e2d3d066022414b08f48ef1c4988c48ea3711114f39b149aa52f2"},{"role":"spritesheet","path":"spritesheet.webp","url":"https://codexpethub.com/assets/pets/noir/v1/spritesheet-1b0d721f04f8ff74.webp","content_type":"image/webp","size":1637672,"sha256":"1b0d721f04f8ff7424103270a11dfafe59e123ba6f0509cca29aa7c7e26d06e9"}],"security":{"execute_code":false,"allow_external_urls_in_pet_json":false,"verify_hashes_required":true,"allowed_install_files":["pet.json","spritesheet.webp"]},"human_instructions":{"after_install":"Open Codex Settings > Appearance > Pets and refresh custom pets. You can also use /pet to wake the pet overlay."}}