Voltar aos projetos

IA aplicada e ferramentas MCP

MCP AnimagineXL

Integro agentes à geração local de imagens com Animagine XL 4.0, checkpoints e LoRAs por ferramentas MCP.

Restrição principal

Os prompts seguem as convenções de tags do Animagine XL.

Decisão central

optimize_prompt organiza as tags e validate_prompt verifica regras, consistência e riscos de resolução antes da geração.

Fluxo do projeto

Explore o caminho de uma geração

chamada MCP

Entrada
Descrição ou prompt em tags e parâmetros de geração.
Responsabilidade
Escolher e chamar ferramentas pelo contrato MCP.
Saída
Chamada de ferramenta com argumentos estruturados.
Restrição
O cliente inicia o processo MCP por entrada padrão; no Docker, sem TTY.
Configuração do cliente · 7ffbf7f

FastMCP / server.py

Entrada
Prompt, dimensões e opções da ferramenta selecionada.
Responsabilidade
Expor optimize_prompt, validate_prompt, list_models e generate_image.
Saída
Prompt preparado, parecer de validação, catálogo local ou chamada ao pipeline.
Restrição
Preparar e validar antes de gerar é o fluxo recomendado; generate_image não faz essa validação de prompt automaticamente.
Contratos das ferramentas · 7ffbf7f

Diffusers / ImagePipeline

Entrada
Prompt e parâmetros; checkpoint e LoRAs locais opcionais.
Responsabilidade
Carregar o modelo e executar inferência no hardware disponível.
Saída
Imagem gerada e metadados da execução.
Restrição
Memória e hardware limitam a geração. O Docker exige GPU; fora dele, CPU é possível, mas lenta.
Implementação do pipeline · 7ffbf7f

outputs / PNG + JSON

Entrada
Imagem e parâmetros efetivamente usados na geração.
Responsabilidade
Gravar a imagem e o arquivo lateral com prompt, seed, dimensões e modelos.
Saída
Arquivos .png e .json em outputs/YYYY-MM-DD/.
Restrição
Repetir parâmetros não garante imagens idênticas entre ambientes. Não há benchmark publicado.
Formato das saídas · 7ffbf7f

Experimento no navegador / generate_image

Do prompt ao contrato

Monta e verifica argumentos no navegador. A geração acontece no servidor MCP.

Edite os campos para preparar uma chamada de texto para imagem. A verificação estrutural é local: exige dimensões e steps positivos, guidance não negativo e inteiros representáveis com segurança em JavaScript. Não equivale ao validador Python.

Referência: assinatura de generate_image e regras documentadas, commit 7ffbf7f.

Ative JavaScript para editar, verificar, copiar e baixar os argumentos. O exemplo e as regras permanecem disponíveis abaixo.

Argumentos de generate_image

Tags separadas por vírgula, conforme as convenções do Animagine XL.

Inteiro positivo em pixels. Padrão: 832.

Inteiro positivo em pixels. Padrão: 1216.

Inteiro positivo. Padrão: 28; LCM usa outra configuração.

Número finito não negativo. Padrão: 5.

Inteiro seguro no navegador. Vazio: seed aleatória no servidor.

Exemplo documentado. Ative JavaScript para verificar suas alterações.

Checklist das regras

  • Começar pela contagem de sujeitos.
  • Usar pelo menos oito tags.
  • Terminar com masterpiece, best quality, very aesthetic, absurdres.
  • Conferir personagem e série manualmente.
  • Considerar a resolução e a memória disponível.

O checklist cobre regras simples do README. Consistência entre personagem e série, classificação completa de tags e recursos do hardware exigem revisão no servidor. O negative prompt padrão será usado porque este formulário o omite.

Fonte: validador Python e resoluções recomendadas

Argumentos JSON

Copie o objeto de argumentos para seu cliente MCP. Nenhuma chamada é enviada por esta página.

{
  "prompt": "1girl, solo, hatsune miku, vocaloid, long hair, twintails, smile, upper body, city night, neon lights, masterpiece, best quality, very aesthetic, absurdres",
  "width": 832,
  "height": 1216,
  "steps": 28,
  "guidance_scale": 5,
  "seed": 42
}

Contexto

Neste laboratório, integro agentes à geração local de imagens por ferramentas MCP. Uso Animagine XL 4.0 como modelo base, com preparação e validação de tags antes da geração via Diffusers.

O fluxo aceita texto ou imagem como entrada, checkpoints e LoRAs locais. A saída inclui a imagem e um JSON com os parâmetros da geração.

Forças e restrições

  • Os prompts seguem as convenções de tags do Animagine XL.
  • Checkpoints e LoRAs são carregados de arquivos locais.

Decisões

  1. Preparação do prompt

    optimize_prompt organiza as tags e validate_prompt verifica regras, consistência e riscos de resolução antes da geração.

  2. Ferramentas MCP

    FastMCP expõe optimize_prompt, validate_prompt, list_models e generate_image. A integração documentada usa um processo MCP com entrada padrão, inclusive no Docker.

  3. Imagem e parâmetros

    O pipeline Diffusers grava a imagem e um JSON com parâmetros como prompt, seed, dimensões, checkpoint e LoRAs usados.

Evidências

  • README e contrato das ferramentas

    Documentação consultada em 24 out 2026. Descreve geração de texto para imagem e de imagem para imagem, checkpoints SDXL e múltiplas LoRAs com escalas independentes.

  • Organização da implementação

    O repositório documenta servidor FastMCP, preparação de prompts, ImagePipeline com Diffusers e contratos Pydantic.

  • Empacotamento com GPU

    O README explica os volumes de modelos, cache e saídas; o smoke test documentado valida imports e CUDA, sem carregar o modelo.

Limites conhecidos

  • É um laboratório experimental, sem validação de inferência ou operação em produção neste estudo.
  • A geração depende de memória e hardware. O Docker exige GPU, sem fallback para CPU; fora dele, a execução em CPU é possível, mas lenta.
  • Não publiquei benchmarks de capacidade ou latência.
  • O JSON de parâmetros ajuda a repetir a configuração; não garante imagens idênticas entre ambientes.
  • Ainda estudo avaliação de qualidade, guardrails e observabilidade operacional; essas funções não estão implementadas neste caso.
  • A licença MIT cobre o código. Modelos, checkpoints e LoRAs têm licenças próprias.
  • A ferramenta deste portfólio verifica estrutura e um checklist local; não equivale ao validador Python nem executa inferência.