Checking...|ERC-8004 Compliant

Transform Text intoBeautiful Slides

Paste any text - articles, papers, documents - and get a clean, professional presentation with only the key points. No fluff.

Lightning Fast
Generate presentations in seconds, not hours. AI-powered summarization handles any length.
Key Points Only
Intelligent extraction keeps only what matters. No filler, no redundancy, just insights.
ERC-8004 Compliant
Built on the open agent standard. Interoperable with other agents via A2A and MCP protocols.
Export Anywhere
Download as PDF, PNG, or JSON. Perfect for sharing, printing, or further processing.

How It Works

1

Paste Your Text

Drop in any text - articles, research papers, meeting notes, or documents.

2

AI Processes

Our agent extracts key points using hierarchical summarization for any length.

3

Get Slides

Receive a beautiful presentation with varied slide types and clean design.

4

Export & Share

Download as PDF or images, or copy the JSON for programmatic use.

Pricing & API Access

Use for free or unlock higher limits with crypto payments via the x402 protocol

Anonymous
Free - No auth needed
  • 5 requests/minute
  • $0.10/day budget
  • Max 5 slides
Free
API key required
  • 20 requests/minute
  • $0.50/day budget
  • Max 15 slides
Crypto
Pro
0.001 ETH (~$2-3)
  • 100 requests/minute
  • $5.00/day budget
  • Max 50 slides
  • 24h access per payment

How to Pay (x402 Protocol)

  1. 1
    Send 0.001+ ETH to:
    0xfe4DE64F24afffcC5A97e1867EDeBFA335ef546f

    Supported chains: Ethereum, Base, Arbitrum

  2. 2
    Verify your payment:POST /api/payment/verify-tx
  3. 3
    Receive temporary API key

    Valid for 24 hours with pro tier access

// 1. Verify payment and get API key
const response = await fetch('/api/payment/verify-tx', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    txHash: '0x123...',
    chain: 'base' // or 'ethereum', 'arbitrum'
  })
});
const { apiKey } = await response.json();

// 2. Use the API key for requests
const slides = await fetch('/api/a2a', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${apiKey}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: '1',
    method: 'message/send',
    params: {
      message: { parts: [{ text: 'Your document...' }] }
    }
  })
});