Skip to content

Otimização de Imagens

Transforme e otimize imagens servidas do IPFS em tempo real usando parâmetros de consulta. Este é um endpoint público que não requer autenticação.

Otimizar Imagem

GET /image/:cid

Retorna a imagem no CID fornecido, transformada de acordo com os parâmetros de consulta fornecidos. Se nenhum parâmetro for fornecido, a requisição redireciona para a imagem original.

Parâmetros de caminho

ParâmetroTipoObrigatórioDescrição
cidstringSimO identificador de conteúdo IPFS da imagem.

Parâmetros de consulta

ParâmetroTipoPadrãoDescrição
wnumberLargura de saida em pixels. Máximo 4096.
hnumberAltura de saida em pixels. Máximo 4096.
formatstringFormato de saida: webp, jpeg, png ou avif.
qualitynumber80Qualidade de compressão, 1-100. Aplica-se apenas quando format está definido.
fitstringcoverComo a imagem deve se ajustar as dimensoes: cover, contain, fill, inside ou outside.

Modos de ajuste

ModoComportamento
coverRecortar para cobrir ambas as dimensoes (padrão).
containAjustar dentro de ambas as dimensoes, preservando a proporção. Pode deixar espaço vazio.
fillEsticar para preencher ambas as dimensoes exatamente. Pode distorcer a imagem.
insideComo contain, mas só reduz, nunca aumenta.
outsideComo cover, mas só reduz, nunca aumenta.

Exemplos de requisições

Redimensionar para 400px de largura, converter para WebP:

bash
curl "https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=400&format=webp"

Redimensionar e recortar para miniatura 200x200 como JPEG com 60% de qualidade:

bash
curl "https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=200&h=200&format=jpeg&quality=60&fit=cover"

Uso em HTML

Referencie imagens otimizadas diretamente em tags img:

html
<img
  src="https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=800&format=webp&quality=75"
  alt="Optimized IPFS image"
/>

Sirva diferentes tamanhos com srcset:

html
<img
  srcset="
    https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=400&format=webp 400w,
    https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=800&format=webp 800w,
    https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=1200&format=webp 1200w
  "
  sizes="(max-width: 600px) 400px, (max-width: 1000px) 800px, 1200px"
  src="https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=800&format=webp"
  alt="Responsive IPFS image"
/>

Cache

As respostas são servidas com cabeçalhos de cache imutáveis. Como o conteúdo IPFS e endereçado por conteúdo, o mesmo CID com os mesmos parâmetros sempre produz a mesma saida. Navegadores e CDNs podem armazenar essas respostas em cache indefinidamente.

Disponibilidade

A otimização de imagens está disponível em todos os planos, incluindo o plano gratuito Dharma.