Pular para o conteúdo

Avatars

Imagens prontas: iniciais, bandeiras, ícones de navegador e de cartão, favicons e QR codes.

Classe Avatars: 11 métodos (11 no @owbase/web, 11 no @owbase/node). Os exemplos usam a forma de objeto dos parâmetros; troque os valores entre < e > pelos seus.

Obter ícone do navegador

SDK: @owbase/web e @owbase/node

Mostra aos seus usuários o ícone de cada navegador. O argumento code recebe o código do navegador como ele aparece no endpoint GET /account/sessions do usuário. Use os argumentos width, height e quality para mudar a saída.

Quando uma dimensão é informada e a outra é 0, a imagem é redimensionada mantendo a proporção. Se as duas dimensões forem 0, a API devolve a imagem na qualidade original. Sem dimensões, a imagem devolvida tem o tamanho padrão de 100x100px.

Parâmetro Tipo Obrigatório Descrição
code Browser sim Código do navegador. Valores: aa, an, ch, ci, cm, cr, ff, sf, mf, ps, oi, om, op, on.
width number não Largura da imagem. Informe um inteiro de 0 a 2000. O padrão é 100.
height number não Altura da imagem. Informe um inteiro de 0 a 2000. O padrão é 100.
quality number não Qualidade da imagem. Informe um inteiro de 0 a 100. O padrão é manter a qualidade original da imagem.

Acesso: chave de API com o escopo avatars.read ou sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Avatars, Browser } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const avatars = new Avatars(client);
const result = avatars.getBrowser({
code: Browser.AvantBrowser,
width: 0, // opcional
height: 0, // opcional
quality: -1, // opcional
});
console.log(result);
@owbase/node
import { Client, Avatars, Browser } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const avatars = new Avatars(client);
const result = await avatars.getBrowser({
code: Browser.AvantBrowser,
width: 0, // opcional
height: 0, // opcional
quality: -1, // opcional
});

Obter ícone de cartão de crédito

SDK: @owbase/web e @owbase/node

Devolve o ícone da bandeira do cartão de crédito pedida. Use os argumentos width, height e quality para mudar a saída.

Quando uma dimensão é informada e a outra é 0, a imagem é redimensionada mantendo a proporção. Se as duas dimensões forem 0, a API devolve a imagem na qualidade original. Sem dimensões, a imagem devolvida tem o tamanho padrão de 100x100px.

Parâmetro Tipo Obrigatório Descrição
code CreditCard sim Código da bandeira do cartão. Valores possíveis: amex, argencard, cabal, cencosud, diners, discover, elo, hipercard, jcb, mastercard, naranja, targeta-shopping, unionpay, visa, mir, maestro, rupay. Valores: amex, argencard, cabal, cencosud, diners, discover, elo, hipercard, jcb, mastercard, naranja, targeta-shopping, unionpay, visa, mir, maestro, rupay.
width number não Largura da imagem. Informe um inteiro de 0 a 2000. O padrão é 100.
height number não Altura da imagem. Informe um inteiro de 0 a 2000. O padrão é 100.
quality number não Qualidade da imagem. Informe um inteiro de 0 a 100. O padrão é manter a qualidade original da imagem.

Acesso: chave de API com o escopo avatars.read ou sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Avatars, CreditCard } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const avatars = new Avatars(client);
const result = avatars.getCreditCard({
code: CreditCard.AmericanExpress,
width: 0, // opcional
height: 0, // opcional
quality: -1, // opcional
});
console.log(result);
@owbase/node
import { Client, Avatars, CreditCard } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const avatars = new Avatars(client);
const result = await avatars.getCreditCard({
code: CreditCard.AmericanExpress,
width: 0, // opcional
height: 0, // opcional
quality: -1, // opcional
});

Obter favicon

SDK: @owbase/web e @owbase/node

Busca o ícone de favoritos (favicon) da URL de qualquer site.

Este endpoint não segue redirecionamentos HTTP.

Parâmetro Tipo Obrigatório Descrição
url string sim URL do site de onde buscar o favicon.

Acesso: chave de API com o escopo avatars.read ou sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Avatars } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const avatars = new Avatars(client);
const result = avatars.getFavicon({
url: 'https://example.com',
});
console.log(result);
@owbase/node
import { Client, Avatars } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const avatars = new Avatars(client);
const result = await avatars.getFavicon({
url: 'https://example.com',
});

