🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

paper-view

by @yyccr

PaperView API — generate ECharts visualizations, AI scientific diagrams, and word clouds from data, text, or PDF papers. Use when the user wants to create ch...

Versionv1.0.2
Downloads674
TERMINAL
clawhub install paper-view-skill

📖 About This Skill


name: paperview description: PaperView API — generate ECharts visualizations, AI scientific diagrams, and word clouds from data, text, or PDF papers. Use when the user wants to create charts, scientific figures, flowcharts, architecture diagrams, or extract keywords from documents. author: yyccR homepage: https://www.ipaperview.com repository: https://github.com/yyccR/paper-view-skill license: MIT env: PAPERVIEW_API_TOKEN: description: API token obtained from www.ipaperview.com (Profile → API Token). Format: pv_live_ required: true

PaperView API

PaperView provides three AI-powered visualization APIs: 1. ECharts Visualization — generate interactive charts from CSV/JSON/text data 2. AI Scientific Diagram — generate publication-quality figures from text or arxiv PDF 3. Word Cloud — extract keyword frequencies from PDF documents (supports CJK)

Authentication

All requests require an API Token:

Authorization: Bearer pv_live_

Obtain your token from the www.ipaperview.com website (Profile → API Token). Each account can create one token. Set via environment variable PAPERVIEW_API_TOKEN or ask the user for their token.

Base URL

https://api.ipaperview.com

API Quota

Daily API call limits by plan:

| Plan | Daily Limit | |------|-------------| | Free | 3 calls/day | | Monthly ($4.99/mo) | 30 calls/day | | Yearly ($29.99/yr) | 100 calls/day |

Each API call consumes 1 quota.


1. ECharts Visualization

POST /api/v1/viz/generate/

AI analyzes your data sample, selects the best chart type, and returns a ready-to-render ECharts option. The full data processing happens server-side — AI only sees a sample to generate a transform script, then the backend executes it with Node.js on the full dataset.

| Field | Type | Required | Description | |-------|------|----------|-------------| | data | string | Yes | Raw data in CSV, JSON, or plain text | | toolset | string | No | Chart category: bar, line, scatter, pie, heatmap, violin, manhattan, volcano, forest, survival, roc, venn, upset, etc. If omitted, AI auto-selects | | template | string | No | Specific template within the toolset. If omitted, AI auto-selects | | context | string | No | Natural language instructions, e.g. "show GDP trend by country", "use blue color scheme" |

