FotosLinkedin
Blog/IA/o-arquivo-que-a-ia-devolve-nao-e-jpeg

O arquivo que a IA devolve não é JPEG: por que o campo de foto recusa antes de olhar a imagem

O formato de saída é um parâmetro da ferramenta, não uma linha do prompt. Li as regras de oito campos de upload e medi 18 retratos: a mesma plataforma tem mais de uma lista, e converter para JPG em qualidade alta derruba o arquivo no campo que publica piso de peso.

PM
Pedro Mota
Fundador, fotoslinkedin.com.br
Personagem-doodle ergue um cartão escrito WEBP; longe dele, no branco, a lista do campo traz só PNG e JPG, e nada liga as duas pontas.
IAfotoslinkedin · 2026
Em uma frase

O formato do arquivo é um parâmetro da ferramenta que gera, e não uma linha do seu pedido. O campo de foto lê os primeiros bytes do que você enviou e compara com a lista publicada dele. Quando as duas listas não se cruzam, a recusa vem antes de qualquer pixel ser avaliado.

Os doze primeiros bytes: descubra em que formato o seu arquivo está

Quando o campo de foto recusa o seu arquivo, a primeira pergunta não é qual é a extensão dele. É o que está escrito no começo dele. Todo contêiner de imagem abre com uma assinatura fixa de poucos bytes, e é isso que um servidor lê antes de decidir qualquer coisa. Doze bytes bastam para separar os cinco contêineres que aparecem nesta história, e nenhum deles está no nome do arquivo.

Rode uma destas linhas no arquivo que foi recusado.

# macOS ou Linux, no Terminal
file foto.webp
xxd -l 12 foto.webp

# Windows, no PowerShell 7
Get-Content foto.webp -AsByteStream -TotalCount 12 | Format-Hex

# Windows PowerShell 5.1, o que já vem instalado
Get-Content foto.webp -Encoding Byte -TotalCount 12 | Format-Hex

Linha a linha, em português: file responde em uma frase o que o arquivo é de verdade, olhando o conteúdo e ignorando o nome; xxd -l 12 imprime os doze primeiros bytes em hexadecimal e, ao lado, a versão legível deles; as duas linhas do PowerShell fazem a mesma leitura no Windows, e você escolhe conforme a versão instalada. Se em vez disso você abrir Propriedades no Explorador de Arquivos, ele vai repetir o que a extensão diz, que é justamente a informação sob suspeita.

Agora compare o resultado com esta lista. Medi as assinaturas byte a byte em 02/09/2026, no mesmo retrato salvo em cada contêiner:

  • PNG: abre em 89 50 4E 47 0D 0A 1A 0A, e a parte legível mostra .PNG.
  • JPEG: abre em FF D8 FF E0 e traz JFIF nos bytes 6 a 9.
  • WebP: traz RIFF nos bytes 0 a 3 e WEBP nos bytes 8 a 11. É o caso mais comum quando a imagem saiu de um gerador.
  • GIF: 47 49 46 38 39 61, que se lê como GIF89a (arquivos mais antigos abrem em GIF87a, com 37 no lugar do 39).
  • HEIC: ftypheic nos bytes 4 a 11. É o padrão de gravação da câmera do iPhone.

Vale a advertência de quem já tropeçou nisso. Rodando file no acervo do meu próprio repositório, encontrei dez arquivos com extensão .webp cujo conteúdo é PNG: os primeiros bytes são 89 50 4E 47. Eles estavam ali havia meses, usados como material de outras medições, e ninguém tinha conferido. Descrever um arquivo pela extensão é o erro mais barato de cometer, inclusive dentro de casa.

Em que formato a imagem sai de cada caminho, e por que a resposta não é JPEG

O formato não é uma escolha que você faz na conversa. É um parâmetro da ferramenta que gera. O guia de geração de imagem da OpenAI é literal: "The Image API returns base64-encoded image data. The default format is png, but you can also request jpeg or webp" (a API de imagens devolve dados codificados em base64; o formato padrão é png, e também dá para pedir jpeg ou webp). Na referência da edição de imagem, a mesma casa escreve que "GPT image models always return base64-encoded images" (os modelos GPT de imagem sempre devolvem imagens em base64).