Obter bandeira do país

SDK: @owbase/web e @owbase/node

Mostra aos seus usuários o ícone da bandeira de cada país. O argumento code recebe o código do país com 2 letras. Use os argumentos width, height e quality para mudar a saída. Os códigos de país seguem o padrão ISO 3166-1.

Quando uma dimensão é informada e a outra é 0, a imagem é redimensionada mantendo a proporção. Se as duas dimensões forem 0, a API devolve a imagem na qualidade original. Sem dimensões, a imagem devolvida tem o tamanho padrão de 100x100px.

Parâmetro Tipo Obrigatório Descrição
code Flag sim Código do país, no formato ISO Alpha-2. Valores: af, ao, al, ad, ae, ar, am, ag, au, at, az, bi, be, bj, bf, bd, bg, bh, bs, ba, by, bz, bo, br, bb, bn, bt, bw, cf, ca, ch, cl, cn, ci, cm, cd, cg, co, km, cv, cr, cu, cy, cz, de, dj, dm, dk, do, dz, ec, eg, er, es, ee, et, fi, fj, fr, fm, ga, gb, ge, gh, gn, gm, gw, gq, gr, gd, gt, gy, hn, hr, ht, hu, id, in, ie, ir, iq, is, il, it, jm, jo, jp, kz, ke, kg, kh, ki, kn, kr, kw, la, lb, lr, ly, lc, li, lk, ls, lt, lu, lv, ma, mc, md, mg, mv, mx, mh, mk, ml, mt, mm, me, mn, mz, mr, mu, mw, my, na, ne, ng, ni, nl, no, np, nr, nz, om, pk, pa, pe, ph, pw, pg, pl, pf, kp, pt, py, qa, ro, ru, rw, sa, sd, sn, sg, sb, sl, sv, sm, so, rs, ss, st, sr, sk, si, se, sz, sc, sy, td, tg, th, tj, tm, tl, to, tt, tn, tr, tv, tz, ug, ua, uy, us, uz, va, vc, ve, vn, vu, ws, ye, za, zm, zw.
width number não Largura da imagem. Informe um inteiro de 0 a 2000. O padrão é 100.
height number não Altura da imagem. Informe um inteiro de 0 a 2000. O padrão é 100.
quality number não Qualidade da imagem. Informe um inteiro de 0 a 100. O padrão é manter a qualidade original da imagem.

Acesso: chave de API com o escopo avatars.read ou sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Avatars, Flag } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const avatars = new Avatars(client);
const result = avatars.getFlag({
code: Flag.Afghanistan,
width: 0, // opcional
height: 0, // opcional
quality: -1, // opcional
});
console.log(result);
@owbase/node
import { Client, Avatars, Flag } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const avatars = new Avatars(client);
const result = await avatars.getFlag({
code: Flag.Afghanistan,
width: 0, // opcional
height: 0, // opcional
quality: -1, // opcional
});

Obter imagem de uma URL

SDK: @owbase/web e @owbase/node

Busca a imagem de uma URL remota e recorta no tamanho que você quiser. É útil para recortar e mostrar imagens remotas no seu app, ou para garantir que uma imagem de terceiros seja servida corretamente por TLS.

Quando uma dimensão é informada e a outra é 0, a imagem é redimensionada mantendo a proporção. Se as duas dimensões forem 0, a API devolve a imagem na qualidade original. Sem dimensões, a imagem devolvida tem o tamanho padrão de 400x400px.

Este endpoint não segue redirecionamentos HTTP.

Parâmetro Tipo Obrigatório Descrição
url string sim URL da imagem a recortar.
width number não Nova largura da imagem. Informe um inteiro de 0 a 2000. O padrão é 400.
height number não Nova altura da imagem. Informe um inteiro de 0 a 2000. O padrão é 400.

Acesso: chave de API com o escopo avatars.read ou sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Avatars } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const avatars = new Avatars(client);
const result = avatars.getImage({
url: 'https://example.com',
width: 0, // opcional
height: 0, // opcional
});
console.log(result);
@owbase/node
import { Client, Avatars } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const avatars = new Avatars(client);
const result = await avatars.getImage({
url: 'https://example.com',
width: 0, // opcional
height: 0, // opcional
});

Obter iniciais do usuário

SDK: @owbase/web e @owbase/node

