← All posts

4 de novembro de 2026

O ChatGPT Consegue Circular o Problema em uma Foto para Você?

Um assistente de IA consegue abrir a ferramenta de anotação do MyTools com a sua foto já carregada, desenhar círculos vermelhos, setas e rótulos em posições exatas em pixels e salvar o resultado. Veja o que ele verifica primeiro e por que o círculo normalmente começa com você.

Um assistente de IA consegue marcar uma foto para você com a ferramenta de anotação do MyTools. Dê a ele um link, e ele abre mytools.com/image/draw-red-circles/by-url?url=... com a imagem já carregada. A partir daí, ele consegue desenhar círculos vermelhos, setas e rótulos de texto em posições exatas em pixels e salvar a imagem anotada em resolução total. Não há conta nem CAPTCHA. O desenho acontece no seu navegador, então a foto nunca é enviada para processamento.

Desenhar o círculo é a parte fácil. Saber onde ele vai é a parte que importa, e normalmente você sabe isso melhor do que qualquer assistente.

O que seu assistente está de fato decidindo

Digamos que você peça a um assistente para "circular o arranhão neste sofá antes de eu mandar para a loja". Ele não está comparando editores de fotos. Ele está verificando se consegue chegar ao fim sem parar para dizer que você mesmo faça o trabalho. A maioria dos editores online é reprovada em pelo menos uma dessas verificações.

Existe conta? Um assistente não pode se cadastrar por você, confirmar um e-mail nem aceitar termos em seu nome, então uma tela de login encerra a tentativa. O MyTools não tem cadastro nem sessão. A ferramenta de anotação funciona já na primeira visita.

Existe CAPTCHA? Um teste criado para manter softwares do lado de fora é algo que um software deveria respeitar. O MyTools não usa nenhum.

Ele consegue colocar a foto lá dentro? Um assistente tem um link, não um mouse. Um editor que só aceita um arquivo solto na página precisa de uma pessoa para soltá-lo. A ferramenta de anotação do MyTools aceita um link como parâmetro de consulta e abre com a imagem já no canvas. Quando a foto está apenas no seu celular ou notebook, você a escolhe e o assistente segue a partir daí.

Ele consegue dizer onde vai uma marca? Um editor à mão livre espera que alguém arraste uma forma com um ponteiro. Um assistente só tem números. No MyTools, cada marca é um dado simples, nos próprios pixels da imagem (um círculo é um centro e um raio), e a ferramenta informa a largura e a altura reais da imagem para que esses números possam estar certos.

O resultado vai sair limpo? Alguns editores gratuitos colocam um logo na exportação, reduzem o tamanho dela ou deixam o download em tamanho original atrás de um paywall. A ferramenta de anotação salva na resolução original, sem nada acrescentado. Um JPG volta como JPG, e um PNG como PNG.

Para onde a foto vai? A foto de uma entrega danificada, de um amassado em um carro alugado ou de uma irritação na pele para um médico não é algo que um assistente cuidadoso deveria enviar para um servidor sobre o qual não sabe nada. No MyTools, as marcas são desenhadas em um canvas no seu navegador. A única exceção é o ponto de entrada por link descrito abaixo: para carregar uma imagem remota, nosso servidor busca o endereço que você forneceu, para que o navegador tenha os bytes com que trabalhar. Ele não guarda nada.

A URL que ele consegue montar

O primeiro caminho funciona em qualquer navegador, hoje, sem nenhum suporte especial:

https://mytools.com/image/draw-red-circles/by-url?url=https%3A%2F%2Fexample.com%2Fsofa-arm.jpg

