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/jsonoverall: 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')}")