Mostra no seu site ou app um avatar com as iniciais do usuário. Por padrão, esta rota usa as iniciais do nome ou do e-mail do usuário logado. Você pode trocar o nome passando o parâmetro ‘name’. Sem nome e sem usuário logado, devolve um avatar vazio.

Use os parâmetros color e background para mudar as cores do avatar. Por padrão, um tema aleatório é escolhido. O tema aleatório fica fixo para as iniciais do usuário: ao recarregar, as mesmas iniciais sempre recebem o mesmo tema.

Quando uma dimensão é informada e a outra é 0, a imagem é redimensionada mantendo a proporção. Se as duas dimensões forem 0, a API devolve a imagem na qualidade original. Sem dimensões, a imagem devolvida tem o tamanho padrão de 100x100px.

Parâmetro Tipo Obrigatório Descrição
name string não Nome completo. Se ficar vazio, vale o nome ou o e-mail do usuário atual. Tamanho máximo: 128 caracteres.
width number não Largura da imagem. Informe um inteiro de 0 a 2000. O padrão é 100.
height number não Altura da imagem. Informe um inteiro de 0 a 2000. O padrão é 100.
background string não Muda a cor de fundo. Por padrão, uma cor aleatória é escolhida e fica fixa para o nome informado.

Acesso: chave de API com o escopo avatars.read ou sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Avatars } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const avatars = new Avatars(client);
const result = avatars.getInitials({
name: '<NAME>', // opcional
width: 0, // opcional
height: 0, // opcional
background: 'FFFFFF', // opcional
});
console.log(result);
@owbase/node
import { Client, Avatars } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const avatars = new Avatars(client);
const result = await avatars.getInitials({
name: '<NAME>', // opcional
width: 0, // opcional
height: 0, // opcional
background: 'FFFFFF', // opcional
});

Obter foto do usuário

SDK: @owbase/web e @owbase/node

Devolve a melhor foto de perfil disponível de um usuário. O endpoint tenta cada fonte em ordem de prioridade e devolve o primeiro resultado que der certo: foto própria enviada (veja avatars.updatePhoto), foto da identidade OAuth2, Gravatar, Libravatar, iniciais do Owbase, imagem estática padrão.

Passar userId — current() para o usuário autenticado — resolve a foto com tudo o que se sabe desse usuário: fotos das identidades, e-mail e nome. Um emailHash ou name explícito substitui só esse valor, e as demais fontes do usuário continuam na cadeia. Sem userId, passar emailHash e/ou name resolve o avatar só com esses valores: o hash é procurado no Gravatar e no Libravatar, o nome vira iniciais, e o usuário da sessão fica fora da cadeia, para que a foto dele nunca encubra o avatar pedido. Sem nenhum parâmetro, a foto é a do usuário autenticado. E-mails só são aceitos já em hash, para que nenhum endereço vá parar numa URL.

Parâmetro Tipo Obrigatório Descrição
width number não Largura da imagem de saída, em pixels. Informe um inteiro de 0 a 2000. O padrão é 256.
height number não Altura da imagem de saída, em pixels. Informe um inteiro de 0 a 2000. O padrão é 256.
quality number não Qualidade da imagem de saída, de 0 a 100. O padrão é 100.
output string não Formato da imagem de saída. O padrão é ‘png’.
rating string não Classificação máxima da imagem buscada no Gravatar/Libravatar. O padrão é ‘g’.
userId string não ID do usuário cuja foto será resolvida. Passe ‘current()’ para o usuário autenticado. Se omitido, o usuário da sessão só é usado quando nem emailHash nem name são passados.
emailHash string não Hash SHA256 do e-mail em minúsculas e sem espaços nas pontas, para procurar no Gravatar e no Libravatar no lugar do e-mail do próprio usuário. Envie o hash, nunca o endereço.
name string não Nome para gerar as iniciais no lugar do nome do próprio usuário. Tamanho máximo: 128 caracteres.

Acesso: chave de API com o escopo avatars.read ou sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Avatars } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const avatars = new Avatars(client);
const result = avatars.getPhoto({
width: 0, // opcional
height: 0, // opcional
quality: 0, // opcional
output: 'png', // opcional
rating: 'g', // opcional
userId: 'current()', // opcional
emailHash: '<EMAIL_HASH>', // opcional
name: '<NAME>', // opcional
});
console.log(result);
@owbase/node
import { Client, Avatars } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const avatars = new Avatars(client);
const result = await avatars.getPhoto({
width: 0, // opcional
height: 0, // opcional
quality: 0, // opcional
output: 'png', // opcional
rating: 'g', // opcional
userId: 'current()', // opcional
emailHash: '<EMAIL_HASH>', // opcional
name: '<NAME>', // opcional
});