Repare no que isso implica. No meio do caminho não existe arquivo nenhum: existe um bloco de texto codificado. O arquivo passa a existir quando alguém decodifica esse bloco e grava em disco, e quem grava é que escolhe o contêiner e a extensão. Por isso pedir "me devolva em JPEG" dentro da conversa não seleciona nada. O texto do pedido governa o conteúdo da imagem, nunca o invólucro dela. Quem seleciona é um par de campos:

{
"model": "gpt-image-2",
"output_format": "webp",
"output_compression": 80
}

Em português: output_format escolhe o contêiner do arquivo e output_compression regula a compressão numa escala de 0 a 100, com padrão 100. A referência avisa que a compressão "is only supported for the GPT image models with the webp or jpeg output formats" (só vale para os formatos de saída webp ou jpeg), ou seja, o PNG não tem essa alavanca. E o guia ainda recomenda o JPEG por velocidade: "Using jpeg is faster than png, so you should prioritize this format if latency is a concern".

No fotoslinkedin esse parâmetro está fixo em WebP. O gerador grava a imagem pronta com a extensão .webp e com o tipo image/webp declarado, nas três saídas do produto: 1024x1024, 1024x1536 e 1536x1024. É decisão de código, não acidente, e é exatamente a metade do contrato que este artigo trata.

O outro fornecedor descreve a mesma coisa com outro vocabulário. A documentação de geração de imagem do Gemini publica o formato como tipo MIME, e os exemplos oficiais usam image/jpeg e image/png. Nas 17.142 palavras que li dessa página em 02/09/2026, a palavra webp não aparece nenhuma vez, o que é uma ausência medida naquele dia e não uma declaração de incompatibilidade. A mesma página diz que "All generated images include a SynthID watermark", isto é, toda imagem gerada sai com uma marca d'água SynthID: um lembrete de que o arquivo carrega mais coisa do que pixel, e esse é o assunto de proveniência, que tem artigo próprio.

A superfície de conversa é o pior lugar para descobrir isso, porque ela não mostra o parâmetro em lugar nenhum: o botão de salvar entrega o arquivo já gravado, com o contêiner que a ferramenta escolheu antes de você chegar. No fórum de desenvolvedores do próprio fornecedor há relatos de usuários descrevendo exatamente esse susto, em tópicos com títulos como "DALL-E images downloading as WebP". É relato de usuário e não especificação, e precisa ser lido assim: o que a documentação publica é o parâmetro; o que a conversa entrega é o resultado dele.

Aqui está o ponto cego da anatomia do pedido. O blog descreve um prompt de foto em componentes, e o último deles é a saída, com proporção e uso final: a anatomia do pedido, componente por componente, está inteira no pilar. Dentro desse componente existe um sub-item que nenhuma frase alcança, porque ele não vive no texto: o contêiner. É irmão daquela outra restrição de saída, a que decide quantas imagens voltam de uma vez, e as duas se resolvem no mesmo lugar: no parâmetro, e não no adjetivo.

O campo recusa antes de olhar a imagem: o portão tem duas camadas

A recusa que você vê tem duas origens possíveis, e elas acontecem em momentos diferentes. A primeira camada é o seletor de arquivo, dentro do navegador. A segunda é o servidor do destino. Só a segunda decide de verdade.

A documentação da MDN sobre o campo de upload é direta sobre a primeira: "The accept attribute doesn't validate the types of the selected files; it provides hints for browsers to guide users towards selecting the correct file types" (o atributo accept não valida o tipo dos arquivos selecionados; ele dá dicas ao navegador para orientar a escolha). E completa: "you should make sure that the accept attribute is backed up by appropriate server-side validation" (é preciso garantir que o accept esteja respaldado por validação no servidor). Esse filtro trabalha com uma lista de extensões ou de tipos declarados, e é por isso que ele cai fácil.

