cajuos

Changelog

Histórico de lançamentos e atualizações.

Mídia pra Agents

Mídia pra Agents

A terceira tool do CajuOS chegou. Ela não baixa vídeo pra você usar: ela entrega mídia pra agent usar. Uma URL com vídeo entra, e o agent recebe:

  • Metadados em JSON (lista de mídias da página)
  • Áudio AAC pronto pra transcrição, extraído do HLS sem re-encode
  • Vídeo original via proxy

O que vem incluso:

  • API pública: /media, /media/audio e /media/video em media.cajuos.dev
  • MCP remoto (streamable HTTP): extract_media, download_audio, download_video funcionam direto no Claude Code, Cursor e opencode, sem install
  • Áudio sem re-encode: demux TS → AAC ADTS no worker; frames saem dos segmentos direto pro stream
  • MP3 direto com proxy e Range
  • Extração genérica: mesmo motor do video-dl (mp4/m4v/webm/mkv + HLS m3u8)
  • SSRF guard, cache KV, rate limit e contadores de uso desde o v1

Limitações (plano free, honestas):

  • HLS de até ~46 segmentos (~5min); maior retorna hls-too-long. MP4/MP3 diretos sem teto
  • HLS ao vivo não é suportado
  • fMP4 ainda sem extração de áudio (só TS)

Onde: agents.cajuos.dev · repo CajuOS/agents (público, MIT)

Video Downloader

Video Downloader

Atualização grande do Video Downloader: download HLS até 5× mais rápido, streams cifrados funcionando e remux pra mp4 sem perder qualidade.

O que mudou:

  • Download HLS paralelo: segmentos baixados em grupos de 5 em vez de um a um. Streams longos terminam bem mais rápido
  • HLS cifrado (AES-128): agora descriptografa os segmentos na hora, sem depender de app externo
  • fMP4: streams com init segment (EXT-X-MAP) e byte ranges baixam corretos, em .mp4 em vez de .ts corrompido
  • Progresso estimado: a barra de download mostra % aproximada também no HLS
  • Comando ffmpeg: aba API ganhou o remux ffmpeg -i … -c copy out.mp4 pra abrir HLS em qualquer editor
  • Cache: extrações repetidas da mesma página respondem da memória (10 min), menos bloqueio por excesso de requests
  • Rate limit: 30 extrações e 10 downloads por minuto por IP, pra tool continuar rápida pra todo mundo
  • Botão Colar: cola a URL direto da área de transferência

Detalhes

  • Concorrência de segmentos com ordem estrita. Sem risco de corromper o .ts
  • Criptografia resolvida com WebCrypto no worker, IV explícito ou derivado do media sequence
  • Cache e rate limit no Cloudflare KV

Limitações

  • Stream ao vivo continua fora (só VOD)
  • Cifras SAMPLE-AES (DRM) seguem sem suporte
  • Site que exige login pode bloquear a leitura

Video Downloader

Video Downloader

A segunda tool do CajuOS chegou. Você cola o link de uma página com vídeo e ela devolve o arquivo da fonte, o mp4 real, não o player. Se a página usa streaming adaptativo, ela junta os segmentos num .ts sem re-encode.

O que vem incluso:

  • Extração genérica: mp4/m4v/webm/mkv direto do HTML, incluindo paths relativos e URLs dentro de atributos
  • Qualidade: seletor de 2160p a 360p com tamanho estimado
  • HLS: detecta manifest m3u8, lista as variantes e concatena os segmentos
  • Download com progresso: File System Access API no Chrome/Edge, fallback pra blob
  • Comandos pra terminal: aba API gera curl e aria2c com User-Agent e Referer; /go resolve e redireciona
  • Histórico: últimos 10 links salvos no navegador
  • Erros claros: bloqueio (403), stream ao vivo, HLS cifrado e página sem vídeo têm mensagem própria

Detalhes

  • Worker Cloudflare (video-dl.cajuos.dev) em TypeScript: extração, proxy de download e concatenação HLS
  • Concatenação no worker em vez de gravação em tempo real no navegador: velocidade máxima, zero perda
  • Guard SSRF: rejeita localhost e IPs privados
  • Endpoints públicos: /extract, /go, /dl/mp4, /dl/hls

Limitações

  • HLS cifrado (AES-128) e stream ao vivo retornam erro específico
  • Site que exige login pode bloquear a leitura

OG Image Generator

OG Image Generator

A primeira tool do CajuOS chegou. O objetivo é simples: você digita um título, escolhe uma paleta e baixa uma imagem Open Graph pronta — sem abrir editor, sem configurar nada.

O que vem incluso:

  • Geração de imagem 1200×630 via Canvas API — mesmo formato que Twitter, LinkedIn e Discord esperam
  • Título (até 65 caracteres) e subtítulo (até 95) com preview ao vivo enquanto você digita
  • 5 paletas de cor: Classic, Slate, Warm, Minimal e Deep
  • Download PNG com um clique — nome do arquivo já vem como og-image.png
  • Marca d'água cajuos.dev fixa no canto inferior direito
  • 100% client-side, zero dependências externas, zero chamadas de rede

v1.1

  • Layout alinhado à esquerda — útil com logo ou texto longo
  • Tamanhos alternativos: Square (1080×1080) e Instagram (1200×1200)
  • Upload de imagem de fundo com escurecimento ajustável (Nenhum/Leve/Médio/Forte)
  • Upload de logo (PNG/JPEG/SVG) — título reposiciona automaticamente
  • Copiar PNG pra área de transferência — cola direto em redes sociais

v1.2

  • Ícone decorativo — 10 SVG icons inline (flame, target, star, bulb, rocket, pin, palette, sparkle, diamond, bolt). Renderizado no canvas via Image bitmap.
  • Fundo procedural — gera composição única com gradiente, círculos e retângulos aleatórios. Seed randômico a cada clique.
  • QR params — ?title=...&subtitle=...&palette=...&size=...&layout=...&icon=... para compartilhar presets por URL
  • Formatos de exportação — PNG / JPEG / WebP com qualidade 92%
  • Social presets — botões rápidos pra Twitter, LinkedIn e Blog (configura paleta, layout e ícone)
  • Warning de emoji — aviso se título/subtítulo contém emoji (não renderiza no canvas)
  • Aviso de limite de caracteres — contador N/65 e N/95 nos inputs
  • Atalhos de teclado — Enter dispara download, Ctrl+C copia imagem

v1.3 (22 Jul 2026)

  • Templates — salva/carrega presets no localStorage. Nomeie, salve e carregue com 1 clique.
  • Fontes — Inter, DM Sans e Space Grotesk via next/font/google. Troca instantânea.
  • Peso e espaçamento — controle de peso (500-800) e letter-spacing (0-2px) do título.
  • Sombra do texto — Nenhum/Sutil/Forte. Melhora legibilidade em fundo claro ou imagem.
  • Drag & drop — arraste uma imagem direto no preview. Menos que 200px vira logo, senão vira fundo.
  • Galeria de exemplos — 6 presets (Twitter, LinkedIn, Blog, Produto, Minimal, Devlog). Clique pra aplicar.
  • Contador de uso — "Você gerou N imagens hoje" com persistência diária.
  • Botão Tweetar — compartilhe a tool no X/Twitter com 1 clique.
  • Badge de tamanho — label "OG 1200×630" no canto do preview.
  • Render com RAFrequestAnimationFrame evita re-renders durante digitação. Shimmer enquanto carrega.