O que Kobutai Character faz?
Kobutai (小舞台) é uma extensão de navegador e aplicativo de desktop: um pequeno personagem chibi se apresenta na página enquanto música, vídeos, transmissões ao vivo ou podcasts são reproduzidos. Este skill transforma a imagem do personagem favorito do usuário (ou uma descrição) em um personagem que o Kobutai pode importar:
upload ─► ficha de personagem ─► ficha de vistas + pose base ─► GIFs de estado ─► make_pack.py ─► pet.json + spritesheet.webp
Responda no idioma do usuário (Inglês, 日本語 ou 中文). Mantenha os prompts de imagem em Inglês.
Leia estes quando chegar na etapa que precisar deles:
references/kobutai-contract.md- geometria da ficha, qual GIF vira qual estado Kobutai, regras de importação e compartilhamentoreferences/prompts.md- todos os prompts de imagem, os blocos de estilo e listas de ações por performancereferences/originality.md- o que fazer com personagens de terceiros, OCs, pets e pessoas reais
Geração de imagens
Use a geração de imagem nativa do host para cada imagem:
- Codex: a skill de sistema
$imagegen(ferramentaimage_genembutida). Não chame a API de Imagem ou um CLI a menos que o usuário peça explicitamente; esse caminho precisa da chave de API deles. - ChatGPT: geração de imagem nativa.
Imagens 2.6 (Nov 2026) podem retornar GIFs animados. Peça um GIF para cada estado animado. Se o host retornar uma imagem estática, recusar a saída GIF, ou o GIF for inutilizável, use o fallback de grade em references/prompts.md (8 quadros como um PNG de grade 4 x 2); make_pack.py o fatia.
Anexe base.png (e o upload do usuário, rotulado como "somente referência de identidade") a cada geração de estado. Um estado gerado sem o base anexado é inválido: regenere-o.
Lista de progresso
Mostre e atualize esta lista de verificação (lista de tarefas se o host tiver uma):
- Lendo seu personagem
- Desenhando a ficha de vistas
- Animando os estados
- Empacotando para Kobutai
- Verificando e entregando
Fluxo de trabalho
1. Leia o personagem
Olhe para cada imagem enviada e escreva RUN/character.json (RUN = kobutai-<id>/ no espaço de trabalho; no ChatGPT, /mnt/data/kobutai-<id>/). Campos e um exemplo estão em references/prompts.md § Ficha de personagem. Decida:
- mode -
original/own/personalconformereferences/originality.md. Padrão para um personagem reconhecível de terceiros éoriginal: um personagem original inspirado em seu mood, cores e papel, não uma cópia. - style -
kobutai(estilo chibi da casa, combina com o elenco embutido; padrão) oukeep(manter o estilo de arte do upload, ainda compacto e corpo inteiro). - scene - o que o personagem faz enquanto o conteúdo é reproduzido (cantar, dançar, DJ, tocar um instrumento, ouvir aconchegado, assistir e reagir, anotar...). Escolha de § Cenas de performance.
- genres / type - tags sugeridas para Kobutai, usadas posteriormente no diálogo de compartilhamento da extensão.
- chroma -
#00FF00, ou#FF00FFquando o personagem tem verde.
Envie ao usuário UMA mensagem curta com a ficha (nome, aparência em uma linha, modo, estilo, cena, tags) e peça que confirme ou altere algo. Prossiga com o padrão se ele disser "vai" ou não se importar. Se o upload não tiver um único personagem claro, pergunte qual.
2. Ficha de vistas e pose base
- Gere
RUN/profile.pngcom § Ficha de vistas: frente, três quartos, perfil e costas, quatro expressões e uma faixa de paleta, sem texto. Esta é a ficha de modelo do usuário; mostre-a a ele. - Gere
RUN/base.pngcom § Pose base, anexandoprofile.png: uma pose relaxada em pé, corpo inteiro, vista três quartos, no fundo croma sólido. Cada estado é desenhado a partir desta.
Se a identidade estiver errada (rosto, cabelo, roupa, paleta), corrija aqui; cada etapa seguinte copia base.png.
3. Anime os estados
Gere em RUN/states/, um trabalho por arquivo, base.png anexado a cada vez:
| Arquivo | Uso no Kobutai | Obrigatório |
|---|---|---|
idle.gif | parado, nada tocando | sim |
playing.gif | o loop de performance enquanto o conteúdo toca (mais importante) | sim |
paused.png | UMA pose estática "esperando por você" (Kobutai segura um quadro único) | recomendado |
appear.gif | entrada, reproduzido uma vez quando o personagem é desenhado | recomendado |
click.gif | reação quando cutucado, reproduzido uma vez | recomendado |
error.gif | loop confuso/triste | opcional |
walk.gif, review.gif | usado apenas quando o pack também é um pet do Codex | opcional |
Use § GIF de estado com a lista de ações para a cena escolhida. Ordem: idle e playing primeiro, verifique-os, depois o restante. Após cada arquivo, verifique rapidamente: mesmo personagem, cerca de 8 quadros distintos, um fundo liso, corpo inteiro dentro do quadro, pés na mesma linha de base, sem texto, sem efeitos flutuantes. Regenere um estado com falha sozinho com § Reparo; nunca reinicie toda a execução para um estado ruim.
GIFs/PNGs baixados do ChatGPT ou de $CODEX_HOME/generated_images/ devem ser copiados para RUN/states/ com exatamente esses nomes.
4. Empacote
python3 <skill_dir>/scripts/make_pack.py RUN # Kobutai (até 8 quadros por linha)
python3 <skill_dir>/scripts/make_pack.py RUN --target codex # contagens exatas de quadros para Codex pet
Precisa de Pillow + numpy (pip install pillow numpy, scipy opcional). O script remove o fundo (ou mantém transparência real), remove quadros duplicados, iguala escala entre GIFs, alinha pés, escreve a ficha 1536 x 1872 do Petdex/Codex e a valida exatamente como o importador do Kobutai faz. Opções: --grid playing=4x2 para uma imagem de grade com outro layout, --scale click=0.9 quando uma fonte veio muito grande ou pequena, --key-low/--key-high para um fundo teimoso.
Código de saída 2 significa que a validação falhou; leia out/qa/report.json, corrija a fonte, execute novamente.
Se o host não puder executar Python (algumas configurações do ChatGPT), entregue profile.png, base.png, os arquivos de estado e character.json como um zip e diga ao usuário para executar o mesmo comando localmente.
5. Verifique e entregue
Abra out/qa/contact.png e out/qa/preview.gif e veja. Rejeite e repare quando:
- qualquer linha mudar o rosto, cabelo, roupa, paleta ou adereços
- o personagem pular de tamanho ou se mover lateralmente entre quadros ou entre estados
- uma pose estiver cortada na borda da célula, ou o fundo deixou uma franja colorida ou manchas
- o loop de reprodução estiver visualmente estático, ou idle for um movimento grande
- a ~120 px de altura (o tamanho que Kobutai mostra) o personagem não for mais reconhecível
Então entregue:
kobutai-<id>.zipcontendo<id>/pet.json+<id>/spritesheet.webpprofile.pngepreview.gifpara ver e compartilhar- Como usar (de
references/kobutai-contract.md§ Importar): Kobutai → Importar → escolhapet.jsonespritesheet.webpjuntos. Opcional: copie a pasta para~/.codex/pets/<id>/para usá-lo também como pet do Codex. - Apenas para modo
originaleown: eles podem enviá-lo para a biblioteca comunitária semanal pela extensão (Meus personagens importados → Compartilhar com todos, CC BY 4.0, nome de crédito obrigatório), com os gêneros da ficha. Para modopersonaldiga claramente que é apenas para uso próprio.
Mantenha RUN/ (ficha, perfil, base, estados) para que um "acelere a dança" ou "refaça o click" posterior só regenere um estado.
Custo
Uma execução completa leva cerca de 8 gerações de imagem (perfil, base, idle, playing, paused, appear, click, error opcional) mais reparos. Avise o usuário antes de iniciar uma segunda execução completa.