A segunda camada trabalha com outra informação. A página da MDN sobre tipos MIME diz que "Browsers use the MIME type, not the file extension, to determine how to process a URL" (os navegadores usam o tipo MIME, e não a extensão, para decidir como processar um endereço). Do lado do servidor a lógica é a mesma, com um detalhe a mais: quem quer certeza abre o arquivo e lê a assinatura dele.

Dois rostos-doodle diante do mesmo cartão: à esquerda a etiqueta externa diz JPG; à direita o cartão aberto mostra WEBP escrito por dentro.

Testei o conselho mais repetido dos fóruns em português, que é renomear. Copiei um mesmo WebP de 48.272 bytes para três nomes, foto.webp, foto.jpg e foto.png, sem tocar em um único byte do conteúdo, e perguntei a cinco leitores o que eles viam:

  • file: WebP nos três nomes.
  • file --mime-type: image/webp nos três.
  • sips -g format, que é do macOS: webp nos três.
  • A biblioteca Pillow, no Python: WEBP nos três.
  • A função que decide pelo nome, mimetypes.guess_type: image/webp, image/jpeg e image/png, um resultado diferente para cada nome.

É a última linha que explica a experiência de todo mundo. O que lê o nome muda de opinião. O que lê os bytes não muda. Renomear às vezes parece funcionar porque o arquivo atravessa o primeiro portão e morre no segundo, às vezes com uma mensagem genérica, às vezes depois de a barra de progresso ter chegado ao fim. Nenhum byte foi convertido no caminho: só a etiqueta.

Repare que nada disso tem a ver com qualidade. Um WebP impecável é recusado exatamente como um WebP ruim, porque a lista é de contêiner e não de nitidez. A perda que acontece dentro do arquivo, quando ele é reprocessado no caminho, é outro assunto e tem casa própria: quando a perda acontece dentro do arquivo, e não na portaria.

O que cada campo de foto publica sobre o arquivo
Campo de foto (o destino exato)
Formatos publicados
Peso publicado
Dimensão publicada
Linkedin, foto do perfil
PNG ou JPG. A página diz que GIF não é aceito
Máximo de 8 MB
Entre 400 x 400 e 7680 x 4320 px
Linkedin, mídia em publicação
GIF, JPEG e PNG nos três caminhos; WEBP marcado só no Android; HEIF e HEIC só no iOS
Máximo de 100 MB
Máximo de 36 megapixels
Linkedin, amostras de mídia no perfil
.jpg/.jpeg, .png e .gif, ao lado de PDF, PowerPoint e Word
Não publicado nessa página
Não publicado nessa página
Perfil da Empresa no Google
JPG ou PNG
Entre 10 KB e 5 MB
Mínimo de 250 x 250 px, recomendado 720 x 720 px
Currículo Lattes, ajuda do CNPq
JPG, e só JPG
Até 70k
120 x 160 px, na proporção 3x4
OLX, perfil profissional
JPG, GIF ou PNG
Mínimo de 240kb e máximo de 5 MB
Entre 350 x 260 e 2160 x 3840 px
OLX, foto de anúncio
JPG, GIF, PNG, HEIC ou WEBP
Até 5 MB
Entre 50 x 50 e 2160 x 3840 px
Google Merchant Center, imagem de produto
JPEG, WebP, PNG, GIF, BMP e TIFF
Não publicado nessa página
Não publicado nessa página
Regras lidas nas páginas oficiais em 02/09/2026: Linkedin (respostas a549049, a564111 e a1516753), Perfil da Empresa no Google, Merchant Center, ajuda do CNPq (páginas de 2008 e 2009) e ajuda da OLX. A lista pertence ao campo, não à plataforma.

A mesma plataforma publica mais de uma lista, e uma delas depende do celular

Aqui está o erro estrutural deste assunto, e ele é fácil de cometer: procurar "o que a plataforma aceita", abrir a primeira página que aparece e sair escrevendo. A lista de formatos não pertence à plataforma. Pertence ao campo.

