Home Feature Updates & Announcements TubeOnAI API Documentation: Setup, Usage, and Best Practices

TubeOnAI API Documentation: Setup, Usage, and Best Practices

Last updated on May 28, 2026

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" }
}

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"

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 |