npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

devworldbr-sdk

v1.0.1

Published

SDK oficial dos serviços da DevWorld BR.

Readme

DevWorldBR SDK

SDK em Node.js para facilitar o uso das APIs da DevWorld BR. Com ele, você pode realizar pesquisas, utilizar inteligências artificiais, baixar mídias, gerar logos, figurinhas, QR Codes e muito mais.

📦 Instalação

Instale o pacote pelo npm:

npm install devworldbr-sdk

O SDK utiliza a dependência "@jpzinhdwbr/utils" em funcionalidades como upload de arquivos.

🚀 Importação

O pacote utiliza CommonJS:

const dwbr = require('devworldbr-sdk');

Exemplo básico:

const dwbr = require('devworldbr-sdk');

async function main() { try { const resultado = await dwbr.groq('Olá!');

console.log(resultado);

} catch (error) { console.error('Erro:', error.message); } }

main();

«Importante: as funções que fazem requisições são assíncronas. Utilize "await" ou ".then()" para acessar seus resultados.»

📚 Categorias

  • "Downloads" (#-downloads)
  • "Pesquisas" (#-pesquisas)
  • "Inteligências Artificiais" (#-inteligências-artificiais)
  • "Geradores" (#-geradores)
  • "Ferramentas" (#-ferramentas)
  • "Animes" (#-animes)
  • "Figurinhas" (#-figurinhas)
  • "Logos" (#-logos)
  • "Upload de arquivos" (#-upload-de-arquivos)
  • "Retornos JSON e Buffer" (#-retornos-json-e-buffer)
  • "Tratamento de erros" (#-tratamento-de-erros)

📥 Downloads

Funções para consultar informações e obter mídias de diferentes plataformas.

YouTube

Função| Parâmetro| Retorno "playAudio(query)"| Pesquisa| JSON "playAudioV2(query)"| Pesquisa| Buffer "playVideo(query)"| Pesquisa| Buffer "playVideoV2(query)"| Pesquisa| Buffer "ytdl(link)"| Link do vídeo| JSON "ytvideo(link)"| Link do vídeo| Buffer "ytaudio(link)"| Link do vídeo| Buffer

Exemplo — pesquisa de áudio:

const resultado = await dwbr.playAudio('música para estudar');

console.log(resultado);

Exemplo — áudio em Buffer:

const audio = await dwbr.playAudioV2('música para estudar');

console.log(Buffer.isBuffer(audio));

Exemplo — informações do vídeo:

const resultado = await dwbr.ytdl( 'https://www.youtube.com/watch?v=VIDEO_ID' );

console.log(resultado);

TikTok

Função| Parâmetro| Retorno "tiktok(link)"| Link da publicação| JSON "tiktok_video(link)"| Link da publicação| Buffer "tiktok_audio(link)"| Link da publicação| Buffer "tiktok_images(link)"| Link da publicação| JSON

Exemplo — informações da publicação:

const resultado = await dwbr.tiktok('URL_DO_TIKTOK');

console.log(resultado);

Exemplo — arquivo de vídeo:

const video = await dwbr.tiktok_video('URL_DO_TIKTOK');

console.log(Buffer.isBuffer(video));

Instagram

Função| Parâmetro| Retorno "igdl(link)"| Link da publicação| JSON "ig_video(link)"| Link da publicação| Buffer "ig_audio(link)"| Link da publicação| Buffer

Exemplo:

const resultado = await dwbr.igdl('URL_DO_INSTAGRAM');

console.log(resultado);

Para obter o vídeo em Buffer:

const video = await dwbr.ig_video('URL_DO_INSTAGRAM');

console.log(Buffer.isBuffer(video));

Kwai

Função| Parâmetro| Retorno "kwaiDl(link)"| Link da publicação| JSON

const resultado = await dwbr.kwaiDl('URL_DO_KWAI');

console.log(resultado);

Pinterest

Função| Parâmetro| Retorno "pinterest(query_ou_url)"| Pesquisa ou link| JSON "pin_video(link)"| Link da publicação| Buffer "pin_audio(link)"| Link da publicação| Buffer

Exemplo — pesquisa ou download:

const resultado = await dwbr.pinterest('paisagem bonita');

console.log(resultado);

Exemplo — vídeo em Buffer:

const video = await dwbr.pin_video('URL_DO_PIN');

console.log(Buffer.isBuffer(video));

Spotify, SoundCloud, MediaFire, CapCut e Facebook

Função| Parâmetro| Retorno "spotifyDl(link)"| Link do conteúdo| JSON "soundcloudDl(link)"| Link do conteúdo| JSON "mediafireDl(link)"| Link do arquivo| JSON "capcutDl(link)"| Link do conteúdo| JSON "facebookDl(link)"| Link da publicação| JSON "fbvideo(link)"| Link da publicação| Buffer "fbaudio(link)"| Link da publicação| Buffer

Exemplo — Spotify:

const resultado = await dwbr.spotifyDl( 'https://open.spotify.com/track/ID_DA_MUSICA' );

console.log(resultado);

Exemplo — Facebook:

const video = await dwbr.fbvideo('URL_DO_FACEBOOK');

console.log(Buffer.isBuffer(video));

«Substitua os endereços ilustrativos por links válidos e compatíveis com cada endpoint.»


🔎 Pesquisas

Funções para pesquisar vídeos e wallpapers.

Função| Parâmetro| Endpoint "ytSearch(query)"| Texto da pesquisa| "pesquisas/youtube/v1" "ytSearch2(query)"| Texto da pesquisa| "pesquisas/youtube/v2" "wallpaper(query)"| Texto da pesquisa| "pesquisas/wallpaper/v1"

Exemplo — YouTube:

const resultado = await dwbr.ytSearch('música brasileira');

console.log(resultado);

Segunda versão:

const resultado = await dwbr.ytSearch2('lofi para estudar');

console.log(resultado);

Pesquisa de wallpapers:

const resultado = await dwbr.wallpaper('anime wallpaper 4k');

console.log(resultado);

As três funções retornam JSON.


🤖 Inteligências Artificiais

Utilize diferentes modelos de inteligência artificial por meio das funções disponíveis no SDK.

Função| Parâmetro| Endpoint "groq(query)"| Mensagem ou pergunta| "inteligencias-artificiais/groq/v1" "chatgpt(query)"| Mensagem ou pergunta| "inteligencias-artificiais/chatgpt/v1" "gemini(query)"| Mensagem ou pergunta| "inteligencias-artificiais/gemini/v1"

Groq:

const resposta = await dwbr.groq( 'Explique o que é JavaScript.' );

console.log(resposta);

ChatGPT:

const resposta = await dwbr.chatgpt( 'Crie uma mensagem de boas-vindas.' );

console.log(resposta);

Gemini:

const resposta = await dwbr.gemini( 'Qual é a diferença entre let e const?' );

console.log(resposta);

Todas essas funções retornam JSON. Os campos disponíveis dependem da resposta fornecida pelo endpoint.


🛠️ Geradores

Gerador de nicks

Gera sugestões de nomes a partir do texto informado.

const resultado = await dwbr.gNicks('Jpzinh');

console.log(resultado);

  • Parâmetro: "nick"
  • Endpoint: "geradores/nicks/v1"
  • Retorno: JSON

Gerador de QR Code

Gera um QR Code utilizando o conteúdo informado.

const resultado = await dwbr.qrcode('https://exemplo.com');

console.log(resultado);

  • Parâmetro: "texto"
  • Endpoint: "geradores/qr-code/v2"
  • Retorno: JSON

Para saber como acessar a imagem ou os dados gerados, confira as propriedades presentes no objeto retornado pela API.


🔧 Ferramentas

Shazam

Consulta a API de identificação de músicas utilizando uma URL.

const resultado = await dwbr.shazam('URL_DO_AUDIO');

console.log(resultado);

  • Parâmetro: "url"
  • Endpoint: "ferramentas/shazam/v1"
  • Retorno: JSON

Transcrição de áudio

Solicita a transcrição do conteúdo de áudio informado.

const resultado = await dwbr.toText('URL_DO_AUDIO');

console.log(resultado);

  • Parâmetro: "url"
  • Endpoint: "ferramentas/transcrever/v1"
  • Retorno: JSON

🎌 Animes

Metadinha aleatória

Obtém uma metadinha aleatória por meio da API.

const resultado = await dwbr.metadinha();

console.log(resultado);

  • Parâmetros: nenhum
  • Endpoint: "animes/random/metadinha"
  • Retorno: JSON

🖼️ Figurinhas

As funções desta categoria retornam arquivos em Buffer, que podem ser salvos como arquivos ou enviados por bibliotecas compatíveis.

Função| Parâmetro| Retorno "brat(text)"| Texto| Buffer "bratVideo(text)"| Texto| Buffer "figAleatoria()"| Nenhum| Buffer "figEmoji()"| Nenhum| Buffer "figAnime()"| Nenhum| Buffer "figEngracada()"| Nenhum| Buffer "figRaiva()"| Nenhum| Buffer "figDesenho()"| Nenhum| Buffer "figAnimais()"| Nenhum| Buffer "figBebe()"| Nenhum| Buffer "figCoreana()"| Nenhum| Buffer "figFlork()"| Nenhum| Buffer

Brat

const imagem = await dwbr.brat('DevWorld BR');

console.log(Buffer.isBuffer(imagem));

Para gerar a versão em vídeo:

const video = await dwbr.bratVideo('DevWorld BR');

console.log(Buffer.isBuffer(video));

Figurinhas aleatórias e temáticas

const aleatoria = await dwbr.figAleatoria(); const emoji = await dwbr.figEmoji(); const anime = await dwbr.figAnime(); const engraçada = await dwbr.figEngracada(); const raiva = await dwbr.figRaiva(); const desenho = await dwbr.figDesenho(); const animais = await dwbr.figAnimais(); const bebe = await dwbr.figBebe(); const coreana = await dwbr.figCoreana(); const flork = await dwbr.figFlork();

Cada variável recebe o Buffer do arquivo retornado pelo endpoint correspondente.


🎨 Logos

A categoria de logos possui dois grupos de modelos: um para textos únicos e outro para dois textos.

Todas as funções desta categoria retornam Buffer.

Logos de um texto

Utilize o nome do modelo como método:

const logo = await dwbr.logos1texto.darkgreen('DevWorld BR');

console.log(Buffer.isBuffer(logo));

Também é possível selecionar o modelo dinamicamente:

const modelo = 'darkgreen'; const texto = 'DevWorld BR';

const logo = await dwbr.logos1texto(modelo, texto);

Modelos disponíveis

Para obter a lista diretamente pelo SDK:

console.log(dwbr.logos1texto.modelos);

Modelos disponíveis:

darkgreen, glitch, write, advancedglow, typography, pixelglitch, neonglitch, flag, flag3d, deleting, blackpink, glowing, underwater, logomaker, cartoon, papercut, watercolor, affectclouds, blackpinklogo, gradient, summerbeach, luxurygold, multicoloredneon, sandsummer, galaxywallpaper, 1917, markingneon, royal, freecreate, galaxy, lighteffects, dragonball, neondevil, frozen, wooden3d, metal3d, ligatures, 3druby, sunset, hackerneon, cemetery, halloween, horror, blood, joker, clouds, grafite, grafite2, estrelas, colorido, desfoque, zombie, naruto, aniversario, amongus

Logos de dois textos

Informe o texto principal e o segundo texto:

const logo = await dwbr.logos2texto.pornhub('DevWorld', 'BR');

console.log(Buffer.isBuffer(logo));

Ou selecione o modelo dinamicamente:

const logo = await dwbr.logos2texto( 'pornhub', 'DevWorld', 'BR' );

Modelos disponíveis

console.log(dwbr.logos2texto.modelos);

Modelos disponíveis:

pornhub, blackpink2, deadpool, amongus2, thor, neon, stone3d, captainamerica, graffiti, avengers, vintage, tiktok, buoys, wood, space3d, wolf, steel, lattering

Validação dos modelos

Se o modelo informado não existir, a função lança um erro indicando que o modelo é inválido.

O primeiro texto precisa ser uma string não vazia. Para os modelos de dois textos, o segundo texto é opcional e, quando omitido, é enviado como uma string vazia.


📤 Upload de arquivos

A função "upload()" permite enviar um arquivo em formato Buffer.

Exemplo

const fs = require('node:fs');

async function enviarArquivo() { try { const arquivo = fs.readFileSync('./imagem.png');

const resultado = await dwbr.upload(arquivo, {
  access_token: 'SEU_ACCESS_TOKEN'
});

console.log(resultado);

} catch (error) { console.error('Erro no upload:', error.message); } }

enviarArquivo();

Parâmetros

Parâmetro| Descrição "buffer"| Arquivo convertido em Buffer. Obrigatório. "token"| Objeto opcional que pode conter "access_token".

A função verifica se o arquivo informado é um Buffer válido. Caso contrário, lança o erro:

Envie um arquivo Buffer válido.

O resultado do upload é retornado pelo serviço de arquivos. As propriedades disponíveis dependem da resposta desse serviço.

«Segurança: não compartilhe seu token de acesso publicamente nem o envie para repositórios públicos.»


📦 Retornos JSON e Buffer

O SDK possui duas funções internas para realizar requisições: "request()" e "requestFile()".

"request()" — JSON

As funções que utilizam "request()" retornam a resposta da API em formato JSON, processada como objeto JavaScript.

Exemplo:

const resultado = await dwbr.groq('Olá!');

console.log(resultado);

Você pode consultar as propriedades disponíveis no resultado:

console.log(resultado.msg);

O acesso a "msg" é apenas ilustrativo: utilize os nomes de propriedades que realmente existirem na resposta do endpoint.

Exemplo ilustrativo de JSON:

{ "status": true, "msg": "Resposta de exemplo" }

Esse objeto é apenas demonstrativo; não representa um formato garantido para todas as rotas.

"requestFile()" — Buffer

As funções que utilizam "requestFile()" retornam o conteúdo binário do arquivo em um Buffer do Node.js.

Exemplo:

const imagem = await dwbr.logos1texto.darkgreen('DevWorld BR');

console.log(Buffer.isBuffer(imagem)); // true console.log(imagem.length); // Tamanho em bytes

Salvando um Buffer em arquivo

const fs = require('node:fs');

const imagem = await dwbr.logos1texto.darkgreen('DevWorld BR');

fs.writeFileSync('./logo.png', imagem);

Exemplo para salvar um vídeo:

const fs = require('node:fs');

const video = await dwbr.tiktok_video('URL_DO_TIKTOK');

fs.writeFileSync('./video.mp4', video);

Utilize uma extensão compatível com o conteúdo retornado pelo endpoint.

Resumo dos retornos

Função interna| Tipo de retorno| Exemplos de utilização "request()"| JSON| Pesquisas, metadados e respostas de IA "requestFile()"| Buffer| Imagens, áudios, vídeos e outros arquivos binários

Atenção: JSON e Buffer são tipos diferentes. Não trate um Buffer como se fosse um objeto com propriedades JSON, nem presuma que uma resposta JSON contém diretamente o arquivo binário.


⚠️ Tratamento de erros

Utilize "try/catch" para lidar com falhas nas requisições e nos parâmetros enviados.

Exemplo com JSON

async function pesquisar() { try { const resultado = await dwbr.ytSearch('música para estudar');

console.log(resultado);

} catch (error) { console.error('Erro na pesquisa:', error.message); } }

pesquisar();

Exemplo com Buffer

const fs = require('node:fs');

async function gerarLogo() { try { const logo = await dwbr.logos1texto.darkgreen('DevWorld BR');

if (!Buffer.isBuffer(logo)) {
  throw new Error('A resposta não contém um Buffer válido.');
}

fs.writeFileSync('./logo.png', logo);

console.log('Logo salvo com sucesso.');

} catch (error) { console.error('Erro ao gerar o logo:', error.message); } }

gerarLogo();

Erros podem ocorrer por parâmetros inválidos, falhas de conexão, indisponibilidade de endpoints ou respostas inesperadas.


📢 Canal oficial

Acompanhe novidades, atualizações e avisos da DevWorld BR pelo canal oficial no WhatsApp.

"Entrar no canal da DevWorld BR" (https://whatsapp.com/channel/0029Vb9YdCd65yDIg0IodL1i)


👨‍💻 Sobre o projeto

DevWorld BR SDK — uma forma prática de integrar as funcionalidades disponíveis nas APIs da DevWorld BR aos seus projetos Node.js.