O Linkedin publica pelo menos três listas diferentes. A resposta sobre a foto que não carrega no perfil diz que "O tipo de arquivo precisa ser PNG ou JPG" e acrescenta que os GIFs não são aceitos. A página sobre amostras de mídia no perfil lista ".jpg/.jpeg, .png, .gif" ao lado de PDF, PowerPoint e Word. E a página sobre imagens compartilhadas em publicação traz uma tabela de três colunas, Computador, iOS e Android, em que GIF, JPEG e PNG passam nas três, o WEBP aparece marcado só no Android e o HEIF/HEIC só no iOS.

Leia a última de novo: naquele campo, a aceitação de formato depende do sistema operacional do aparelho de onde você posta. É por isso que a frase que a busca em português repete, a de que a plataforma não aceita WebP, está errada do jeito que está escrita. Quem não aceita WebP é o campo de foto do perfil. O campo de mídia da publicação aceita, em um dos três caminhos.

O padrão se repete nas outras casas. Na OLX, a página do perfil profissional publica "Formatos permitidos: JPG, GIF ou PNG", enquanto a página de como publicar um anúncio escreve "Adicione as fotos de até 5MB nos formatos JPG, GIF, PNG, HEIC ou WEBP". Mesma empresa, dois campos, duas listas: o anúncio aceita o contêiner que o seu rosto não pode usar. No Google acontece igual. O campo de foto dentro do perfil de empresa publica "Formato: JPG ou PNG", e o Merchant Center, que é catálogo de produto e não foto de pessoa, aceita "JPEG (.jpg/.jpeg), WebP (.webp), PNG (.png), GIF (.gif), BMP (.bmp), TIFF (.tif/.tiff)".

A consequência prática é uma regra de conferência simples: antes de converter qualquer coisa, ache a página do campo exato onde a foto vai morar, e não a página genérica da plataforma. A mesma disciplina vale para o mesmo problema nos formulários de vaga, em que cada sistema publica a própria régua de arquivo.

O piso de peso: o erro que aparece quando você segue o conselho da internet

O reflexo diante de um campo de upload é sempre o mesmo: comprimir para não estourar o limite. 8 MB aqui, 5 MB ali. Para o campo de foto do perfil, essa conta específica já está feita no artigo que trata do teto de peso e da conferência daquele campo, e não vou repeti-la aqui. Só que a faixa tem dois lados, e o de baixo já apareceu no blog uma vez: no campo de foto de vendedor, o peso mínimo é a régua que mais reprova arquivo, medido na dimensão mínima que a própria plataforma publica. O que este artigo acrescenta, é o cruzamento entre esse piso e a decisão de formato.

Duas das páginas que li publicam piso. O perfil profissional da OLX escreve "Tamanho do arquivo: Mín.: 240kb Máx.: 5MB". A ajuda do Perfil da Empresa no Google escreve "Formato: JPG ou PNG. Tamanho: entre 10 KB e 5 MB". Um mínimo publicado é uma regra que o conselho universal do nicho, o "converta para JPG", consegue violar sozinho.

Medi. Peguei 8 retratos de 1024x1024 gerados pelo próprio produto, todos personas sintéticas e nenhuma pessoa real, e salvei cada um em vários contêineres. As medianas ficaram assim: 51,4 KB no WebP como o produto entrega, 117,2 KB em JPEG na qualidade 95, 219,2 KB em JPEG na qualidade máxima e 393,8 KB em PNG. Repeti o teste num segundo conjunto, de 10 retratos com fundo mais detalhado: o JPEG na qualidade 95 deu mediana de 162,5 KB, com máximo de 188,8 KB, e o PNG deu 999,1 KB.