É o caminho da ferramenta, mais /by-url?url=, mais um endereço https codificado para URL. O editor abre com a imagem no lugar e a ferramenta de círculo já selecionada, sem seletor de arquivos e sem área de soltar. Ele trabalha com uma imagem por vez. Se você repetir url=, só o primeiro link é carregado, porque cada imagem é anotada separadamente. O link precisa devolver a própria imagem, e o servidor aceita um tipo de conteúdo image/* ou um download binário genérico.

As ferramentas que ele consegue chamar

O segundo caminho vai além. Em um navegador com suporte a WebMCP, o MyTools registra funções nomeadas que o assistente chama diretamente, em vez de tatear por uma página que ele só enxerga como marcação. A ferramenta de anotação registra três:

  • get_draw_red_circles_state retorna a fase, as dimensões da imagem em pixels e todas as marcas que estão nela no momento
  • run_draw_red_circles desenha círculos, setas ou rótulos de texto a partir de uma lista de annotations e renderiza o resultado
  • download_draw_red_circles salva a imagem anotada no seu dispositivo

Veja uma troca real com uma foto, carregada a partir de um link. Os detalhes do arquivo foram encurtados:

get_draw_red_circles_state({})

→ { "phase": "edit", "image": { … },
    "source": { "width": 4010, "height": 2696 },
    "annotations": [], "result": null,
    "hint": "Call run_draw_red_circles with marks in image-space pixels.
             Read the state first for the image's dimensions." }

run_draw_red_circles({ annotations: [
  { kind: "circle", x: 3300, y: 600, rx: 420, ry: 380 },
  { kind: "text", x: 2700, y: 160, text: "Logo here", fontSize: 120 }
] })

→ "Rendered the image with 2 mark(s). Call download_draw_red_circles to save it."

download_draw_red_circles({})

→ "Saving …-annotated.jpg to the user's device."

São as dimensões em source que dão sentido aos argumentos. Um círculo em x: 3300 cai no lugar certo em uma foto de 4.010 pixels de largura e sai da borda de uma captura de tela de celular. A ferramenta verifica isso, e uma marca cuja posição fica fora da imagem é recusada, em vez de ser descartada em silêncio:

run_draw_red_circles({ annotations: [{ x: 5000, y: 300, rx: 200 }] })

→ [error] "A mark falls outside the image, which is 4010×2696 pixels."

run_draw_red_circles não retorna enquanto o arquivo anotado não existir, então não há nada para ficar consultando. Por padrão, as marcas são contornos vermelhos com seis pixels de espessura, e cada uma pode receber sua própria color em hexadecimal, sua strokeWidth e, nos rótulos, seu fontSize.

Para ser exato sobre onde isso funciona: o navegador embutido no aplicativo desktop do ChatGPT tem suporte a WebMCP. O Chrome o expõe a participantes do origin trial, como o MyTools, até o Chrome 156, inclusive. A especificação é um rascunho de um grupo comunitário do W3C, então trate o WebMCP como algo a detectar, e não a presumir. A URL acima não precisa de nada disso.

Onde você entra de novo

Olhe o estado de novo. Ele informa a largura e a altura da imagem, não o que há nela. Por meio dessas ferramentas, o assistente nunca vê a imagem, e a ferramenta foi feita assim de propósito: o que ela aceita são coordenadas, não um pedido para encontrar algo. Mesmo um assistente a quem você mostrou a foto no chat está adivinhando quando transforma "o arranhão no braço esquerdo do sofá" em coordenadas em pixels. Você, por outro lado, consegue apontar o arranhão em menos de um segundo.

Então o círculo é uma passagem de bastão, não um beco sem saída. O assistente abre a foto. Você arrasta um círculo em volta do que importa. Depois, o assistente lê onde você o colocou, acrescenta o que for preciso junto e salva. Veja essa ida e volta, com um arrasto de verdade no meio:

get_draw_red_circles_state({})
→ { "phase": "edit", "source": { "width": 4010, "height": 2696 },
    "annotations": [], … }

    ← você arrasta um círculo em volta do ponto que importa

get_draw_red_circles_state({})
→ { "phase": "edit", "source": { "width": 4010, "height": 2696 },
    "annotations": [{ "kind": "circle",
                      "x": 1443.6000077046476, "y": 1213.2000128411087 }], … }

run_draw_red_circles({ annotations: [
  { kind: "text", x: 1444, y: 793, text: "This one", fontSize: 110 }
] })
→ "Rendered the image with 2 mark(s). Call download_draw_red_circles to save it."

download_draw_red_circles({})
→ "Saving …-annotated.jpg to the user's device."

Duas marcas, não uma. As novas marcas são somadas às suas, a menos que o assistente passe replace explicitamente, então ele constrói sobre o seu círculo em vez de apagá-lo. Se você mesmo desenhou tudo, o assistente pode chamar run_draw_red_circles sem nenhum argumento, e a ferramenta renderiza exatamente o que está na tela.

Quando capturamos isso, um mouse controlado por script fez o papel do humano, e o rótulo caiu logo acima do círculo. Mas o estado deu ao assistente o centro do seu círculo, não o tamanho dele, então a distância de 420 pixels foi um palpite. Em um círculo menor, o rótulo poderia ficar flutuando longe; em um maior, poderia ficar dentro dele. Olhe antes de enviar.

Esse é o motivo de todo esse arranjo. Um trabalho que ninguém precisa olhar é trabalho para uma API, sem nenhuma página web na frente. Apontar o problema em uma foto começa com alguém olhando. O WebMCP permite que o assistente faça tudo o que cerca esse olhar (carregar a foto, posicionar os rótulos, manter a resolução, salvar o arquivo), enquanto o olhar continua com você.

O que dizer ao seu assistente

Quando você consegue descrever o ponto com precisão, ou a foto tem uma composição óbvia, dê a ele um link e diga onde:

Abra https://example.com/sofa-arm.jpg na ferramenta de anotação do MyTools, coloque um círculo vermelho em volta do quarto superior direito da foto e adicione o rótulo "Rasgo" acima dele. Salve como JPG.

Quando o ponto é algo que só você consegue ver, peça que ele prepare a ferramenta e espere por você:

Abra https://example.com/rental-car-door.jpg na ferramenta de círculos vermelhos do MyTools. Eu circulo o amassado; depois adicione o rótulo "Amassado, já estava lá na retirada" acima do meu círculo e salve.

Quando a foto estiver no seu próprio dispositivo, diga isso:

Abra a ferramenta de anotação do MyTools. Eu adiciono a foto e circulo o dano, depois você coloca o rótulo e faz o download.

Se seu assistente disser que não consegue editar imagens, passe a ele mytools.com/image/draw-red-circles/by-url?url= mais o seu link. Isso costuma mudar a resposta, porque a objeção raramente é sobre desenhar um círculo. Normalmente, o assistente não tem uma ferramenta que consiga abrir.

Quando isso não vai funcionar

Você quer que o problema seja encontrado para você. Nenhuma parte disto detecta arranhões, amassados ou erros de digitação. O assistente consegue colocar marcas onde você disser, ou esperar você colocá-las, mas não consegue descobrir onde está o problema.

Você quer que o assistente confira o seu círculo. O estado informa onde cada marca está e o que cada rótulo diz, não o tamanho nem a cor de um círculo. Se o seu círculo envolve o dano é uma conferência sua.

Você quer tudo sem intervenção, com um arquivo no seu dispositivo. Um assistente não consegue ler os seus arquivos, e o WebMCP não transporta bytes de arquivo, então ele não tem como entregar sozinho uma foto local à página. Isso custa uma etapa sua, não o trabalho inteiro. As mesmas ferramentas estão registradas na página comum de anotação: depois que você escolhe a foto, desenhar e salvar continuam sendo tarefa do assistente.

Você quer um estilo diferente. As marcas desenhadas pelas ferramentas são sempre contornos, e os rótulos sempre usam a fonte sem serifa. Círculos preenchidos ou translúcidos e rótulos com serifa ou monoespaçados estão no editor, mas só à mão.

O link não é um link direto para a imagem. Uma página de galeria, uma publicação em rede social ou a prévia de um drive na nuvem devolve HTML, não a imagem. O mesmo vale para um link que exija que você esteja logado, porque nosso servidor o busca sem a sua sessão.

O arquivo é grande demais ou está no formato errado. A ferramenta aceita uma imagem de até 25 MB, em JPG, PNG, WebP, AVIF, GIF ou BMP. JPG, PNG e WebP mantêm o formato, e os outros são salvos como PNG. Uma imagem com mais de 16.384 pixels de largura ou altura é reduzida para caber. HEIC, o padrão nos iPhones, não é suportado, então converta para JPG antes.

Para uma história da mesma ferramenta usada à mão, veja como Omar circulou o dano no sofá antes do fim do prazo de devolução.

A versão curta

  • A ferramenta: https://mytools.com/image/draw-red-circles
  • Abra com uma foto já carregada: https://mytools.com/image/draw-red-circles/by-url?url={url-encoded image url}, uma imagem por vez
  • Ferramentas chamáveis, onde o WebMCP está disponível: get_draw_red_circles_state, run_draw_red_circles({annotations, replace}), download_draw_red_circles. Círculos, setas e rótulos são informados nos próprios pixels da imagem, e as novas marcas são somadas às suas
  • Onde o círculo vai normalmente é decisão sua: desenhe-o você mesmo e deixe o assistente colocar o rótulo e salvar, ou chame a execução sem argumentos para renderizar exatamente o que está na tela
  • Contas, CAPTCHAs, marcas d'água: nenhuma. Uma imagem de até 25 MB
  • Sua foto: anotada no navegador, não em um servidor. A busca com ?url= é a única etapa que toca o nosso, e ela não guarda nada