Base URL:
http://snap-summary.com/summarize
Method: POST
Response Type: Streaming JSON (text chunks) with Markdown formatting
This endpoint summarises YouTube videos. It can return:
search_term
).
Note: Chat with video is not available via this endpoint.
Content-Type: application/json
overall
: Full summary.detailed-timestamps
: Detailed timestamped summary.
key-timestamps
: Key timestamp highlights.transcript
: Full video transcript.search
: Requires search_term
.custom
: Requires custom_prompt
.type=search
.
type=custom
.
key_takeaways
- Summarize main takeaways as bullet
points.
quick_overview
- TL;DR bullet points for YouTube
comments.
timeline
- Chronological event timeline (no
timestamps).
how_to_steps
- Step-by-step instructions.chapter
- Extract up to 10 chapter titles with
timestamps.
eli5
- Explain like I'm 5.visual_metaphor
- Use visual metaphors.definitions_explained
- Explain complex terms.
topic_breakdown
- Break down into topics.pros_cons
- List advantages and disadvantages.
data_statistics
- Extract key numbers and
statistics.
resource_links
- Only list mentioned resources
(books, websites, etc.).
related_resources
- Suggest further reading.faq_highlights
- List frequently asked questions.
question_generator
- Generate new questions based
on the video.
key_quotes
- Extract significant quotes with
timestamps.
humor_highlights
- Highlight humorous moments.
import requests
api_url = "http://snap-summary.com/summarize"
payload = {
"user_id": "YOUR_USER_ID", # contact snapsummary.contact@gmail.com to obtain
"url": "YOUTUBE_URL", # e.g. https://www.youtube.com/watch?v=dQw4w9WgXcQ
"language": "LANGUAGE", # e.g. "en", "es", "zh-CN", "hi", "pt", "fr" etc.
"type": "TYPE", # e.g. "overall", "detailed-timestamps", "key-timestamps", "transcript", "search"
"search_term": "",
"custom_prompt": ""
}
headers = {"Content-Type": "application/json"}
response = requests.post(api_url, json=payload, headers=headers, stream=True)
if response.status_code == 200:
for chunk in response.iter_content(chunk_size=None):
if chunk:
print(chunk.decode('utf-8'), end='')
else:
print(f"Error: {response.status_code} - {response.json().get('error')}")
import requests
api_url = "http://snap-summary.com/summarize"
payload = {
"user_id": "YOUR_USER_ID", # contact snapsummary.contact@gmail.com to obtain
"url": "YOUTUBE_URL", # e.g. https://www.youtube.com/watch?v=dQw4w9WgXcQ
"language": "LANGUAGE", # e.g. "en", "es", "zh-CN", "hi", "pt", "fr" etc.
"type": "TYPE", # e.g. "overall", "detailed-timestamps", "key-timestamps", "transcript", "search"
"search_term": "",
"custom_prompt": ""
}
headers = {"Content-Type": "application/json"}
response = requests.post(api_url, json=payload, headers=headers)
if response.status_code == 200:
print(response.text)
else:
print(f"Error: {response.status_code} - {response.json().get('error')}")