Agora cruze com o piso de 240kb. Na qualidade 95, que é a exportação alta que quase todo editor oferece, nenhum dos 18 retratos passou: o mais pesado parou em 188,8 KB. Só na qualidade máxima o JPEG encosta na régua, e mesmo assim o resultado se divide: 2 dos 8 retratos do primeiro conjunto passaram, com 248,6 KB e 255,4 KB, e no segundo conjunto, mais detalhado, passaram os 10. O PNG passou em 18 de 18. Ou seja: no campo que tem piso, o conselho universal produz um arquivo recusado por ser leve demais, e o formato que a internet trata como exagero é o que passa sempre. Do lado do teto, nenhuma das versões chega perto de incomodar.

Os limites desse número, porque eles importam mais que o número. KB aqui é medição datada com o meu material, não especificação de ninguém. A dimensão está fixa em 1024x1024 e aquele campo aceita até 2160x3840, então um arquivo maior pesa mais e passa: na medição feita para o campo de vendedor, com recorte horizontal de 1.378 x 1.024 px em qualidade 95, o JPEG ficou acima do piso. Retrato com fundo detalhado também pesa mais que retrato com fundo liso. A página escreve 240kb, e eu li como kilobytes. E a OLX não recusa JPEG: ela publica JPG na lista dela. O que a medição mostra é que os meus arquivos ficaram abaixo do piso, não que o formato seja proibido ali.

Contêiner por contêiner: o que ele carrega e o que ele cobra
Contêiner
O que ele carrega
O que ele cobra
Quando escolher
PNG
Fundo transparente e imagem sem perda; é o padrão da API de imagens da OpenAI
Sem controle de compressão; mediana de 393,8 KB nos meus 8 retratos de 1024x1024
Quando o campo tem piso de peso, quando o fundo precisa continuar vazio ou quando a lista publicada pede PNG
JPEG
Só pixel opaco, com escala de qualidade ajustável
Não tem canal alfa: passar por ele apaga a transparência para sempre
É o formato mais aceito nas listas que li; serve em quase todo campo de foto de perfil
WebP
Fundo transparente e compressão ajustável, com ou sem perda
Fica de fora da lista publicada de vários campos de foto de perfil
Para uso no seu site ou onde a lista do campo cita webp; para o perfil, converta antes
HEIC e HEIF
O padrão de gravação da câmera do iPhone, com arquivo pequeno
Não está na lista de entrada da edição de imagem da OpenAI nem em vários campos de foto
Praticamente nunca como arquivo final; troque na câmera ou converta antes de enviar
Transparência e compressão: guia de geração de imagem da OpenAI e guia de formatos de imagem da MDN, lidos em 02/09/2026. Pesos: medição própria em 8 retratos sintéticos de 1024x1024, também em 02/09/2026, não especificação.

Converter custa qualidade? Medi, e a resposta incomoda os dois lados

A crença de mercado diz duas coisas ao mesmo tempo: que converter destrói a foto e que existe uma ordem sagrada para fazer isso, primeiro reduzir e só depois converter, sob pena de pagar duas recodificações. Testei a segunda parte, que não encontrei medida em nenhuma das páginas que li.

O método foi este. Parti de 8 retratos, montei uma referência decodificando o original e reduzindo para 400x400 sem recodificar nada, e comparei dois caminhos. O caminho A reduz primeiro e salva JPEG uma vez só. O caminho B salva JPEG a 1024, reabre, reduz e salva JPEG de novo, pagando duas recodificações. A métrica é o erro médio quadrático de cada caminho contra a referência, na imagem inteira.

O resultado: na qualidade 90, a ordem errada custou 2,2% a mais de erro na imagem. Na qualidade 80, 1,8%. Na 70, 2,4%. E num caso com o recorte fora da grade de compressão, deslocado em 37 e 53 pixels, que era onde eu esperava o pior, deu 1,8%. É quase nada. A ordem da conversão praticamente não importa para a qualidade, e quem escreve que converter depois "paga o dobro" está descrevendo um custo que não aparece na medição.

Sobram três regras, e elas são mais úteis que a ordem. A primeira: converta uma vez só, e não duas, porque a primeira recompressão já cobra quase toda a conta. A segunda: a decisão que realmente cobra caro é a dimensão final, e não o formato. Esse é outro assunto, e está medido em o que a redução de tamanho tira de um retrato.

