API de edição de imagens · Editor em camadas
Edição de imagens em camadas, no manual ou por API.
O Nordic Layers é um editor de imagens que roda no seu navegador e uma API REST que executa as mesmas edições a partir de JSON. Camadas, modos de mesclagem, máscaras, ajustes e texto em qualquer alfabeto: crie um modelo uma vez e gere mil variações dele.
- 63operações na API
- 20modos de mesclagem
- 16ajustes e filtros
- 12famílias de fontes, mais de 20 alfabetos
- 0 €nas prévias, em todos os planos
Um editor de camadas de verdade, não um preenchedor de modelos
A maioria das APIs geradoras de banners troca um texto e uma imagem em um design fixo. O Nordic Layers entrega as ferramentas de um editor de imagens de desktop, e cada uma delas é uma chamada de API.
-
Camadas e modos de mesclagem
Camadas de imagem, texto, forma, preenchimento de cor, gradiente linear ou radial e camadas de ajuste. Vinte modos de mesclagem, de multiplicar e tela a luz suave, cor e luminosidade, com opacidade em cada camada.
-
Ajustes não destrutivos
Níveis, curvas, matiz/saturação, exposição, brilho/contraste, mapa de gradiente, preto e branco, balanço de cores, inverter e granulação. Altere ou remova a qualquer momento: os pixels originais nunca são tocados.
-
Máscaras e recorte
Máscaras de camada a partir de um retângulo, uma elipse, um degradê ou outra imagem, com suavização e inversão. Recorte uma foto no formato da camada abaixo, exatamente como em um editor de desktop.
-
Texto em todos os alfabetos
Árabe e urdu da direita para a esquerda, híndi, bengali e tâmil com a formatação correta, chinês, japonês e coreano. Largura da caixa, alinhamento, entrelinha, negrito e itálico em 12 famílias de fontes.
-
Filtros e efeitos de camada
Desfoque gaussiano e de movimento, ruído, vinheta, nitidez e pixelização. Sombra, contorno, brilho externo e sobreposição de cor em qualquer camada, inclusive nas de texto.
-
O mesmo documento, duas formas de entrar
O que você monta no editor do navegador é um documento JSON que a API pode abrir, alterar e exportar, e vice-versa. Designers desenham o modelo, o código preenche.
Como funciona a API de edição de imagens
Um projeto é um documento JSON de camadas. Você envia operações, confere as prévias gratuitas e exporta quando o resultado estiver bom.
Envie suas imagens
Cada foto, logotipo ou imagem de produto sobe em uma requisição e volta com um ID que você pode colocar em qualquer projeto.
Execute operações
Envie uma operação ou uma lista de passos: adicionar uma camada, definir o texto, aplicar níveis, adicionar uma máscara. Cada mudança é salva como uma revisão que você pode desfazer ou refazer.
Exporte
Baixe PNG, JPEG ou WebP em qualquer escala. Adicione passos à chamada de exportação para mudar o texto ou a foto só naquele arquivo, sem mexer no modelo.
// POST /v1/projects/{id}/run
{
"steps": [
{"op": "layer.addImage", "asset_id": "photo_lake", "fitCanvas": "cover", "name": "Photo"},
{"op": "adjust.levels", "layer": "Photo", "black": 8, "white": 245, "gamma": 1.05},
{"op": "text.add", "content": "Slow mornings", "fontName": "Georgia", "fontSize": 92, "color": "#FFFFFF"}
]
}Exemplos renderizados pelo motor real
Cada imagem abaixo saiu do motor do Nordic Layers a partir do JSON ao lado. As fotos são imagens de teste; asset_id é o ID que POST /v1/assets devolve a cada upload.
-

Tela 1080×1920 · 7 camadas
Story em árabe
Um story 9:16 com texto árabe formatado da direita para a esquerda, um fundo desfocado e a foto recortada em um cartão arredondado com uma máscara de recorte.
Mostrar o JSON que gerou a imagem
// POST /v1/projects { "name": "Sale story (Arabic)", "width": 1080, "height": 1920, "background": "#120A1E", "steps": [ {"op": "layer.addImage", "asset_id": "photo_ribbons", "fitCanvas": "cover", "name": "Backdrop"}, {"op": "filter.gaussianBlur", "layer": "Backdrop", "radius": 28}, {"op": "adjust.brightnessContrast", "layer": "Backdrop", "brightness": -20, "contrast": -10}, {"op": "shape.add", "shape": "rectangle", "rect": [90, 230, 900, 1000], "cornerRadius": 48, "color": "#FFFFFF", "name": "Card"}, {"op": "effects.set", "layer": "Card", "shadow": {"color": "#000000", "opacity": 0.55, "angle": 90, "distance": 24, "size": 60}}, {"op": "layer.addImage", "asset_id": "photo_ribbons", "rect": [90, 230, 900, 1000], "fit": "cover", "name": "Photo"}, {"op": "layer.clip", "layer": "Photo"}, {"op": "text.add", "content": "تخفيضات نهاية الموسم", "fontName": "Segoe UI", "fontSize": 92, "bold": true, "color": "#FFFFFF", "alignment": "right", "boxWidth": 900, "origin": [90, 1310], "name": "Headline"}, {"op": "text.add", "content": "خصم حتى ٤٠٪ على المجموعة كاملة", "fontName": "Segoe UI", "fontSize": 50, "color": "#E9D8FF", "alignment": "right", "boxWidth": 900, "origin": [90, 1460], "name": "Offer"}, {"op": "shape.add", "shape": "rectangle", "rect": [610, 1610, 380, 110], "cornerRadius": 55, "color": "#FFFFFF", "name": "Button"}, {"op": "text.add", "content": "تسوّق الآن", "fontName": "Segoe UI", "fontSize": 46, "bold": true, "color": "#120A1E", "alignment": "center", "boxWidth": 380, "origin": [610, 1628], "name": "Button label"} ] } -

