TubeOnAI API Documentation: Setup, Usage, and Best Practices
TubeOnAI Developer API — User Guide
Easily integrate AI-powered summaries into your applications using the TubeOnAI Developer API, or connect an
MCP-compatible AI assistant directly.
Supported Content Types
TubeOnAI can summarize the following content sources: | Content Type | Description | Examples | | ---- | ---- | ---- | |
YouTube Videos | Any public YouTube video | Tutorials, lectures, podcasts | | Web Articles | Blog posts, news, pages |
Medium articles, news sites | | Documents | PDF, Word, TXT files | Reports, papers, eBooks | | Rumble Videos | Public
Rumble videos | Commentary, news clips |
Getting Started
1. Create Your API Key
API keys are created inside the TubeOnAI dashboard:
- Log in at: https://web.tubeonai.com
- Go to Settings → Developer Features
- Open the API Keys tab
- Click Create API Key, name it (e.g., My App Integration), and confirm
- Create the key and store it securely Important: API keys are shown only once. Save them in a secure location.
Example: pk_live_**********************************
2. Test Your API Key
curl -X GET "https://app.tubeonai.com/api/developer/v1/usage/credits" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Successful response:
{
"success": true,
"data": {
"balance": {
"available": 3600,
"used_today": 0,
"unit": "seconds"
}
}
}
Connect an AI Assistant via MCP
If you want an AI assistant (Claude, Cursor, Gemini, etc.) to use TubeOnAI directly inside your conversation — rather
than writing your own REST integration — connect it over MCP (Model Context Protocol).
MCP Token vs. REST API Key
An MCP token is a separate credential from your REST pk_live_ API key above. MCP-compatible clients use it to call
TubeOnAI as a set of built-in tools — no request bodies or endpoint URLs to write yourself. Use a REST API key when
you're writing your own integration code; use an MCP token when you're connecting an AI assistant.
Create an MCP Token
- Log in at https://web.tubeonai.com
- Go to Settings → Developer Features
- Open the MCP Tokens tab
- Stay on the Personal tokens segment (the fastest way to connect)
- Click Generate Token
- Name it, choose the abilities it needs (Read content, Write content, or both), and confirm Important: the token is
shown only once — copy it immediately. Format: mcp_pat_**********
Prefer a browser-based sign-in instead of handling a token yourself? Switch to the Connected clients segment — supported
clients (like Claude Desktop) can authorize TubeOnAI themselves without you creating a token.
MCP Server URL
https://app.tubeonai.com/mcp
Connect Your Client
Using a personal token — replace YOUR_TOKEN with the token you generated:
Claude Code
claude mcp add --transport http tubeonai https://app.tubeonai.com/mcp \
--header "Authorization: Bearer YOUR_TOKEN"
Run /mcp inside Claude Code afterward to confirm it connected.
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"TubeOnAI": {
"command": "npx",
"args": [
"-y", "mcp-remote@latest", "https://app.tubeonai.com/mcp",
"--header", "Authorization: Bearer YOUR_TOKEN"
]
}
}
}
Restart Claude Desktop after saving — no browser flow needed, the token is used directly.
Cursor — add to ~/.cursor/mcp.json:
{
"mcpServers": {
"TubeOnAI": {
"url": "https://app.tubeonai.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
Treat your MCP token like a password — anyone with it can act on your account.
Tools the MCP Server Exposes
| Tool | What it does | | ---- | ---- | | summarize | Create a summary, check status, repurpose, retry, or delete | |
query_content | List/get summaries, transcripts, repurposed content, saved prompts | | manage_credits | Check balance,
usage stats, transaction history | | search | Semantic or keyword search across your TubeOnAI library | |
manage_collections | Create, update, and organize summaries into collections | | manage_channels | Search,
subscribe/unsubscribe, and manage auto-summarize for YouTube channels |
Revoking an MCP Token
Go to Settings → Developer Features → MCP Tokens → Personal tokens and remove the token from the list — this takes
effect immediately, and the client will need a new token to reconnect. To disconnect a client that used the browser
sign-in flow instead, remove it from the Connected clients segment.
Creating Summaries
Request Body Structure
{
"url": "string (required)",
"type": "youtube | article | document | rumble",
"options": {
"detail_level": "concise | detailed | comprehensive",
"tone": "professional | casual | academic",
"model": "string (optional)",
"custom_prompt": "string (optional)"
},
"webhook_url": "string (optional)"
}
Content-Type Examples
YouTube Video
{
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"type": "youtube",
"options": { "detail_level": "detailed", "tone": "professional" }
}
Short URL:
{
"url": "https://youtu.be/dQw4w9WgXcQ",
"options": { "detail_level": "comprehensive" }
}
Web Article
{
"url": "https://example.com/blog/interesting-article",
"type": "article",
"options": { "detail_level": "concise", "tone": "casual" }
}
PDF
{
"url": "https://example.com/reports/annual-report.pdf",
"type": "document",
"options": { "detail_level": "comprehensive", "tone": "academic" }
}
DOCX
{
"url": "https://example.com/docs/meeting-notes.docx",
"type": "document",
"options": { "detail_level": "concise", "tone": "professional" }
}
TXT
{
"url": "https://example.com/files/readme.txt",
"type": "document",
"options": { "detail_level": "detailed" }
}
Rumble Video
{
"url": "https://rumble.com/v5e0nip-video-title.html",
"type": "rumble",
"options": { "detail_level": "detailed", "tone": "professional" }
}
Request Options Explained
| Field | Values | Description | | ---- | ---- | ---- | | type | youtube, article, document, rumble | Content source | |
detail_level | concise, detailed (default), comprehensive | Summary length | | tone | professional (default), casual,
academic | Writing style | | custom_prompt | Text | Custom instructions | | webhook_url | URL | Automatic callback |
Response Examples
Summary Request Created
{
"success": true,
"message": "Summary request created successfully.",
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending",
"estimated_time": "2-5 minutes"
}
}
Status Values:
- pending
- processing
- completed
- failed
Retrieve Summary Result
curl -X GET "https://app.tubeonai.com/api/developer/v1/summaries/SUMMARY_ID" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Completed example:
{
"success": true,
"data": {
"status": "completed",
"title": "How to Build a Successful Startup",
"summary": "This video covers...",
"key_points": [
"Start with a problem worth solving",
"Build a minimum viable product",
"Focus on customer feedback"
],
"duration": 1200
}
}
Full cURL Library
Includes examples for:
- YouTube
- Articles
- Documents
- TXT
- Rumble (All formatted versions remain unchanged.)
Repurposing Summaries
Request Schema
{
"summary_id": "string",
"format": "linkedin | twitter | blog | email | bullet_points | custom",
"prompt": "optional",
"tone": "optional"
}
Supported Repurpose Formats
| Format | Output Style | Use Case | | ---- | ---- | ---- | | linkedin | Optimized LinkedIn post | Professional posts |
| twitter | 5-tweet thread | Social content | | blog | Long-form content | SEO and articles | | email | Newsletter style
| Campaigns | | bullet_points | Key takeaways | Presentations | | custom | Fully custom | Scripts, sales copy |
Usage and Rate Limits
Check Credits
curl -X GET "https://app.tubeonai.com/api/developer/v1/usage/credits" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Check Usage
curl -X GET "https://app.tubeonai.com/api/developer/v1/usage" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Processing Time Overview
| Content Type | Average Time | Maximum | | ---- | ---- | ---- | | YouTube | 2–5 min | 60 min | | Web Article | 1–3 min
| — | | Podcast | 3–7 min | 120 min | | Document | 2–4 min | 500 pages | | Rumble | 3–5 min | 60 min | Repeated content
is cached for faster responses.
Common Issues and Fixes
Unauthenticated
- Missing or incorrect API key
- Ensure keys start with pk_live_
- Confirm the key is active
Insufficient Credits
- Check remaining usage
- Upgrade or purchase additional credits
Rate Limit Exceeded
- Limit: 60 requests per minute
- Add retry/delay logic
Long Processing Time
- Large content can take longer
- Poll every 10–15 seconds
- Retry if stuck beyond a reasonable threshold
Best Practices
Recommended
- Use environment variables
- Cache repeated content
- Use webhooks for asynchronous workflows
- Implement retries and error handling
Avoid
- Exposing API keys (or MCP tokens) on the front-end
- Sending duplicate or spam requests
- Using production keys for local testing
API Reference Summary
Base URL
https://app.tubeonai.com
Authorization Header
Authorization: Bearer pk_live_YOUR_API_KEY_HERE
Endpoints
All endpoints below are prefixed with /api/developer/v1. | Endpoint | Method | Description | | ---- | ---- | ---- | |
/api/developer/v1/summaries | POST | Create summary | | /api/developer/v1/summaries/{id} | GET | Check summary | |
/api/developer/v1/summaries | GET | List summaries | | /api/developer/v1/repurpose | POST | Repurpose | |
/api/developer/v1/usage/credits | GET | Check credits | | /api/developer/v1/usage | GET | Usage stats |
MCP Server
https://app.tubeonai.com/mcp — see "Connect an AI Assistant via MCP" above for setup.