Changelog
Histórico de lançamentos e atualizações.
Mídia pra Agents
Mídia pra AgentsA 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/audioe/media/videoemmedia.cajuos.dev - MCP remoto (streamable HTTP):
extract_media,download_audio,download_videofuncionam 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 DownloaderAtualizaçã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.mp4em vez de.tscorrompido - Progresso estimado: a barra de download mostra % aproximada também no HLS
- Comando ffmpeg: aba API ganhou o remux
ffmpeg -i … -c copy out.mp4pra 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 DownloaderA 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;
/goresolve 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 GeneratorA 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.devfixa 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/65eN/95nos 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 RAF —
requestAnimationFrameevita re-renders durante digitação. Shimmer enquanto carrega.