Atualizar foto

SDK: @owbase/web e @owbase/node

Atualiza a foto de perfil do usuário autenticado. A imagem enviada tem prioridade sobre todas as outras fontes de foto, inclusive fotos de identidades OAuth2, Gravatar e Libravatar. Atualizar uma foto já personalizada substitui a anterior. A imagem pode ter no máximo 5MB e vai num único pedido.

Parâmetro Tipo Obrigatório Descrição
file File (no node, também InputFile) sim Arquivo de imagem binário de no máximo 5MB. Tipos aceitos: png, jpg, jpeg e webp.
onProgress (progress: UploadProgress) => void não Callback chamado depois de cada parte enviada, com o progresso do envio ($id, progresso em porcentagem, sizeUploaded, chunksTotal, chunksUploaded).

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Avatars } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const avatars = new Avatars(client);
const result = await avatars.updatePhoto({
file: document.getElementById('uploader').files[0],
});
console.log(result);
@owbase/node
import { Client, Avatars } from '@owbase/node';
import { InputFile } from '@owbase/node/file';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const avatars = new Avatars(client);
const result = await avatars.updatePhoto({
file: InputFile.fromPath('/path/to/file', 'filename'),
});

Excluir foto

SDK: @owbase/web e @owbase/node

Exclui a foto de perfil do usuário autenticado e guarda no lugar dela a imagem estática padrão. A partir daí, essa imagem padrão é a foto do usuário e tem prioridade sobre todas as outras fontes de foto — fotos de identidades OAuth2, Gravatar, Libravatar e iniciais — até uma nova foto ser enviada com avatars.updatePhoto.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Avatars } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const avatars = new Avatars(client);
const result = await avatars.deletePhoto();
console.log(result);
@owbase/node
import { Client, Avatars } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const avatars = new Avatars(client);
const result = await avatars.deletePhoto();

Obter QR code

SDK: @owbase/web e @owbase/node

Converte um texto puro numa imagem de QR code. Use os parâmetros de consulta para mudar o tamanho e o estilo da imagem gerada.

Parâmetro Tipo Obrigatório Descrição
text string sim Texto puro a converter em imagem de QR code.
size number não Tamanho do QR code. Informe um inteiro de 1 a 1000. O padrão é 400.
margin number não Margem a partir da borda. Informe um inteiro de 0 a 10. O padrão é 1.
download boolean não Devolve a imagem gerada com o header ’Content-Disposition: attachment ’, para o navegador baixá-la. Passe 0 para não enviar o header, ou 1 para enviar. O padrão é 0.

