TubeOnAI Developer API — User Guide
Easily integrate AI-powered summaries into your applications using the TubeOnAI Developer API.
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
- Open Developer Features
- Click Create New API Key
- Name it (e.g., My App Integration)
- 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"
}
}
}
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" }
}
{
"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"
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 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
| Endpoint | Method | Description | | ---- | | /summaries | POST | Create summary | | /summaries/{id} | GET | Check summary | | /summaries | GET | List summaries | | /repurpose | POST | Repurpose | | /usage/credits | GET | Check credits | | /usage | GET | Usage stats |