mirror of
https://github.com/jooray/rss2podcast.git
synced 2025-05-23 07:52:00 +00:00
115 lines
4.4 KiB
Plaintext
115 lines
4.4 KiB
Plaintext
![]() |
{
|
||
|
"podcast_id": "{podcast_id}",
|
||
|
"database": "postgresql://rss2podcast@localhost/rss2podcast",
|
||
|
"audio_output_directory": "podcast_audio/{podcast_id}",
|
||
|
"audio_url_prefix": "https://yourdomain.com/podcast_audio/{podcast_id}/",
|
||
|
"feed_output_filename": "podcast_audio/{podcast_id}/feed.xml",
|
||
|
"reprocess_episode": false,
|
||
|
"episode_description_template": "This episode was generated from your provided URL.",
|
||
|
"output_rss_feed": {
|
||
|
"title": "Your Personal Podcast Feed",
|
||
|
"link": "https://yourdomain.com/",
|
||
|
"description": "A personalized podcast feed generated by the RSS-to-Podcast Converter.",
|
||
|
"language": "en-US",
|
||
|
"generator": "rss2podcast",
|
||
|
"image": {
|
||
|
"url": "https://yourdomain.com/static/images/podcast_cover.jpg",
|
||
|
"title": "Podcast Cover",
|
||
|
"link": "https://yourdomain.com",
|
||
|
"width": 1400,
|
||
|
"height": 1400
|
||
|
},
|
||
|
"atom_link": {
|
||
|
"href": "https://yourdomain.com/podcast_audio/{podcast_id}/feed.xml",
|
||
|
"rel": "self",
|
||
|
"type": "application/rss+xml"
|
||
|
},
|
||
|
"itunes": {
|
||
|
"summary": "Your personalized podcast feed.",
|
||
|
"author": "RSS-to-Podcast Converter",
|
||
|
"explicit": false,
|
||
|
"image": {
|
||
|
"href": "https://yourdomain.com/static/images/podcast_cover.jpg"
|
||
|
},
|
||
|
"owner": {
|
||
|
"name": "Your Name",
|
||
|
"email": "you@example.com"
|
||
|
},
|
||
|
"subtitle": "Personalized Feed",
|
||
|
"category": [
|
||
|
{
|
||
|
"text": "Technology",
|
||
|
"subcategory": "Software How-To"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"googleplay": {
|
||
|
"category": "Education"
|
||
|
},
|
||
|
"podcast": {
|
||
|
"locked": "no",
|
||
|
"license": "V4V",
|
||
|
"medium": "podcast",
|
||
|
"podping": {
|
||
|
"usesPodping": "true"
|
||
|
},
|
||
|
"value": {
|
||
|
"type": "lightning",
|
||
|
"method": "keysend",
|
||
|
"suggested": "0.00000005000",
|
||
|
"recipients": [
|
||
|
{
|
||
|
"type": "node",
|
||
|
"split": "99",
|
||
|
"address": "02f1246b8fe904a5c5193504d8069532b1fb8692b84fb3eb64318b201238f60ff1",
|
||
|
"name": "Main Recipient"
|
||
|
},
|
||
|
{
|
||
|
"name": "boostbot@fountain.fm",
|
||
|
"type": "node",
|
||
|
"split": "1",
|
||
|
"address": "03b6f613e88bd874177c28c6ad83b3baba43c4c656f56be1f8df84669556054b79",
|
||
|
"customKey": "906608",
|
||
|
"customValue": "01IMQkt4BFzAiSynxcQQqd",
|
||
|
"fee": "true"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"blog_to_speech_llm": {
|
||
|
"enabled": true,
|
||
|
"endpoint": "http://127.0.0.1:11434",
|
||
|
"model": "dolphin-llama3:70b",
|
||
|
"prompt": "Please convert the text that begins after TEXT: below into a format suitable for an audio narration, with focus on minimal wording changes. Preserve markdown formatting. The text should be easy to understand for listeners without visual cues, such as parentheses or list formatting. Maintain the original meaning and details but adapt it for spoken language, do not summarize, simplify, keep the content as close to the original as possible. Break up long sentences if necessary to enhance clarity and listenability. If you add numbered bullet points, write them in words instead of numbers (\"First\" instead of \"1.\"). Change words into pronounced forms. \"fountain.fm\" would become \"fountain dot fm\", \"2.0\" would be \"two point oh\". Only output converted text, nothing else. TEXT:",
|
||
|
"max_chunk_size": 1000,
|
||
|
"max_length_difference": 0.25
|
||
|
},
|
||
|
"llm_verifier": {
|
||
|
"enabled": true,
|
||
|
"endpoint": "http://localhost:11434",
|
||
|
"model": "gemma3:27b",
|
||
|
"prompt": "Verify that the output text maintains the same meaning and content as the input text, without adding extra information or omitting important details. The output should be adapted for spoken language but should not significantly alter the original content. Respond with 'Valid' if the output meets these criteria, do not output anything else. If it does not meet this criteria, output 'Wrong:' and a justification on why. ",
|
||
|
"expected_output": "Valid"
|
||
|
},
|
||
|
"tts_options": {
|
||
|
"ref_audio": "voices/reference.wav",
|
||
|
"pause": 0.5,
|
||
|
"alpha": 0.3,
|
||
|
"beta": 0.7,
|
||
|
"diffusion_steps": 5,
|
||
|
"embedding_scale": 1.0,
|
||
|
"min_similarity": 0.9,
|
||
|
"split_at_headings": false,
|
||
|
"max_retries": 1
|
||
|
},
|
||
|
"prefix_audio_files": ["voices/01-intro.wav",
|
||
|
"voices/02-intro.wav"],
|
||
|
"postfix_audio_files": [ "voices/03-outro.wav" ],
|
||
|
"audio_speedup": 1.3,
|
||
|
"mp3_conversion": {
|
||
|
"bitrate": "192k",
|
||
|
"codec": "libmp3lame"
|
||
|
}
|
||
|
}
|