Tela 1280×720 · 4 camadas
Thumbnail de vídeo
Letras grandes com contorno e sombra sobre uma foto espelhada, ampliada e clareada, e uma etiqueta girada. O tipo de thumbnail que você faz toda semana.
Mostrar o JSON que gerou a imagem
// POST /v1/projects { "name": "Tutorial thumbnail", "width": 1280, "height": 720, "background": "#0D1117", "steps": [ {"op": "layer.addImage", "asset_id": "photo_glow", "fitCanvas": "cover", "name": "Photo"}, {"op": "transform.flip", "layer": "Photo", "axis": "horizontal"}, {"op": "transform.scale", "layer": "Photo", "factor": 1.4}, {"op": "transform.move", "layer": "Photo", "dx": 240}, {"op": "adjust.exposure", "layer": "Photo", "exposure": 0.4}, {"op": "text.add", "content": "COLOUR\nGRADING", "fontName": "Impact", "fontSize": 168, "leading": 0.98, "color": "#FFFFFF", "origin": [70, 110], "name": "Title"}, {"op": "effects.set", "layer": "Title", "stroke": {"color": "#0D1117", "size": 10, "position": "outside"}, "shadow": {"color": "#000000", "opacity": 0.7, "angle": 120, "distance": 14, "size": 20}}, {"op": "shape.add", "shape": "rectangle", "rect": [70, 520, 470, 92], "cornerRadius": 14, "color": "#FFCC00", "name": "Tag"}, {"op": "transform.rotate", "layer": "Tag", "angle": -3}, {"op": "text.add", "content": "IN 5 MINUTES", "fontName": "Impact", "fontSize": 66, "color": "#0D1117", "alignment": "center", "boxWidth": 470, "origin": [70, 526], "name": "Tag text"}, {"op": "transform.rotate", "layer": "Tag text", "angle": -3} ] } -

Tela 1200×630 · 7 camadas
Prévia de link Open Graph
Um cartão de 1200×630 para um post de blog: fundo em degradê, uma foto que se dissolve com uma máscara de degradê e uma camada de ajuste de mapa de gradiente por cima de tudo.
Mostrar o JSON que gerou a imagem
// POST /v1/projects { "name": "Blog link preview", "width": 1200, "height": 630, "background": "#1E3A5F", "steps": [ {"op": "layer.addFill", "name": "Backdrop", "gradient": {"colors": ["#24476F", "#0F2238"], "angle": 120}}, {"op": "layer.addImage", "asset_id": "photo_shore", "rect": [560, 0, 640, 630], "fit": "cover", "name": "Photo"}, {"op": "mask.add", "layer": "Photo", "from": [900, 315], "to": [580, 315]}, {"op": "adjustmentLayer.add", "kind": "gradientMap", "shadows": "#0F2238", "highlights": "#E8F1FA", "name": "Duotone", "opacity": 0.35}, {"op": "text.add", "content": "THE NORDIC NOTEBOOK", "fontName": "Segoe UI", "fontSize": 24, "bold": true, "color": "#64B5F6", "origin": [72, 96], "name": "Kicker"}, {"op": "text.add", "content": "Five quiet lakes for a long weekend", "fontName": "Georgia", "fontSize": 62, "color": "#FFFFFF", "boxWidth": 560, "leading": 1.12, "origin": [70, 150], "name": "Title"}, {"op": "shape.add", "shape": "ellipse", "rect": [72, 470, 64, 64], "color": "#64B5F6", "name": "Avatar"}, {"op": "text.add", "content": "A. Writer · 6 min read", "fontName": "Segoe UI", "fontSize": 26, "color": "#D6E2EF", "origin": [156, 484], "name": "Byline"} ] } -