A terceira é a única irreversibilidade da história, e ela não é de qualidade, é de conteúdo: o canal alfa. A MDN escreve, no guia de formatos de imagem, que "JPEG does not support an alpha channel" (o JPEG não suporta canal alfa). Passar por JPEG apaga a transparência, e nenhuma conversão posterior traz de volta, porque o dado deixou de existir. Se o seu arquivo precisa continuar com fundo vazio, o assunto inteiro está em o que se perde quando o fundo precisa continuar vazio.

O protocolo do arquivo final, em quatro passos

Quatro passos, nesta ordem, para qualquer destino. Eles levam menos tempo do que descobrir na tentativa e erro por que o formulário reclama.

  1. Abra a página do campo, não a da plataforma. Procure três coisas nela: a lista de formatos, a faixa de peso (com a palavra mínimo, e não só máximo) e a faixa de dimensão. Anote a data da página quando ela for antiga: a ajuda do CNPq sobre a foto do currículo Lattes pede uma foto "em formato JPG de até 70k" numa página modificada pela última vez em 2008, e isso muda a confiança que você deposita na regra.
  2. Recorte e redimensione primeiro. O recorte é uma decisão do destino, não do seu arquivo, e ele muda de destino para destino: a régua está em por que o mesmo rosto vira recortes diferentes em cada campo. Fazer isso antes de converter evita salvar o arquivo duas vezes.
  3. Converta uma vez só, para um formato da lista daquele campo. Renomear nunca converte: quem converte é o programa que abre, decodifica e grava de novo. Pré-visualização no macOS (Arquivo, Exportar), Paint ou Fotos no Windows (Salvar como) e qualquer editor de celular servem. Se o campo tiver piso de peso, confira o tamanho depois de salvar e suba a qualidade, ou escolha PNG, até passar. Se a imagem precisa de fundo transparente, não passe por JPEG.
  4. Confira os doze primeiros bytes, não o nome. file arquivo no macOS e no Linux, Format-Hex no PowerShell. Se a assinatura não bater com a extensão, você tem um arquivo renomeado nas mãos, e ele vai atravessar o seletor para ser recusado pelo servidor depois.

Antes de apertar enviar, uma conferência final que não é passo, é hábito: um arquivo só, com nome sem acento e sem espaço, no formato que aquele campo publica, dentro da faixa de peso dos dois lados e dentro da faixa de dimensão. Se o campo tiver piso de dimensão, como os 400 x 400 do campo de foto do perfil ou os 250 x 250 do Perfil da Empresa, redimensionar para baixo demais recria o mesmo problema na outra ponta.

Cinco recusas que a busca chama pelo mesmo nome
O que você vê
O que realmente aconteceu
Como confirmar
A correção
"Formato de arquivo não suportado", logo ao escolher
A extensão está fora da lista publicada daquele campo
Compare a extensão com a lista da página do campo, não da plataforma
Converta uma vez para um formato da lista e envie de novo
O envio anda e falha no fim, sem motivo claro
O arquivo passou pelo filtro do navegador e foi barrado na leitura do servidor
Rode file no arquivo: a assinatura vai contradizer a extensão
Abra a imagem num editor e salve de verdade no formato certo
"Arquivo muito grande"
Peso acima do teto publicado daquele campo
Veja o tamanho em KB ou MB nas propriedades do arquivo
Salve com qualidade menor ou em JPEG, mantendo a dimensão
"Arquivo muito pequeno" ou recusa sem mensagem em campo com mínimo
Peso abaixo do piso publicado, coisa que existe e quase ninguém procura
Procure a palavra mínimo na página do campo e compare com o seu arquivo
Suba a qualidade, aumente a dimensão dentro da faixa ou salve em PNG
"Imagem pequena demais" mesmo com o arquivo pesando bem
Dimensão em pixels abaixo do piso, que é outra régua e independe do peso
Veja largura e altura nas propriedades, não o tamanho em KB
Gere ou exporte numa dimensão dentro da faixa publicada do campo
Sintomas colhidos na busca em português e nas perguntas relacionadas; causas e correções conferidas nas páginas oficiais de cada campo e na documentação da MDN sobre upload e tipos MIME, tudo lido em 02/09/2026.

