Guia dos pets de desktop do Codex

Atualizado em 2026-07-16

O que é isso

Pets é um recurso do OpenAI Codex App (versão desktop): uma janelinha transparente fica sempre no topo da tela, e dentro dela mora um pet em pixel art. Não é enfeite — as animações estão amarradas ao estado de execução do Codex:

  • enquanto o Codex gera código, o pet entra na animação "trabalhando" e treme de tão ocupado;
  • quando o Codex para à espera do seu input, o pet muda para "esperando você" e levanta a cabeça para te encarar;
  • tarefa concluída, ele pula para comemorar; tarefa falhou, ele murcha na hora e solta suor frio.

Sem trocar de janela: uma olhadela no pet já diz se está na hora de voltar ao terminal.

Como colocar um pet para rodar

  1. Confirme que você tem o Codex App (versão desktop), e não só a CLI, e ative Pets nas configurações;
  2. baixe o .pet.zip de qualquer pet no catálogo;
  3. extraia na pasta pets, uma pasta por pet:
# macOS / Linux
~/.codex/pets/<id-do-pet>/
├── pet.json
└── spritesheet.webp   (PNG também serve)

# Windows
%USERPROFILE%\.codex\pets\<id-do-pet>\

Feito isso, o novo pet aparece na seleção de pets do Codex App. Se não aparecer, reinicie o Codex App.

Especificação do spritesheet (oficial)

Todas as animações do pet cabem em uma única imagem: 1536×1872 pixels, PNG ou WebP, fundo transparente, dividida em 8 colunas × 9 linhas de 192×208 cada. Atenção: a quantidade de quadros usados varia por linha (é o que o contrato oficial animation-rows.md determina), e as células não usadas de cada linha precisam ficar totalmente transparentes. De cima para baixo, na ordem:

LinhaID do estadoNomeQuadros usadosDuração do cicloQuando toca
0idleParado61100msRespira em silêncio e pisca de vez em quando
1running-rightCorrendo para a direita81060msO Codex mandou ele trabalhar do lado direito
2running-leftCorrendo para a esquerda81060msNo caminho de volta
3wavingAcenando4700msUm tchauzinho antes de a tarefa começar
4jumpingPulando5840msTarefa concluída, pulo de alegria
5failedFalhou81220msDeu erro: murcha ali mesmo, com gota de suor frio
6waitingEsperando você61010msO Codex parou à espera de input, e ele fica te encarando
7runningTrabalhando6820msO Codex está gerando código e ele treme de tão ocupado
8reviewRevisando61030msAperta os olhos e varre seu código de um lado para o outro

Algumas regras em que é fácil tropeçar:

  • o pet inteiro precisa caber na célula de 192×208, inclusive no ponto mais alto do pulo;
  • transparente é transparente de verdade: os pixels não usados precisam ter alpha 0 e nenhum resíduo de RGB. Nada de sombras semitransparentes, sombra no chão ou linhas de velocidade — os tais "efeitos separados" (o validate_atlas.py oficial confere pixel por pixel);
  • não desenhe textos legíveis nem logos no corpo do pet;
  • capriche no tamanho dos detalhes: o pet aparece bem pequeno na tela, e um padrãozinho de um ou dois pixels simplesmente não se vê.

Como é o pet.json

{
  "id": "momo",
  "displayName": "Momo",
  "description": "A round cream-orange cat.",
  "spritesheetPath": "spritesheet.webp"
}

Quatro campos bastam. O id usa letras minúsculas e números e precisa bater com o nome da pasta; o spritesheetPath é relativo ao pet.json.

Faça o seu

Caminho 1: deixe a IA desenhar (a rota oficial). A OpenAI disponibiliza a skill hatch-pet em openai/skills. Instale no Codex, descreva o personagem que você quer e ela chama a geração de imagens para desenhar as 9 linhas de animação uma a uma, monta o spritesheet dentro da especificação e joga o resultado direto em ~/.codex/pets/. Ideal para quem quer aquele acabamento caprichado de desenho à mão.

Caminho 2: desenhe quadro a quadro por código (a nossa rota). Os 91 pets deste site foram todos gerados por programa, com Python + Pillow: o corpo é montado com blocos de cor numa grade lógica de 24×26 e cada quadro recebe parâmetros conforme o estado — parado é o sobe e desce da respiração mais o piscar; pulo é a curva de deslocamento de agachar, esticar, decolar e aterrissar; falha é o corpo achatado, olhos em X e suor frio. No fim, tudo é montado numa imagem de 1536×1872 respeitando a contagem de quadros oficial de cada linha. Quando chegamos à casa das dezenas de pets, abstraímos isso em algo "guiado por configuração": forma do corpo, paleta, orelhas, rabo, óculos e cachecol viraram parâmetros, e um pet novo agora sai com dez linhas de config.

Os dois caminhos produzem exatamente a mesma coisa: um spritesheet dentro da especificação e um pet.json. Terminou, é só jogar a pasta em pets e rodar.

Perguntas frequentes

O pet não se mexe ou não aparece? Confira primeiro os níveis de pasta: o pet.json precisa estar diretamente dentro de pets/<id>/, sem aquela pasta extra que às vezes sai da extração. Depois confira se a imagem tem exatamente 1536×1872.

Qual é a diferença entre V1 e V2? O que a comunidade chama de V2 acrescenta, além das 9 linhas básicas, quadros de "olhar ao redor" em 16 direções, para o pet acompanhar a direção do mouse. Pets com a especificação básica de 9 linhas (inclusive os daqui) continuam funcionando perfeitamente nas versões novas do Codex App.

Dá para pegar os pets daqui e modificar? Dá. Os 91 são todos criações originais em pixel art (a série inspiração toma emprestado apenas o tipo de tema, sem nenhum personagem protegido por direitos autorais). Modifique e distribua à vontade, sem necessidade de atribuição.

Sem ideia para a imagem de referência? No PixPix, uma frase basta para gerar uma referência de "personagem de corpo inteiro em fundo liso", perfeita tanto para alimentar o hatch-pet quanto para desenhar quadro a quadro.