Available chart types:

  • Basic: line, bar, scatter, pie, radar, funnel, boxplot
  • Advanced: heatmap, treemap, sankey, tree, sunburst, map, structure
  • 3D: gl3d (bar3D, scatter3D)
  • Scientific: violin, manhattan, volcano, forest, survival, roc, venn, upset, enrichment, circos, waterfall
  • curl -X POST \
      -H "Authorization: Bearer $PAPERVIEW_API_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "data": "Year,China,USA,Japan\n2018,13608,20544,4971\n2019,14280,21373,5082\n2020,14723,20894,5040\n2021,17734,23315,4941\n2022,17963,25463,4231",
        "context": "Show GDP trends as a line chart"
      }' \
      https://api.ipaperview.com/api/v1/viz/generate/
    

    Response:

    {
      "success": true,
      "toolset": "line",
      "template": "confidence_band",
      "echarts_option": {
        "title": { "text": "GDP by Country (2018-2022)" },
        "xAxis": { "type": "category", "data": ["2018", "2019", "2020", "2021", "2022"] },
        "yAxis": { "type": "value" },
        "series": [
          { "name": "China", "type": "line", "data": [13608, 14280, 14723, 17734, 17963] },
          { "name": "USA", "type": "line", "data": [20544, 21373, 20894, 23315, 25463] },
          { "name": "Japan", "type": "line", "data": [4971, 5082, 5040, 4941, 4231] }
        ],
        "legend": { "data": ["China", "USA", "Japan"] }
      },
      "reason": "Time series data with multiple countries — line chart shows trends clearly"
    }
    

    The echarts_option can be rendered directly with echarts.setOption(echarts_option) in any ECharts-compatible environment.


    2. AI Scientific Diagram

    POST /api/diagram/ai-generate/

    Generate publication-quality scientific diagrams, flowcharts, and research illustrations. Supports arxiv paper URLs directly. Returns a Server-Sent Events stream — use curl -N to receive events.

    | Field | Type | Required | Description | |-------|------|----------|-------------| | template_type | string | Yes | custom_text_only (from text) or custom (with reference image) | | custom_prompt | string | Yes | Description of what to draw. Can include style instructions (colors, themes, specific elements) | | pdf_url | string | No | URL to a PDF paper (supports arxiv abs/pdf URLs like http://arxiv.org/abs/2510.13809v1) | | selected_text | string | No | Text excerpt to visualize | | reference_image_url | string | No | Reference image URL to guide the style | | language | string | No | auto, en, zh (default: auto) | | aspect_ratio | string | No | e.g. 16:9, 1:1, 4:3 |

    Example — from text description:

    curl -N -X POST \
      -H "Authorization: Bearer $PAPERVIEW_API_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "template_type": "custom_text_only",
        "custom_prompt": "A flowchart: Data Collection -> Preprocessing -> Training -> Evaluation"
      }' \
      https://api.ipaperview.com/api/diagram/ai-generate/
    

    Example — from arxiv paper with custom style:

    curl -N -X POST \
      -H "Authorization: Bearer $PAPERVIEW_API_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "template_type": "custom_text_only",
        "pdf_url": "http://arxiv.org/abs/2510.13809v1",
        "custom_prompt": "Generate an architecture diagram with pink color scheme, include Doraemon as a mascot element"
      }' \
      https://api.ipaperview.com/api/diagram/ai-generate/
    

    SSE Events (in order):

    data: {"type": "step", "step": "extracting", "message": "Extracting document content..."}
    data: {"type": "step", "step": "generating_prompt", "message": "Generating image prompt..."}
    data: {"type": "prompt_generated", "prompt": "...", "enhanced_prompt": "..."}
    data: {"type": "step", "step": "generating_image", "message": "Generating image..."}
    data: {"type": "complete", "success": true, "image_url": "https://...", "model": "gemini-2.0-flash-preview-image-generation"}
    

    The final complete event contains image_url — a CDN URL to the generated image.


    3. Word Cloud

    POST /api/wordcloud/extract/

    Extract keyword frequencies from PDF documents with automatic CJK (Chinese/Japanese/Korean) segmentation and semantic clustering.

    | Field | Type | Required | Description | |-------|------|----------|-------------| | pdf_url | string | Yes | URL to a PDF document (supports arxiv URLs) | | max_words | integer | No | Max keywords to return (default: 100) |

    curl -X POST \
      -H "Authorization: Bearer $PAPERVIEW_API_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "pdf_url": "https://arxiv.org/pdf/2301.00001.pdf",
        "max_words": 50
      }' \
      https://api.ipaperview.com/api/wordcloud/extract/
    

    Response:

    {
      "success": true,
      "data": [
        { "word": "neural", "frequency": 45, "cluster": 0 },
        { "word": "network", "frequency": 38, "cluster": 0 },
        { "word": "attention", "frequency": 32, "cluster": 1 }
      ]
    }
    

    The cluster field (0-4) groups words by frequency — useful for color coding in word cloud rendering. CJK documents are automatically segmented using jieba.


    Error Responses

    { "success": false, "error": "Error description" }
    

    | HTTP Code | Meaning | |-----------|---------| | 400 | Bad request (missing or invalid parameters) | | 401 | Invalid or missing API token | | 402 | Quota exceeded (daily API call limit reached) | | 500 | Server error |

    Rendering Results

    After calling the API, you MUST render the results visually. No extra dependencies needed — use CDN-loaded HTML files.

    Render ECharts Visualization

    When you receive echarts_option from /api/v1/viz/generate/, create a self-contained HTML file and open it in the browser:

    
    
    
      
      PaperView Chart
      
      
    
    
      

    Replace {{ECHARTS_OPTION_JSON}} with the echarts_option value from the API response (the JSON object, not stringified). Save as a .html file and open:

    # macOS
    open /tmp/paperview_chart.html
    

    Linux

    xdg-open /tmp/paperview_chart.html

    For 3D charts (gl3d toolset), add this additional script tag before the main script:

    
    

    Render Word Cloud

    When you receive word frequency data from /api/wordcloud/extract/, create an HTML file using echarts-wordcloud:

    
    
    
      
      PaperView Word Cloud
      
      
      
    
    
      

    Replace {{WORDCLOUD_DATA_JSON}} with the data array from the API response.

    Render AI Diagram

    The AI diagram endpoint already returns an image_url (CDN link). Simply download it or open in browser:

    # Open in browser
    open "https://cdn.example.com/generated/image.jpg"
    

    Or download

    curl -o /tmp/paperview_diagram.png "https://cdn.example.com/generated/image.jpg"

    Privacy & Data Handling

    What data is sent to api.ipaperview.com:

  • ECharts API: The raw text data (CSV/JSON/text string) you provide in the data field is sent to the server. No local files are uploaded — you must pass the data content as a string in the request body.
  • AI Diagram API: Only the pdf_url (a public URL) is sent. The server fetches the PDF from that URL. No local files are uploaded from your machine.
  • Word Cloud API: Only the pdf_url (a public URL) is sent. The server fetches the PDF from that URL. No local files are uploaded from your machine.
  • Data retention:

  • Submitted text data (CSV/JSON) is processed in memory and not stored after the response is returned.
  • Generated AI diagram images are uploaded to Upyun CDN and retained for 30 days, after which they are automatically deleted.
  • No user data is sold or shared with third parties.
  • Authentication:

  • This skill requires a PAPERVIEW_API_TOKEN environment variable (format: pv_live_).
  • Obtain your token from www.ipaperview.com → Profile → API Token.
  • Each API call is authenticated and rate-limited per your subscription plan.
  • Usage Tips

    1. Auto-selection: For ECharts, omit toolset and template to let AI pick the best chart type for your data 2. Large datasets: Safe to send large CSV files — AI only sees a sample, full data is processed server-side 3. SSE parsing: AI diagram endpoint uses Server-Sent Events. Parse each data: line as JSON and wait for the type: "complete" event 4. Arxiv URLs: Both http://arxiv.org/abs/... and https://arxiv.org/pdf/... formats are supported for pdf_url 5. Custom styles: Use the custom_prompt and context fields to request specific colors, themes, or visual elements 6. Always render: After receiving API results, always render them visually using the HTML templates above so the user can see the chart/wordcloud