O outro lado da parede: a foto do iPhone que não entra nem como referência

Até aqui o problema foi a saída. Ele existe igual na entrada, e a busca em português quase não trata disso: o arquivo que você usa como referência para gerar também precisa estar num contêiner que o outro lado leia.

A câmera do iPhone grava em HEIC por padrão. Na referência da edição de imagem da OpenAI, a lista publicada de entrada é literal: "each image should be a png, webp, or jpg file less than 50MB. You can provide up to 16 images" (cada imagem deve ser um arquivo png, webp ou jpg com menos de 50 MB, e dá para enviar até 16). HEIC e HEIF não estão nessa lista, o que é diferente de dizer que eles são bloqueados: é uma ausência na lista publicada, e é assim que ela deve ser lida.

O outro fornecedor faz o contrário. A documentação de entendimento de imagem do Gemini lista os tipos aceitos e inclui image/heic e image/heif ao lado de PNG, JPEG e WebP. Dois fornecedores, duas listas, o mesmo arquivo na sua mão. Mais uma vez, a lista pertence ao campo.

No fotoslinkedin isso é resolvido antes de o arquivo sair daqui. A rota de geração aceita jpeg, png, webp, heic e heif, com até 10 MB por arquivo e até 5 fotos por geração, e converte HEIC e HEIF para JPEG no servidor antes de mandar ao modelo. Tem um detalhe de implementação que vale para qualquer formulário: quando o navegador não declara o tipo do arquivo, o que acontece com HEIC mais do que gostaríamos, a verificação cai no nome e procura .heic ou .heif. É a única situação em que a extensão é a única informação disponível, e ela existe justamente porque o contêiner é novo demais para alguns navegadores.

Quando o leitor do outro lado não tem decodificador para HEIC, o sintoma é aquele "erro desconhecido" que a busca descreve. Reproduzi: converti um retrato para HEIC e a biblioteca de imagem do Python, sem o plugin de HEIF instalado, respondeu que não consegue identificar o arquivo, enquanto a função que decide pelo nome respondia image/heic sem hesitar. O nome era reconhecido, o conteúdo não. É uma demonstração do mecanismo com uma biblioteca, não a especificação de nenhuma plataforma.

O caminho publicado para parar de produzir o problema está na ajuda da Apple sobre HEIF e HEVC: "Abra Ajustes e toque em Câmera. Toque em Formatos e, em seguida, toque em Mais Compatível", e a partir daí as fotos novas passam a sair em JPEG. Para voltar ao arquivo menor, a mesma página manda escolher Alta Eficiência. Duas ressalvas: isso não converte nada do que já está na galeria, vale das próximas fotos em diante, e o ajuste é da câmera, então continua sendo você quem decide o formato de cada envio.

O que foi lido, e o que não foi medido

Todas as páginas oficiais citadas foram abertas em 02/09/2026. Nenhum upload real foi executado contra nenhuma plataforma: o que eu li foi a regra publicada de cada campo e o conteúdo dos arquivos. As páginas do CNPq foram modificadas pela última vez em 2008 e 2009.

Perguntas frequentes

