OpenAI Prompts Editor
View and edit prompts used for generating content. Click "Expand" to view full prompt, "Edit" to modify (password required).
Available Variables
Click any variable to copy it to your clipboard
{guest_name}
Guest's full name
{guest_title}
Guest's job title or role
{guest_company}
Guest's company or organization name
{guest_linkedin}
Guest's LinkedIn profile URL
{transcript}
Full episode transcript text (auto-truncated per prompt type)
{transcript_with_timecodes}
Transcript with timestamps formatted as [HH:MM:SS] (for quotes and chapters)
{video_title}
Audio file or video title
{video_duration}
Video/audio duration in seconds
YouTube Summary
Blog Post
Clickbait Titles
Two Line Summary
Quotes
Chapter Timestamps
LinkedIn Post
Keywords
Password Required
Enter master password to edit this prompt.
⚠️ Warning: Prompt Changes
Changing prompts will affect all future content generation deliverables:
- All newly generated content will use the updated prompts
- Existing generated content will NOT be affected
- Changes will impact: YouTube Summary, Blog Post, Titles, Quotes, LinkedIn Posts, Keywords, and all other deliverables
- This action cannot be easily undone
Are you absolutely sure you want to save these changes?
Projects Gallery
Browse and open your previously processed projects from local storage.
No projects found in local storage.
Process a video to create your first project.
Text Gen API
Use the webhook API to generate content programmatically. All endpoints require Bearer token authentication.
Webhook URL
Authentication
All API requests require Bearer token authentication in the Authorization header:
Authorization: Bearer YOUR_TOKEN_HERE
Endpoints
1. Generate All Content
POST /api/generate-content
Generates all content types in a single request.
Request Body
{
"transcript": "Full transcript text...",
"transcript_with_timecodes": [
{"start": 0, "text": "First sentence"},
{"start": 5, "text": "Second sentence"}
],
"guest_name": "John Doe",
"guest_title": "CEO",
"guest_company": "Company Name",
"guest_linkedin": "https://www.linkedin.com/in/johndoe",
"video_title": "Episode Title",
"video_duration": 3600
}
Response
{
"youtube_summary": "3 paragraph summary...",
"blog_post": "2000 word blog post...",
"clickbait_titles": ["Title 1", "Title 2", ...],
"two_line_summary": "Two line summary...",
"quotes": ["Quote 1", "Quote 2", ...],
"chapter_timestamps": ["00:00 Introduction", ...],
"linkedin_post": "LinkedIn post content...",
"keywords": "keyword1, keyword2, ...",
"hashtags": "#keyword1 #keyword2 ..."
}
2. Generate Single Content Type
POST /api/generate-content/{content_type}
Generates a single content type. Available types:
youtube_summaryblog_postclickbait_titlestwo_line_summaryquoteschapter_timestampslinkedin_postkeywordshashtags
Example Request
POST /api/generate-content/youtube_summary
Authorization: Bearer YOUR_TOKEN_HERE
Content-Type: application/json
{
"transcript": "Full transcript text...",
"transcript_with_timecodes": [],
"guest_name": "John Doe",
"guest_title": "CEO",
"guest_company": "Company Name",
"guest_linkedin": "https://www.linkedin.com/in/johndoe",
"video_title": "Episode Title",
"video_duration": 3600
}
Example Response
{
"youtube_summary": "3 paragraph summary..."
}
Sample cURL Request
curl -X POST "https://contents.2160.media/api/generate-content/youtube_summary" \
-H "Authorization: Bearer YOUR_TOKEN_HERE" \
-H "Content-Type: application/json" \
-d '{
"transcript": "Full transcript text...",
"transcript_with_timecodes": [],
"guest_name": "John Doe",
"guest_title": "CEO",
"guest_company": "Company Name",
"guest_linkedin": "https://www.linkedin.com/in/johndoe",
"video_title": "Episode Title",
"video_duration": 3600
}'
Sample JavaScript Request
const response = await fetch('https://contents.2160.media/api/generate-content/youtube_summary', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_TOKEN_HERE',
'Content-Type': 'application/json'
},
body: JSON.stringify({
transcript: 'Full transcript text...',
transcript_with_timecodes: [],
guest_name: 'John Doe',
guest_title: 'CEO',
guest_company: 'Company Name',
guest_linkedin: 'https://www.linkedin.com/in/johndoe',
video_title: 'Episode Title',
video_duration: 3600
})
});
const data = await response.json();
console.log(data.youtube_summary);
Error Responses
All errors return a JSON object with a detail field:
{
"detail": "Error message here"
}
Common status codes:
- 401 - Authentication required
- 400 - Invalid request (missing fields, invalid content type, etc.)
- 500 - Server error