Tela 1080×1080 · 5 camadas
Um modelo, todos os idiomas
Um projeto, quatro exportações. Cada chamada de exportação leva dois passos text.set, então inglês, espanhol, híndi e japonês saem do mesmo design sem salvar cópias.
Mostrar o JSON que gerou a imagem
// POST /v1/projects { "name": "Collection launch", "width": 1080, "height": 1080, "background": "#1E3A5F", "steps": [ {"op": "layer.addImage", "asset_id": "photo_dunes", "fitCanvas": "cover", "name": "Photo"}, {"op": "adjustmentLayer.add", "kind": "gradientMap", "shadows": "#1E3A5F", "highlights": "#F6E7D8", "name": "Brand tone", "opacity": 0.55}, {"op": "layer.addFill", "color": "#0F2238", "name": "Shade", "opacity": 0.75}, {"op": "mask.add", "layer": "Shade", "from": [540, 0], "to": [540, 520]}, {"op": "text.add", "content": "New collection", "fontName": "Segoe UI", "fontSize": 96, "bold": true, "color": "#FFFFFF", "alignment": "center", "boxWidth": 960, "origin": [60, 120], "name": "Title"}, {"op": "text.add", "content": "Available from 1 November", "fontName": "Segoe UI", "fontSize": 54, "bold": true, "color": "#D6E2EF", "alignment": "center", "boxWidth": 960, "origin": [60, 250], "name": "Subtitle"} ] } // POST /v1/projects/{id}/export (es) { "format": "webp", "steps": [ {"op": "text.set", "layer": "Title", "content": "Nueva colección"}, {"op": "text.set", "layer": "Subtitle", "content": "Disponible desde el 1 de noviembre"} ] } // POST /v1/projects/{id}/export (hi) { "format": "webp", "steps": [ {"op": "text.set", "layer": "Title", "content": "नया कलेक्शन"}, {"op": "text.set", "layer": "Subtitle", "content": "1 नवंबर से उपलब्ध"} ] } // POST /v1/projects/{id}/export (ja) { "format": "webp", "steps": [ {"op": "text.set", "layer": "Title", "content": "新コレクション"}, {"op": "text.set", "layer": "Subtitle", "content": "11月1日から発売"} ] }
Uma alternativa ao Photoshop no navegador
Abra o editor em qualquer navegador moderno e trabalhe com camadas do jeito que você já conhece: painel de camadas, modos de mesclagem, máscaras, ajustes e efeitos. Nada para instalar e sem plug-ins.
- Desfazer e refazer a cada mudança, no editor e pela API.
- Prévias grátis enquanto você trabalha; só as exportações contam no seu plano.
- Exporte PNG, JPEG ou WebP em qualquer escala, ou uma única camada isolada.
- Seus projetos ficam salvos na sua conta e abrem do mesmo jeito na API.
-
Ruleshape
-
Headlinetext
-
Kickertext
-
Shadefill90%mask:gradient
-
PhotoimagelevelshueSaturationvignette
Para que você pode usar
-
Imagens de produto em lote
Banners e imagens de catálogo para cada produto: um modelo, com a foto e o preço trocados por um script.
-
Posts e stories para redes sociais
Posts e stories em todos os idiomas a partir de um único design, com o texto formatado corretamente em árabe, híndi ou japonês.
-
Thumbnails de vídeo
Um modelo de thumbnail por canal ou série: mude o título e a foto, mantenha o estilo.
-
Imagens Open Graph
Cartões de prévia de link gerados quando você publica uma página, com o título do artigo.
-
Variações de marketing por idioma
A mesma campanha em cada mercado: texto traduzido, preços locais, outra foto, tudo a partir de um projeto.
-
Agentes e automações
n8n, Make, Zapier, um script cron ou um agente de IA: qualquer coisa que envie uma requisição HTTP com JSON pode editar imagens.
-
Edição no navegador
Retoque uma foto, monte um layout ou ajuste um modelo manualmente quando precisar, sem instalar um editor.
Ficha técnica
- Camadas
- Imagem, texto, forma (retângulo, elipse, linha), preenchimento de cor, gradiente linear ou radial, camada de ajuste
- Composição
- 20 modos de mesclagem, opacidade, máscaras de recorte, máscaras de camada com suavização e inversão
- Ajustes
- Níveis, curvas, matiz/saturação, exposição, brilho/contraste, mapa de gradiente, preto e branco, balanço de cores, inverter, granulação
- Filtros
- Desfoque gaussiano, desfoque de movimento, ruído, vinheta, nitidez, pixelização
- Efeitos de camada
- Sombra, contorno, brilho externo, sobreposição de cor
- Texto
- 12 famílias de fontes, mais de 20 alfabetos com escrita da direita para a esquerda e formatação complexa
- Exportação
- PNG, JPEG ou WebP, escala de até 8×, qualidade e cor de fundo para JPEG
- API
- REST sobre HTTPS, JSON na entrada e na saída, chaves de API Bearer, até 200 passos por chamada
Planos e preços
Comece de graça, sem cartão. As prévias são sempre gratuitas; só as exportações contam. Preços sem impostos, cobrados em libras no Reino Unido e em euros nos demais lugares.
Free
0 € por mês
Grátis, sem cartão
- 50 renders por mês
- Tela de até 4 megapixels
- Até 10 camadas por projeto
- 3 projetos salvos
- 250 MB de armazenamento
- Exportações guardadas por 3 dias
- Chaves de API: 1
- Renders simultâneos: 1
- Pequena marca d'água nas exportações
Starter
19 € por mês
£17 UK
- 1,000 renders por mês
- Tela de até 12 megapixels
- Até 30 camadas por projeto
- 50 projetos salvos
- 2 GB de armazenamento
- Exportações guardadas por 14 dias
- Chaves de API: 2
- Renders simultâneos: 2
- Sem marca d'água
Pro
49 € por mês
£43 UK
- 5,000 renders por mês
- Tela de até 25 megapixels
- Até 100 camadas por projeto
- 500 projetos salvos
- 10 GB de armazenamento
- Exportações guardadas por 30 dias
- Chaves de API: 5
- Renders simultâneos: 4
- Sem marca d'água
Business
129 € por mês
£112 UK
- 20,000 renders por mês
- Tela de até 50 megapixels
- Até 200 camadas por projeto
- 5,000 projetos salvos
- 50 GB de armazenamento
- Exportações guardadas por 60 dias
- Chaves de API: 20
- Renders simultâneos: 8
- Sem marca d'água
- Renderização prioritária
Um render conta 1 até 4 megapixels, e mais 1 para cada 4 megapixels iniciados acima disso.
Precisa de mais em um mês? Uma recarga de 1,000 renders custa 25 € (£22 UK), válida por 90 dias, em qualquer plano pago.
Sem surpresas na fatura: quando os renders de um plano acabam, as exportações param até você mudar de plano ou comprar uma recarga.
Perguntas frequentes
O Nordic Layers é uma alternativa ao Photoshop?
Para composição em camadas, sim: camadas, modos de mesclagem, máscaras, ajustes, filtros e efeitos de camada, no navegador e sem instalar nada. Não é um pacote de pintura ou retoque fotográfico: não há pincéis nem ferramentas de correção. O ponto forte é que toda edição também pode ser executada pela API.
O que a API de edição de imagens faz que uma API de modelos não faz?
APIs de modelos substituem um texto ou uma imagem em um design fixo. Aqui todas as operações do editor estão disponíveis: você pode adicionar uma máscara, mudar os níveis de uma foto, aplicar um modo de mesclagem ou montar o design inteiro do zero em JSON. A lista está na documentação da API.
Como um render é contado?
As prévias são gratuitas. Uma exportação conta como um render até 4 megapixels, e mais um para cada 4 megapixels iniciados acima disso, então um post de 1080×1080 conta um e uma imagem de 4000×3000 conta três.
Posso gerar banners em lote?
Sim. Monte o modelo uma vez e chame o endpoint de exportação com alguns passos por variação (um text.set, um layer.setImage): cada chamada devolve um arquivo. O modelo em si nunca muda.
Funciona com n8n, Make, Zapier ou um agente de IA?
Sim. É uma API HTTP simples, com corpo JSON e uma chave Bearer, então qualquer ferramenta que envie uma requisição HTTP pode usá-la. O catálogo de operações é público em GET /v1/ops, o que ajuda os agentes a descobrir o que podem chamar.
Em quais idiomas posso escrever nas imagens?
Latim, cirílico e grego, árabe e urdu da direita para a esquerda, devanágari, bengali, tâmil, telugo e outras escritas indianas com formatação correta, chinês, japonês e coreano. Uma linha que mistura alfabetos usa uma fonte adequada para cada trecho.
Existe um plano gratuito?
Sim, sem cartão. Ele traz uma pequena marca d'água nas exportações e os limites listados em Preços. Os planos pagos removem a marca d'água.
De onde vêm os nomes das operações?
Eles seguem a API de automação do Compositor, um editor de imagens de código aberto (MIT) para macOS criado por Robbie Tilton, então scripts escritos para ele leem do mesmo jeito aqui. O Nordic Layers é um produto web independente, criado pela Nordic Byte LTD.
Crie sua primeira imagem em poucos minutos
Crie uma conta gratuita, abra o editor ou pegue uma chave de API e exporte sua primeira imagem. Dúvidas sobre volume ou um uso específico? Escreva para nós e respondemos em até um dia útil.
info@nordicbyte.co.uk