Acesso: chave de API com o escopo avatars.read ou sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Avatars } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const avatars = new Avatars(client);
const result = avatars.getQR({
text: '<TEXT>',
size: 1, // opcional
margin: 0, // opcional
download: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Avatars } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const avatars = new Avatars(client);
const result = await avatars.getQR({
text: '<TEXT>',
size: 1, // opcional
margin: 0, // opcional
download: false, // opcional
});

Obter captura de tela de página web

SDK: @owbase/web e @owbase/node

Captura uma imagem da tela da URL de qualquer site. Este endpoint usa um navegador headless para renderizar a página e capturá-la como imagem.

Você pode configurar o tamanho da viewport, o tema, o user agent, a geolocalização, as permissões do navegador e mais. Capture só a viewport ou a página inteira com rolagem.

Quando largura e altura são informadas, a imagem é redimensionada conforme elas. Se as duas dimensões forem 0, a API devolve a imagem no tamanho original. Sem dimensões, a viewport tem o tamanho padrão de 1280x720px.

Parâmetro Tipo Obrigatório Descrição
url string sim URL do site a capturar.
headers object não Headers HTTP a enviar no pedido do navegador. Só Accept e Accept-Language são aceitos. O padrão é vazio.
viewportWidth number não Largura da viewport do navegador. Informe um inteiro de 1 a 1920. O padrão é 1280.
viewportHeight number não Altura da viewport do navegador. Informe um inteiro de 1 a 1080. O padrão é 720.
scale number não Fator de escala do navegador. Informe um número de 0.1 a 3. O padrão é 1.
theme BrowserTheme não Tema do navegador. Passe “light” ou “dark”. O padrão é “light”. Valores: light, dark.
userAgent string não User agent personalizado. O padrão é o do navegador.
fullpage boolean não Captura a página inteira com rolagem. Passe 0 para só a viewport, ou 1 para a página inteira. O padrão é 0.
locale string não Localidade do navegador (por exemplo, “en-US”, “fr-FR”). O padrão é o do navegador.
timezone Timezone não Identificador de fuso horário IANA (por exemplo, “America/New_York”, “Europe/London”). O padrão é o do navegador. Valores: africa/abidjan, africa/accra, africa/addis_ababa, africa/algiers, africa/asmara, africa/bamako, africa/bangui, africa/banjul, africa/bissau, africa/blantyre, africa/brazzaville, africa/bujumbura, africa/cairo, africa/casablanca, africa/ceuta, africa/conakry, africa/dakar, africa/dar_es_salaam, africa/djibouti, africa/douala, africa/el_aaiun, africa/freetown, africa/gaborone, africa/harare, africa/johannesburg, africa/juba, africa/kampala, africa/khartoum, africa/kigali, africa/kinshasa, africa/lagos, africa/libreville, africa/lome, africa/luanda, africa/lubumbashi, africa/lusaka, africa/malabo, africa/maputo, africa/maseru, africa/mbabane, africa/mogadishu, africa/monrovia, africa/nairobi, africa/ndjamena, africa/niamey, africa/nouakchott, africa/ouagadougou, africa/porto-novo, africa/sao_tome, africa/tripoli, africa/tunis, africa/windhoek, america/adak, america/anchorage, america/anguilla, america/antigua, america/araguaina, america/argentina/buenos_aires, america/argentina/catamarca, america/argentina/cordoba, america/argentina/jujuy, america/argentina/la_rioja, america/argentina/mendoza, america/argentina/rio_gallegos, america/argentina/salta, america/argentina/san_juan, america/argentina/san_luis, america/argentina/tucuman, america/argentina/ushuaia, america/aruba, america/asuncion, america/atikokan, america/bahia, america/bahia_banderas, america/barbados, america/belem, america/belize, america/blanc-sablon, america/boa_vista, america/bogota, america/boise, america/cambridge_bay, america/campo_grande, america/cancun, america/caracas, america/cayenne, america/cayman, america/chicago, america/chihuahua, america/ciudad_juarez, america/costa_rica, america/coyhaique, america/creston, america/cuiaba, america/curacao, america/danmarkshavn, america/dawson, america/dawson_creek, america/denver, america/detroit, america/dominica, america/edmonton, america/eirunepe, america/el_salvador, america/fort_nelson, america/fortaleza, america/glace_bay, america/goose_bay, america/grand_turk, america/grenada, america/guadeloupe, america/guatemala, america/guayaquil, america/guyana, america/halifax, america/havana, america/hermosillo, america/indiana/indianapolis, america/indiana/knox, america/indiana/marengo, america/indiana/petersburg, america/indiana/tell_city, america/indiana/vevay, america/indiana/vincennes, america/indiana/winamac, america/inuvik, america/iqaluit, america/jamaica, america/juneau, america/kentucky/louisville, america/kentucky/monticello, america/kralendijk, america/la_paz, america/lima, america/los_angeles, america/lower_princes, america/maceio, america/managua, america/manaus, america/marigot, america/martinique, america/matamoros, america/mazatlan, america/menominee, america/merida, america/metlakatla, america/mexico_city, america/miquelon, america/moncton, america/monterrey, america/montevideo, america/montserrat, america/nassau, america/new_york, america/nome, america/noronha, america/north_dakota/beulah, america/north_dakota/center, america/north_dakota/new_salem, america/nuuk, america/ojinaga, america/panama, america/paramaribo, america/phoenix, america/port-au-prince, america/port_of_spain, america/porto_velho, america/puerto_rico, america/punta_arenas, america/rankin_inlet, america/recife, america/regina, america/resolute, america/rio_branco, america/santarem, america/santiago, america/santo_domingo, america/sao_paulo, america/scoresbysund, america/sitka, america/st_barthelemy, america/st_johns, america/st_kitts, america/st_lucia, america/st_thomas, america/st_vincent, america/swift_current, america/tegucigalpa, america/thule, america/tijuana, america/toronto, america/tortola, america/vancouver, america/whitehorse, america/winnipeg, america/yakutat, antarctica/casey, antarctica/davis, antarctica/dumontdurville, antarctica/macquarie, antarctica/mawson, antarctica/mcmurdo, antarctica/palmer, antarctica/rothera, antarctica/syowa, antarctica/troll, antarctica/vostok, arctic/longyearbyen, asia/aden, asia/almaty, asia/amman, asia/anadyr, asia/aqtau, asia/aqtobe, asia/ashgabat, asia/atyrau, asia/baghdad, asia/bahrain, asia/baku, asia/bangkok, asia/barnaul, asia/beirut, asia/bishkek, asia/brunei, asia/chita, asia/colombo, asia/damascus, asia/dhaka, asia/dili, asia/dubai, asia/dushanbe, asia/famagusta, asia/gaza, asia/hebron, asia/ho_chi_minh, asia/hong_kong, asia/hovd, asia/irkutsk, asia/jakarta, asia/jayapura, asia/jerusalem, asia/kabul, asia/kamchatka, asia/karachi, asia/kathmandu, asia/khandyga, asia/kolkata, asia/krasnoyarsk, asia/kuala_lumpur, asia/kuching, asia/kuwait, asia/macau, asia/magadan, asia/makassar, asia/manila, asia/muscat, asia/nicosia, asia/novokuznetsk, asia/novosibirsk, asia/omsk, asia/oral, asia/phnom_penh, asia/pontianak, asia/pyongyang, asia/qatar, asia/qostanay, asia/qyzylorda, asia/riyadh, asia/sakhalin, asia/samarkand, asia/seoul, asia/shanghai, asia/singapore, asia/srednekolymsk, asia/taipei, asia/tashkent, asia/tbilisi, asia/tehran, asia/thimphu, asia/tokyo, asia/tomsk, asia/ulaanbaatar, asia/urumqi, asia/ust-nera, asia/vientiane, asia/vladivostok, asia/yakutsk, asia/yangon, asia/yekaterinburg, asia/yerevan, atlantic/azores, atlantic/bermuda, atlantic/canary, atlantic/cape_verde, atlantic/faroe, atlantic/madeira, atlantic/reykjavik, atlantic/south_georgia, atlantic/st_helena, atlantic/stanley, australia/adelaide, australia/brisbane, australia/broken_hill, australia/darwin, australia/eucla, australia/hobart, australia/lindeman, australia/lord_howe, australia/melbourne, australia/perth, australia/sydney, europe/amsterdam, europe/andorra, europe/astrakhan, europe/athens, europe/belgrade, europe/berlin, europe/bratislava, europe/brussels, europe/bucharest, europe/budapest, europe/busingen, europe/chisinau, europe/copenhagen, europe/dublin, europe/gibraltar, europe/guernsey, europe/helsinki, europe/isle_of_man, europe/istanbul, europe/jersey, europe/kaliningrad, europe/kirov, europe/kyiv, europe/lisbon, europe/ljubljana, europe/london, europe/luxembourg, europe/madrid, europe/malta, europe/mariehamn, europe/minsk, europe/monaco, europe/moscow, europe/oslo, europe/paris, europe/podgorica, europe/prague, europe/riga, europe/rome, europe/samara, europe/san_marino, europe/sarajevo, europe/saratov, europe/simferopol, europe/skopje, europe/sofia, europe/stockholm, europe/tallinn, europe/tirane, europe/ulyanovsk, europe/vaduz, europe/vatican, europe/vienna, europe/vilnius, europe/volgograd, europe/warsaw, europe/zagreb, europe/zurich, indian/antananarivo, indian/chagos, indian/christmas, indian/cocos, indian/comoro, indian/kerguelen, indian/mahe, indian/maldives, indian/mauritius, indian/mayotte, indian/reunion, pacific/apia, pacific/auckland, pacific/bougainville, pacific/chatham, pacific/chuuk, pacific/easter, pacific/efate, pacific/fakaofo, pacific/fiji, pacific/funafuti, pacific/galapagos, pacific/gambier, pacific/guadalcanal, pacific/guam, pacific/honolulu, pacific/kanton, pacific/kiritimati, pacific/kosrae, pacific/kwajalein, pacific/majuro, pacific/marquesas, pacific/midway, pacific/nauru, pacific/niue, pacific/norfolk, pacific/noumea, pacific/pago_pago, pacific/palau, pacific/pitcairn, pacific/pohnpei, pacific/port_moresby, pacific/rarotonga, pacific/saipan, pacific/tahiti, pacific/tarawa, pacific/tongatapu, pacific/wake, pacific/wallis, utc.
latitude number não Latitude da geolocalização. Informe um número de -90 a 90. O padrão é 0.
longitude number não Longitude da geolocalização. Informe um número de -180 a 180. O padrão é 0.
accuracy number não Precisão da geolocalização, em metros. Informe um número de 0 a 100000. O padrão é 0.
touch boolean não Liga o suporte a toque. Passe 0 para sem toque, ou 1 para com toque. O padrão é 0.
permissions BrowserPermission[] não Permissões do navegador a conceder. Passe uma lista de nomes de permissão, como [“geolocation”, “camera”, “microphone”]. O padrão é vazio. Valores: geolocation, camera, microphone, notifications, midi, push, clipboard-read, clipboard-write, payment-handler, usb, bluetooth, accelerometer, gyroscope, magnetometer, ambient-light-sensor, background-sync, persistent-storage, screen-wake-lock, web-share, xr-spatial-tracking.
sleep number não Tempo de espera, em segundos, antes da captura. Informe um inteiro de 0 a 10. O padrão é 0.
width number não Largura da imagem de saída. Passe 0 para usar a largura original, ou um inteiro de 1 a 2000. O padrão é 0 (largura original).
height number não Altura da imagem de saída. Passe 0 para usar a altura original, ou um inteiro de 1 a 2000. O padrão é 0 (altura original).
quality number não Qualidade da captura. Informe um inteiro de 0 a 100. O padrão é manter a qualidade original da imagem.
output ImageFormat não Formato de saída (jpeg, jpg, png, gif e webp). Valores: jpg, jpeg, png, webp, heic, avif, gif.

Acesso: chave de API com o escopo avatars.read ou sem chave nem sessão: basta o ID do projeto.

@owbase/web
import {
Client,
Avatars,
BrowserTheme,
Timezone,
BrowserPermission,
ImageFormat,
} from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const avatars = new Avatars(client);
const result = avatars.getScreenshot({
url: 'https://example.com',
headers: {
'Accept-Language': 'en-US,en;q=0.9',
}, // opcional
viewportWidth: 1920, // opcional
viewportHeight: 1080, // opcional
scale: 2, // opcional
theme: BrowserTheme.Dark, // opcional
userAgent:
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', // opcional
fullpage: true, // opcional
locale: 'en-US', // opcional
timezone: Timezone.AfricaAbidjan, // opcional
latitude: 37.7749, // opcional
longitude: -122.4194, // opcional
accuracy: 100, // opcional
touch: true, // opcional
permissions: [
BrowserPermission.Geolocation,
BrowserPermission.Notifications,
], // opcional
sleep: 3, // opcional
width: 800, // opcional
height: 600, // opcional
quality: 85, // opcional
output: ImageFormat.Jpeg, // opcional
});
console.log(result);
@owbase/node
import { Client, Avatars, BrowserTheme, Timezone, BrowserPermission, ImageFormat } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const avatars = new Avatars(client);
const result = await avatars.getScreenshot({
url: 'https://example.com',
headers: {
'Accept-Language': 'en-US,en;q=0.9',
}, // opcional
viewportWidth: 1920, // opcional
viewportHeight: 1080, // opcional
scale: 2, // opcional
theme: BrowserTheme.Dark, // opcional
userAgent:
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', // opcional
fullpage: true, // opcional
locale: 'en-US', // opcional
timezone: Timezone.AfricaAbidjan, // opcional
latitude: 37.7749, // opcional
longitude: -122.4194, // opcional
accuracy: 100, // opcional
touch: true, // opcional
permissions: [
BrowserPermission.Geolocation,
BrowserPermission.Notifications,
], // opcional
sleep: 3, // opcional
width: 800, // opcional
height: 600, // opcional
quality: 85, // opcional
output: ImageFormat.Jpeg, // opcional
});

As descrições desta página são traduções das que vêm da especificação da API do servidor (licença BSD-3-Clause), e os exemplos vêm do gerador de SDKs (licença MIT). Os avisos completos estão no arquivo NOTICE dos pacotes @owbase/web e @owbase/node.