01Por que a imagem que a IA me deu baixa em WebP?+
Porque o formato é um parâmetro da ferramenta, e não uma escolha sua dentro da conversa. A API de imagens da OpenAI publica png como padrão e jpeg e webp como opções, tudo selecionado por um campo chamado output_format. O gerador do fotoslinkedin está fixo em WebP, por decisão de código. Como a janela de conversa não expõe esse campo, você só descobre o contêiner depois de baixar o arquivo e conferir a assinatura dele.
02Renomear o arquivo de .webp para .jpg resolve?+
Não. Testei com o mesmo arquivo copiado para três nomes: file, sips e a biblioteca Pillow continuaram lendo WebP nos três. Só o que decide pelo nome mudou de opinião, e é justamente esse que não decide nada no fim. Renomear às vezes parece funcionar porque o arquivo atravessa o filtro do navegador, que é uma dica, e é recusado depois pelo servidor, que lê a assinatura do conteúdo.
03Converter para JPG estraga a foto?+
Pouco, e menos do que se costuma dizer. Medi o custo de converter na ordem errada em 8 retratos, e ele ficou entre 1,8% e 2,4% de erro a mais na imagem. O que cobra caro é reduzir a dimensão, e isso é outro assunto. As regras que sobram são converter uma vez só e nunca passar por JPEG quando a imagem precisa manter fundo transparente, porque o canal alfa não volta.
04PNG ou JPG: qual eu escolho?+
Depende do campo, e inclusive do piso de peso dele. No perfil profissional da OLX, que publica 240kb como mínimo, nenhum dos 18 retratos que medi passou em JPEG de qualidade 95, e o PNG passou em todos. No campo de foto do perfil do Linkedin e no Perfil da Empresa no Google, os dois formatos estão na lista publicada e servem. A regra é ler a página do campo antes de decidir, e não decidir por hábito.
05A foto do meu iPhone não sobe. É problema do aparelho?+
É do contêiner. A câmera grava em HEIC por padrão, e o HEIC não está na lista publicada de vários campos de foto nem na lista de entrada da edição de imagem da OpenAI, que aceita png, webp ou jpg. O caminho publicado pela Apple é abrir Ajustes, tocar em Câmera, depois em Formatos e escolher Mais Compatível, o que faz as próximas fotos saírem em JPEG. As que já estão na galeria continuam como estão.
↘ Do lado de cá do contrato

O retrato pronto, e o passo de conversão que continua sendo seu

Você envia de 1 a 5 fotos e escolhe estilo, enquadramento, expressão e roupa. A saída sai em 1024x1024, 1024x1536 ou 1536x1024, gravada em WebP: a conversão para o formato do destino continua com você.

Gerar meu retrato

Resumo e próximos passos

Cinco frases resumem o artigo. O formato do arquivo é um parâmetro da ferramenta, não uma linha do seu pedido. A recusa é de lista, não de qualidade: um arquivo impecável no contêiner errado cai igual a um arquivo ruim. A mesma plataforma publica listas diferentes por campo, e uma delas depende do sistema operacional do aparelho. O teto de peso quase nunca é o problema, e o piso é, quando existe. E a extensão é rótulo: os doze primeiros bytes é que são o arquivo.

O que fazer agora, em ordem: abra a página do campo exato onde a foto vai morar, recorte na dimensão que ele publica, converta uma vez só para um formato da lista dele e confira a assinatura do arquivo antes de enviar. Se o campo tiver mínimo de peso, confira o tamanho depois de salvar, e não antes.

Para revisar como o pedido é montado antes de o arquivo existir, o ponto de partida é o pilar que abre o prompt de foto em componentes. Para a régua específica do campo de foto do perfil, com peso e dimensão daquele destino, vale a conferência dedicada ao campo do Linkedin. E se a sua saída veio com menos imagens do que você pediu, a restrição irmã desta, do lado da quantidade trata do outro limite que o texto do pedido não vence.

PM
Autor · Fundador, fotoslinkedin.com.br

Pedro Mota

Pedro Mota é fundador da fotoslinkedin.com.br, ferramenta de IA que transforma uma selfie em foto profissional pronta pro Linkedin em 60 segundos. Antes, atuou com design e produto digital. Hoje vê centenas de fotos por semana e escreve sobre o que funciona pra carreira no Brasil em 2026.

Continue lendo.

Ver todos →
Newsletter · semanal

Um e-mail por semana sobre
presença no Linkedin.

Sem spam, descadastre quando quiser.