"use strict"; function escapeHtml(value) { return String(value) .replaceAll("&", "&") .replaceAll("<", "<") .replaceAll(">", ">") .replaceAll('"', """) .replaceAll("'", "'"); } function shell({ title, content, compact = false, user = null }) { const container = compact ? "max-w-md" : "max-w-5xl"; const authenticated = user?.authenticated; const userId = user?.userId; const authButtons = authenticated ? `
Mention our bot under any long-form X post. We'll convert it to audio and send you a link instantly.
${primaryCta}No credit card required • ${escapeHtml(userId ? `Logged in as @${userId}` : "Public access valid")}
Three simple steps to turn reading into listening.
Reply to any long article on X with @XArtAudio.
Our webhook verifies the article and generates high-quality audio.
Receive a link to your audiobook. Listen anywhere, anytime.
Pay only for what you convert. Credits never expire.
Sign in to your account to continue
Use the simulation form below to generate your first audiobook.
Manage your credits and audiobooks
Unlock this audiobook permanently for ${accessDecision.creditsRequired} credits.
${escapeHtml(playbackUrl || `stream://${audio.storageKey}`)}