Skip to main content

Overview

The Skimming AI API lets you build chat-with-your-content experiences programmatically. Upload files, ingest URLs, and chat with any content type.

Base URL

https://api.skimming.ai
For staging/testing:
https://staging-api.skimming.ai

Authentication

All requests require a Bearer token in the Authorization header.
Authorization: Bearer YOUR_API_KEY
Never expose your API key in client-side code. Use server-side requests only.

Required Headers

Every API request must include these headers:
HeaderValueRequired
AuthorizationBearer YOUR_API_KEY✅ Yes
Content-Typeapplication/json or multipart/form-data✅ Yes

Core Workflow

1

Ingest

Upload a file or URL to get a file_id.Endpoints:
  • POST /ingest/v1/api/document — Documents, images, audio, video
  • POST /ingest/v1/api/youtube — YouTube videos
  • POST /ingest/v1/api/website — Websites and social posts
2

Chat

Use the file_id to ask questions about the content.Endpoints:
  • POST /chat/v1/api/document/{type} — PDF, DOCX, XLSX, PPTX, TXT, EPUB
  • POST /chat/v1/api/image/{type} — JPG, PNG, GIF, WebP, etc.
  • POST /chat/v1/api/video/{type} — YouTube, MP4, MOV, etc.
  • POST /chat/v1/api/audio/{type} — MP3, WAV, OGG, etc.
  • POST /chat/v1/api/website/{type} — Website, Instagram, X, LinkedIn, Facebook

Request Format

Ingest Request (File Upload)

curl -X POST https://api.skimming.ai/ingest/v1/api/document \
  -H "Authorization: Bearer sk-your-api-key" \
  -F "file=@document.pdf"

Chat Request (JSON)

curl -X POST https://api.skimming.ai/chat/v1/api/document/pdf \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "file_id": "abc123-def456-ghi789",
    "question": "What is this document about?",
    "streaming": false
  }'

Response Format

Success Response

{
  "success": true,
  "data": "The AI-generated answer...",
  "error": null,
  "message": {
    "content": null,
    "displayContent": true
  }
}

Error Response

{
  "success": false,
  "error": {},
  "message": {
    "content": "Error description",
    "displayContent": true
  }
}

Streaming

Set "streaming": true to receive responses as Server-Sent Events (SSE).
{
  "file_id": "abc123",
  "question": "Summarize this",
  "streaming": true
}
The response will stream in text/event-stream format.

Models

Specify the AI model with model and model_type:
Providermodel_typeAvailable Models
OpenAIopenaigpt-4o-mini, gpt-4o, gpt-4, gpt-3.5-turbo
Anthropicanthropicclaude-3-sonnet, claude-3.5-sonnet
Googlegeminigemini-1.5-flash, gemini-1.5-pro

Rate Limits & Credits

FeatureFree PlanPaid Plans
Credits~1,000/monthBased on plan
File Size5 MBUp to 200 MB
Video/Audio480 minutesBased on plan
Credit usage per model:
  • GPT-4o Mini / Gemini Flash: 1 credit
  • GPT-4o: 5 credits
  • Gemini Pro: 16 credits
  • Claude 3.5/3.7: 25 credits
  • GPT-4: 100 credits

HTTP Status Codes

CodeDescription
200Success
400Bad request — invalid parameters
401Unauthorized — invalid API key
402Payment required — credits exceeded
500Server error