
Este é um script Python que usa a IA para gerar novos cartões Pokemon aleatórios. Ele escolhe de 6 elementos e um tipo de criatura, e aleatório gera 1-2 habilidades.
Em seguida, ele usa o OpenAI para gerar um nome de Pokemon e uma descrição e cria um prompt para Midjourney (que precisa ser usado manualmente).
Em seguida, um comando separado pode ser usado para combinar os dados do Pokemon com a obra de arte gerada para criar um novo cartão Pokemon.
Assista ao vídeo no YouTube!
O cartão gerado acabado terá um nome, descrição e obras de arte do cartão.
| Descrição | Imagem do cartão |
|---|---|
| Ignax é um Pokémon quente sufocante encontrado em regiões semelhantes ao deserto que brandam um machado escuro mortal. É conhecido por seu comportamento feroz e sua capacidade de onda de ignição, que ele usa a vantagem do Toits em batalhas ferozes e inspiradoras. | ![]() |
O script também pode gerar uma série de cartas que evoluem uma da outra.
| Formulário 1 | Formulário 2 | Formulário 3 |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
Para a coleção completa de exemplo, consulte a galeria.
A saída estará na pasta /output , com pastas vazias para você colocar as obras de arte do cartão.
[project root]
├───output
├───cards
├───images
Os cartões terão JSON assim:
{
"index" : 26 ,
"name" : " Flamo " ,
"description" : " ... " ,
"element" : " Fire " ,
"rarity" : " common " ,
"rarity_index" : 0 ,
"hp" : 50 ,
"abilities" : [
{
"name" : " Scorch " ,
"element" : " Fire " ,
"cost" : 2 ,
"is_mixed_element" : false ,
"power" : 40
}
],
"image_prompt" : " a chibi young fire-type parrot pokemon, in a volcano environment, lava texture background, anime chibi drawing style, pastel background --niji --ar 3:2 " ,
"image_file" : " 026_flamo.png "
} Você pode usar o image_prompt para gerar a arte do cartão com o Midjourney.
Instale o Python 3.10 (ou superior)
Instale as dependências com pip install -r requirements.txt
Defina seu pythonpath como o src para que os módulos possam ser importados.
# For bash, you can use:
export PYTHONPATH= $PYTHONPATH :srcSe você deseja usar o OpenAI para gerar nomes e descrições, precisará configurar uma conta no OpenAI.
Em seguida, coloque sua chave da API em um arquivo chamado .env na raiz do projeto.
# In your .env file
OPENAI_API_KEY= " sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "Se você deseja obras de arte geradas por IA, também precisará configurar uma conta (basta ingressar na discórdia deles) com o Midjourney.
A execução disso gerará uma coleção de Pokemon para a pasta output . AVISO! Cada vez que você executa isso, ele substitui os arquivos existentes na pasta output .
python src/generate.py Isso gerará arquivos json do cartão, 1 série de cartões (entre 1-3 cartões) para cada elemento. A raridade, o tipo de criatura e o número de evoluções dos cartões serão aleatórios.
Você verá o resumo da série de cartões gerada:
Chippo (Neutral)
HP: 30
Rarity: ★ (common)
Abilities:
Slash (Neutral)
Cost: ● ●
Power: 20
Description: [...]
Image Prompt: [...]
python src/generate.py -n 10python src/generate.py -e fire Isso só gerará cartões para o elemento fire . Os elementos disponíveis são: fire , water , grass , electric , psychic , neutral .
Você também pode especificar um tipo de criatura específico (sujeito) para gerar cartões. Isso substituirá a seleção de sujeitos padrão (que é aleatória).
python src/generate.py -e grass --subject pumpkinVocê pode literalmente colocar qualquer coisa aqui! Se divertir com isso?
| Pumkpin | Tucan | Esfinge |
|---|---|---|
![]() | ![]() | ![]() |
Você pode usar o image_prompt para gerar a arte do cartão com o Midjourney. O prompt de imagem estará no arquivo json para cada cartão (e também no image_prompts.txt na pasta output ).
Chippo::0 a chibi young neutral-type toucan pokemon, in a village environment, bright lighting, anime chibi drawing style, pastel background --niji --ar 3:2
Copie isso no prompt de Midjourney /image . Ele gerará 4 variações da imagem. Você pode, em seguida, melhorar -o pressionando um dos botões U no bot.
Faça o download e salve a imagem na pasta output/pokemon-classic/images . Em seguida, renomeie o arquivo para corresponder ao image_file no arquivo json (por exemplo, 001_chippo.png ).

Você pode usar o script render_cards.py para renderizar os cartões em um arquivo PNG. Ele entrará na sua pasta output/pokemon-classic/renders .
python src/render_cards.py Quaisquer cartões que tenham um arquivo de imagem na pasta output/pokemon-classic/images serão renderizados. Se nenhuma imagem for encontrada, ela renderizará um cartão em branco.
| fogo | água | grama | elétrico | psíquico | combate | neutro |
|---|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Graças ao TheduckTamerBlanks pelo modelo de cartão em branco.