agent-recipes 0.0.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. agent_recipes/__init__.py +27 -0
  2. agent_recipes/recipe_runtime/__init__.py +28 -0
  3. agent_recipes/recipe_runtime/core.py +385 -0
  4. agent_recipes/templates/ai-ab-hook-tester/recipe.yaml +45 -0
  5. agent_recipes/templates/ai-ab-hook-tester/tools.py +169 -0
  6. agent_recipes/templates/ai-angle-generator/recipe.yaml +49 -0
  7. agent_recipes/templates/ai-angle-generator/tools.py +182 -0
  8. agent_recipes/templates/ai-api-doc-generator/README.md +59 -0
  9. agent_recipes/templates/ai-api-doc-generator/TEMPLATE.yaml +29 -0
  10. agent_recipes/templates/ai-api-tester/README.md +60 -0
  11. agent_recipes/templates/ai-api-tester/TEMPLATE.yaml +29 -0
  12. agent_recipes/templates/ai-audio-enhancer/README.md +59 -0
  13. agent_recipes/templates/ai-audio-enhancer/TEMPLATE.yaml +28 -0
  14. agent_recipes/templates/ai-audio-normalizer/README.md +13 -0
  15. agent_recipes/templates/ai-audio-normalizer/TEMPLATE.yaml +44 -0
  16. agent_recipes/templates/ai-audio-splitter/README.md +14 -0
  17. agent_recipes/templates/ai-audio-splitter/TEMPLATE.yaml +47 -0
  18. agent_recipes/templates/ai-background-music-generator/README.md +59 -0
  19. agent_recipes/templates/ai-background-music-generator/TEMPLATE.yaml +28 -0
  20. agent_recipes/templates/ai-background-remover/README.md +60 -0
  21. agent_recipes/templates/ai-background-remover/TEMPLATE.yaml +27 -0
  22. agent_recipes/templates/ai-barcode-scanner/README.md +60 -0
  23. agent_recipes/templates/ai-barcode-scanner/TEMPLATE.yaml +26 -0
  24. agent_recipes/templates/ai-blog-generator/README.md +59 -0
  25. agent_recipes/templates/ai-blog-generator/TEMPLATE.yaml +28 -0
  26. agent_recipes/templates/ai-brief-generator/recipe.yaml +52 -0
  27. agent_recipes/templates/ai-brief-generator/tools.py +231 -0
  28. agent_recipes/templates/ai-broll-builder/recipe.yaml +47 -0
  29. agent_recipes/templates/ai-broll-builder/tools.py +204 -0
  30. agent_recipes/templates/ai-calendar-scheduler/README.md +60 -0
  31. agent_recipes/templates/ai-calendar-scheduler/TEMPLATE.yaml +29 -0
  32. agent_recipes/templates/ai-changelog-generator/README.md +14 -0
  33. agent_recipes/templates/ai-changelog-generator/TEMPLATE.yaml +46 -0
  34. agent_recipes/templates/ai-chart-generator/README.md +61 -0
  35. agent_recipes/templates/ai-chart-generator/TEMPLATE.yaml +32 -0
  36. agent_recipes/templates/ai-code-documenter/README.md +12 -0
  37. agent_recipes/templates/ai-code-documenter/TEMPLATE.yaml +37 -0
  38. agent_recipes/templates/ai-code-refactorer/README.md +59 -0
  39. agent_recipes/templates/ai-code-refactorer/TEMPLATE.yaml +28 -0
  40. agent_recipes/templates/ai-code-reviewer/README.md +59 -0
  41. agent_recipes/templates/ai-code-reviewer/TEMPLATE.yaml +31 -0
  42. agent_recipes/templates/ai-color-palette-extractor/README.md +60 -0
  43. agent_recipes/templates/ai-color-palette-extractor/TEMPLATE.yaml +27 -0
  44. agent_recipes/templates/ai-comment-miner/recipe.yaml +40 -0
  45. agent_recipes/templates/ai-comment-miner/tools.py +141 -0
  46. agent_recipes/templates/ai-commit-message-generator/README.md +59 -0
  47. agent_recipes/templates/ai-commit-message-generator/TEMPLATE.yaml +31 -0
  48. agent_recipes/templates/ai-content-calendar/recipe.yaml +43 -0
  49. agent_recipes/templates/ai-content-calendar/tools.py +170 -0
  50. agent_recipes/templates/ai-context-enricher/recipe.yaml +48 -0
  51. agent_recipes/templates/ai-context-enricher/tools.py +258 -0
  52. agent_recipes/templates/ai-contract-analyzer/README.md +60 -0
  53. agent_recipes/templates/ai-contract-analyzer/TEMPLATE.yaml +34 -0
  54. agent_recipes/templates/ai-csv-cleaner/README.md +13 -0
  55. agent_recipes/templates/ai-csv-cleaner/TEMPLATE.yaml +45 -0
  56. agent_recipes/templates/ai-cta-generator/recipe.yaml +54 -0
  57. agent_recipes/templates/ai-cta-generator/tools.py +174 -0
  58. agent_recipes/templates/ai-daily-news-show/recipe.yaml +103 -0
  59. agent_recipes/templates/ai-daily-news-show/tools.py +308 -0
  60. agent_recipes/templates/ai-data-anonymizer/README.md +60 -0
  61. agent_recipes/templates/ai-data-anonymizer/TEMPLATE.yaml +31 -0
  62. agent_recipes/templates/ai-data-profiler/README.md +14 -0
  63. agent_recipes/templates/ai-data-profiler/TEMPLATE.yaml +42 -0
  64. agent_recipes/templates/ai-dependency-auditor/README.md +12 -0
  65. agent_recipes/templates/ai-dependency-auditor/TEMPLATE.yaml +37 -0
  66. agent_recipes/templates/ai-doc-translator/README.md +12 -0
  67. agent_recipes/templates/ai-doc-translator/TEMPLATE.yaml +41 -0
  68. agent_recipes/templates/ai-duplicate-finder/README.md +59 -0
  69. agent_recipes/templates/ai-duplicate-finder/TEMPLATE.yaml +28 -0
  70. agent_recipes/templates/ai-ebook-converter/README.md +60 -0
  71. agent_recipes/templates/ai-ebook-converter/TEMPLATE.yaml +27 -0
  72. agent_recipes/templates/ai-email-parser/README.md +59 -0
  73. agent_recipes/templates/ai-email-parser/TEMPLATE.yaml +29 -0
  74. agent_recipes/templates/ai-etl-pipeline/README.md +60 -0
  75. agent_recipes/templates/ai-etl-pipeline/TEMPLATE.yaml +30 -0
  76. agent_recipes/templates/ai-excel-formula-generator/README.md +59 -0
  77. agent_recipes/templates/ai-excel-formula-generator/TEMPLATE.yaml +28 -0
  78. agent_recipes/templates/ai-face-blur/README.md +60 -0
  79. agent_recipes/templates/ai-face-blur/TEMPLATE.yaml +28 -0
  80. agent_recipes/templates/ai-fact-checker/recipe.yaml +52 -0
  81. agent_recipes/templates/ai-fact-checker/tools.py +279 -0
  82. agent_recipes/templates/ai-faq-generator/README.md +59 -0
  83. agent_recipes/templates/ai-faq-generator/TEMPLATE.yaml +28 -0
  84. agent_recipes/templates/ai-file-organizer/README.md +59 -0
  85. agent_recipes/templates/ai-file-organizer/TEMPLATE.yaml +29 -0
  86. agent_recipes/templates/ai-folder-packager/README.md +15 -0
  87. agent_recipes/templates/ai-folder-packager/TEMPLATE.yaml +48 -0
  88. agent_recipes/templates/ai-form-filler/README.md +60 -0
  89. agent_recipes/templates/ai-form-filler/TEMPLATE.yaml +30 -0
  90. agent_recipes/templates/ai-hashtag-optimizer/recipe.yaml +45 -0
  91. agent_recipes/templates/ai-hashtag-optimizer/tools.py +134 -0
  92. agent_recipes/templates/ai-hook-generator/recipe.yaml +50 -0
  93. agent_recipes/templates/ai-hook-generator/tools.py +177 -0
  94. agent_recipes/templates/ai-image-captioner/README.md +59 -0
  95. agent_recipes/templates/ai-image-captioner/TEMPLATE.yaml +28 -0
  96. agent_recipes/templates/ai-image-cataloger/README.md +13 -0
  97. agent_recipes/templates/ai-image-cataloger/TEMPLATE.yaml +39 -0
  98. agent_recipes/templates/ai-image-optimizer/README.md +13 -0
  99. agent_recipes/templates/ai-image-optimizer/TEMPLATE.yaml +43 -0
  100. agent_recipes/templates/ai-image-resizer/README.md +12 -0
  101. agent_recipes/templates/ai-image-resizer/TEMPLATE.yaml +39 -0
  102. agent_recipes/templates/ai-image-tagger/README.md +59 -0
  103. agent_recipes/templates/ai-image-tagger/TEMPLATE.yaml +28 -0
  104. agent_recipes/templates/ai-image-upscaler/README.md +60 -0
  105. agent_recipes/templates/ai-image-upscaler/TEMPLATE.yaml +27 -0
  106. agent_recipes/templates/ai-invoice-processor/README.md +60 -0
  107. agent_recipes/templates/ai-invoice-processor/TEMPLATE.yaml +34 -0
  108. agent_recipes/templates/ai-json-to-csv/README.md +12 -0
  109. agent_recipes/templates/ai-json-to-csv/TEMPLATE.yaml +36 -0
  110. agent_recipes/templates/ai-log-analyzer/README.md +59 -0
  111. agent_recipes/templates/ai-log-analyzer/TEMPLATE.yaml +28 -0
  112. agent_recipes/templates/ai-markdown-to-pdf/README.md +12 -0
  113. agent_recipes/templates/ai-markdown-to-pdf/TEMPLATE.yaml +40 -0
  114. agent_recipes/templates/ai-meeting-summarizer/README.md +59 -0
  115. agent_recipes/templates/ai-meeting-summarizer/TEMPLATE.yaml +32 -0
  116. agent_recipes/templates/ai-meta-tag-generator/README.md +59 -0
  117. agent_recipes/templates/ai-meta-tag-generator/TEMPLATE.yaml +28 -0
  118. agent_recipes/templates/ai-news-capture-pack/recipe.yaml +42 -0
  119. agent_recipes/templates/ai-news-capture-pack/tools.py +150 -0
  120. agent_recipes/templates/ai-news-crawler/recipe.yaml +99 -0
  121. agent_recipes/templates/ai-news-crawler/tools.py +417 -0
  122. agent_recipes/templates/ai-news-deduper/recipe.yaml +47 -0
  123. agent_recipes/templates/ai-news-deduper/tools.py +235 -0
  124. agent_recipes/templates/ai-newsletter-generator/README.md +59 -0
  125. agent_recipes/templates/ai-newsletter-generator/TEMPLATE.yaml +28 -0
  126. agent_recipes/templates/ai-note-summarizer/README.md +59 -0
  127. agent_recipes/templates/ai-note-summarizer/TEMPLATE.yaml +28 -0
  128. agent_recipes/templates/ai-pdf-summarizer/README.md +12 -0
  129. agent_recipes/templates/ai-pdf-summarizer/TEMPLATE.yaml +40 -0
  130. agent_recipes/templates/ai-pdf-to-markdown/README.md +19 -0
  131. agent_recipes/templates/ai-pdf-to-markdown/TEMPLATE.yaml +63 -0
  132. agent_recipes/templates/ai-performance-analyzer/recipe.yaml +45 -0
  133. agent_recipes/templates/ai-performance-analyzer/tools.py +159 -0
  134. agent_recipes/templates/ai-podcast-cleaner/README.md +117 -0
  135. agent_recipes/templates/ai-podcast-cleaner/TEMPLATE.yaml +117 -0
  136. agent_recipes/templates/ai-podcast-cleaner/agents.yaml +59 -0
  137. agent_recipes/templates/ai-podcast-cleaner/workflow.yaml +77 -0
  138. agent_recipes/templates/ai-podcast-transcriber/README.md +59 -0
  139. agent_recipes/templates/ai-podcast-transcriber/TEMPLATE.yaml +32 -0
  140. agent_recipes/templates/ai-post-copy-generator/recipe.yaml +41 -0
  141. agent_recipes/templates/ai-post-copy-generator/tools.py +105 -0
  142. agent_recipes/templates/ai-product-description-generator/README.md +59 -0
  143. agent_recipes/templates/ai-product-description-generator/TEMPLATE.yaml +28 -0
  144. agent_recipes/templates/ai-publisher-pack/recipe.yaml +44 -0
  145. agent_recipes/templates/ai-publisher-pack/tools.py +252 -0
  146. agent_recipes/templates/ai-qr-code-generator/README.md +60 -0
  147. agent_recipes/templates/ai-qr-code-generator/TEMPLATE.yaml +26 -0
  148. agent_recipes/templates/ai-regex-generator/README.md +59 -0
  149. agent_recipes/templates/ai-regex-generator/TEMPLATE.yaml +28 -0
  150. agent_recipes/templates/ai-repo-readme/README.md +13 -0
  151. agent_recipes/templates/ai-repo-readme/TEMPLATE.yaml +42 -0
  152. agent_recipes/templates/ai-report-generator/README.md +61 -0
  153. agent_recipes/templates/ai-report-generator/TEMPLATE.yaml +32 -0
  154. agent_recipes/templates/ai-resume-parser/README.md +60 -0
  155. agent_recipes/templates/ai-resume-parser/TEMPLATE.yaml +33 -0
  156. agent_recipes/templates/ai-rss-aggregator/README.md +60 -0
  157. agent_recipes/templates/ai-rss-aggregator/TEMPLATE.yaml +30 -0
  158. agent_recipes/templates/ai-schema-generator/README.md +12 -0
  159. agent_recipes/templates/ai-schema-generator/TEMPLATE.yaml +34 -0
  160. agent_recipes/templates/ai-screen-recorder/recipe.yaml +43 -0
  161. agent_recipes/templates/ai-screen-recorder/tools.py +184 -0
  162. agent_recipes/templates/ai-screenshot-capture/recipe.yaml +45 -0
  163. agent_recipes/templates/ai-screenshot-capture/tools.py +231 -0
  164. agent_recipes/templates/ai-screenshot-ocr/README.md +12 -0
  165. agent_recipes/templates/ai-screenshot-ocr/TEMPLATE.yaml +37 -0
  166. agent_recipes/templates/ai-script-writer/recipe.yaml +58 -0
  167. agent_recipes/templates/ai-script-writer/tools.py +297 -0
  168. agent_recipes/templates/ai-sentiment-analyzer/README.md +59 -0
  169. agent_recipes/templates/ai-sentiment-analyzer/TEMPLATE.yaml +28 -0
  170. agent_recipes/templates/ai-seo-optimizer/README.md +59 -0
  171. agent_recipes/templates/ai-seo-optimizer/TEMPLATE.yaml +28 -0
  172. agent_recipes/templates/ai-signal-ranker/recipe.yaml +54 -0
  173. agent_recipes/templates/ai-signal-ranker/tools.py +256 -0
  174. agent_recipes/templates/ai-sitemap-generator/README.md +59 -0
  175. agent_recipes/templates/ai-sitemap-generator/TEMPLATE.yaml +26 -0
  176. agent_recipes/templates/ai-sitemap-scraper/README.md +13 -0
  177. agent_recipes/templates/ai-sitemap-scraper/TEMPLATE.yaml +41 -0
  178. agent_recipes/templates/ai-slide-generator/README.md +60 -0
  179. agent_recipes/templates/ai-slide-generator/TEMPLATE.yaml +29 -0
  180. agent_recipes/templates/ai-slide-to-notes/README.md +12 -0
  181. agent_recipes/templates/ai-slide-to-notes/TEMPLATE.yaml +37 -0
  182. agent_recipes/templates/ai-social-media-generator/README.md +59 -0
  183. agent_recipes/templates/ai-social-media-generator/TEMPLATE.yaml +28 -0
  184. agent_recipes/templates/ai-sql-generator/README.md +59 -0
  185. agent_recipes/templates/ai-sql-generator/TEMPLATE.yaml +28 -0
  186. agent_recipes/templates/ai-subtitle-generator/README.md +59 -0
  187. agent_recipes/templates/ai-subtitle-generator/TEMPLATE.yaml +31 -0
  188. agent_recipes/templates/ai-test-generator/README.md +59 -0
  189. agent_recipes/templates/ai-test-generator/TEMPLATE.yaml +28 -0
  190. agent_recipes/templates/ai-translation-batch/README.md +59 -0
  191. agent_recipes/templates/ai-translation-batch/TEMPLATE.yaml +28 -0
  192. agent_recipes/templates/ai-url-to-markdown/README.md +14 -0
  193. agent_recipes/templates/ai-url-to-markdown/TEMPLATE.yaml +44 -0
  194. agent_recipes/templates/ai-video-chapter-generator/README.md +59 -0
  195. agent_recipes/templates/ai-video-chapter-generator/TEMPLATE.yaml +32 -0
  196. agent_recipes/templates/ai-video-compressor/README.md +59 -0
  197. agent_recipes/templates/ai-video-compressor/TEMPLATE.yaml +28 -0
  198. agent_recipes/templates/ai-video-editor/README.md +254 -0
  199. agent_recipes/templates/ai-video-editor/TEMPLATE.yaml +139 -0
  200. agent_recipes/templates/ai-video-editor/agents.yaml +36 -0
  201. agent_recipes/templates/ai-video-editor/requirements.txt +8 -0
  202. agent_recipes/templates/ai-video-editor/scripts/run.sh +10 -0
  203. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__init__.py +45 -0
  204. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__main__.py +8 -0
  205. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/__init__.cpython-312.pyc +0 -0
  206. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/cli.cpython-312.pyc +0 -0
  207. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/config.cpython-312.pyc +0 -0
  208. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/ffmpeg_probe.cpython-312.pyc +0 -0
  209. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/heuristics.cpython-312.pyc +0 -0
  210. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/llm_plan.cpython-312.pyc +0 -0
  211. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/models.cpython-312.pyc +0 -0
  212. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/pipeline.cpython-312.pyc +0 -0
  213. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/render.cpython-312.pyc +0 -0
  214. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/timeline.cpython-312.pyc +0 -0
  215. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/transcribe.cpython-312.pyc +0 -0
  216. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/utils.cpython-312.pyc +0 -0
  217. agent_recipes/templates/ai-video-editor/src/ai_video_editor/cli.py +343 -0
  218. agent_recipes/templates/ai-video-editor/src/ai_video_editor/config.py +102 -0
  219. agent_recipes/templates/ai-video-editor/src/ai_video_editor/ffmpeg_probe.py +92 -0
  220. agent_recipes/templates/ai-video-editor/src/ai_video_editor/heuristics.py +119 -0
  221. agent_recipes/templates/ai-video-editor/src/ai_video_editor/llm_plan.py +277 -0
  222. agent_recipes/templates/ai-video-editor/src/ai_video_editor/models.py +343 -0
  223. agent_recipes/templates/ai-video-editor/src/ai_video_editor/pipeline.py +287 -0
  224. agent_recipes/templates/ai-video-editor/src/ai_video_editor/render.py +274 -0
  225. agent_recipes/templates/ai-video-editor/src/ai_video_editor/timeline.py +278 -0
  226. agent_recipes/templates/ai-video-editor/src/ai_video_editor/transcribe.py +233 -0
  227. agent_recipes/templates/ai-video-editor/src/ai_video_editor/utils.py +222 -0
  228. agent_recipes/templates/ai-video-editor/src/input.mov +0 -0
  229. agent_recipes/templates/ai-video-editor/src/out.mp4 +0 -0
  230. agent_recipes/templates/ai-video-editor/tests/test_heuristics.py +130 -0
  231. agent_recipes/templates/ai-video-editor/tests/test_models.py +152 -0
  232. agent_recipes/templates/ai-video-editor/tests/test_timeline.py +105 -0
  233. agent_recipes/templates/ai-video-editor/workflow.yaml +51 -0
  234. agent_recipes/templates/ai-video-highlight-extractor/README.md +60 -0
  235. agent_recipes/templates/ai-video-highlight-extractor/TEMPLATE.yaml +33 -0
  236. agent_recipes/templates/ai-video-merger/recipe.yaml +40 -0
  237. agent_recipes/templates/ai-video-merger/tools.py +172 -0
  238. agent_recipes/templates/ai-video-thumbnails/README.md +16 -0
  239. agent_recipes/templates/ai-video-thumbnails/TEMPLATE.yaml +53 -0
  240. agent_recipes/templates/ai-video-to-gif/README.md +14 -0
  241. agent_recipes/templates/ai-video-to-gif/TEMPLATE.yaml +64 -0
  242. agent_recipes/templates/ai-voice-cloner/README.md +59 -0
  243. agent_recipes/templates/ai-voice-cloner/TEMPLATE.yaml +31 -0
  244. agent_recipes/templates/ai-voiceover-generator/recipe.yaml +41 -0
  245. agent_recipes/templates/ai-voiceover-generator/tools.py +194 -0
  246. agent_recipes/templates/ai-watermark-adder/README.md +59 -0
  247. agent_recipes/templates/ai-watermark-adder/TEMPLATE.yaml +26 -0
  248. agent_recipes/templates/ai-watermark-remover/README.md +60 -0
  249. agent_recipes/templates/ai-watermark-remover/TEMPLATE.yaml +32 -0
  250. agent_recipes/templates/data-transformer/README.md +75 -0
  251. agent_recipes/templates/data-transformer/TEMPLATE.yaml +63 -0
  252. agent_recipes/templates/data-transformer/agents.yaml +70 -0
  253. agent_recipes/templates/data-transformer/workflow.yaml +92 -0
  254. agent_recipes/templates/shorts-generator/README.md +61 -0
  255. agent_recipes/templates/shorts-generator/TEMPLATE.yaml +65 -0
  256. agent_recipes/templates/shorts-generator/agents.yaml +66 -0
  257. agent_recipes/templates/shorts-generator/workflow.yaml +86 -0
  258. agent_recipes/templates/transcript-generator/README.md +103 -0
  259. agent_recipes/templates/transcript-generator/TEMPLATE.yaml +57 -0
  260. agent_recipes/templates/transcript-generator/agents.yaml +62 -0
  261. agent_recipes/templates/transcript-generator/workflow.yaml +82 -0
  262. agent_recipes/templates/video-editor/README.md +70 -0
  263. agent_recipes/templates/video-editor/TEMPLATE.yaml +55 -0
  264. agent_recipes/templates/video-editor/agents.yaml +68 -0
  265. agent_recipes/templates/video-editor/workflow.yaml +92 -0
  266. agent_recipes-0.0.5.dist-info/METADATA +145 -0
  267. agent_recipes-0.0.5.dist-info/RECORD +269 -0
  268. agent_recipes-0.0.5.dist-info/WHEEL +5 -0
  269. agent_recipes-0.0.5.dist-info/top_level.txt +1 -0
  270. /236/326/177nE/243/231/214/232/265/322m/201/253/353/022C/372/321/266/b/225^=/272/017t/262/3337/310@/315wb/341pB/277z/216/330/314/004/265B/213/375/236/203/026/373/307/354z41/347#/374q/262/22589/032/276 /277/244Vh/322/017/004/224/215/004/367/377/375/335/n +0 -0
@@ -0,0 +1,254 @@
1
+ # AI Video Editor Recipe
2
+
3
+ End-to-end AI-powered video editing that automatically cleans up your videos by removing filler words, repetitions, tangents, and long silences.
4
+
5
+ **This is a self-contained recipe** - no modifications to praisonai or praisonaiagents required.
6
+
7
+ ## Features
8
+
9
+ - **Automatic Transcription**: Word-level timestamps using OpenAI Whisper
10
+ - **Filler Word Removal**: Removes "um", "uh", "like", "you know", etc.
11
+ - **Repetition Detection**: Removes stutters and repeated phrases
12
+ - **Tangent Removal**: LLM-based detection of off-topic content
13
+ - **Silence Removal**: Removes long pauses above configurable threshold
14
+ - **Caption Generation**: SRT files or burned-in captions
15
+ - **Edit Decision List**: Professional EDL output for further editing
16
+
17
+ ## Requirements
18
+
19
+ ### System Dependencies
20
+
21
+ - **FFmpeg**: Required for video processing
22
+ ```bash
23
+ # macOS
24
+ brew install ffmpeg
25
+
26
+ # Linux (Ubuntu/Debian)
27
+ sudo apt install ffmpeg
28
+
29
+ # Windows
30
+ # Download from https://ffmpeg.org/download.html
31
+ ```
32
+
33
+ ### Python Dependencies
34
+
35
+ ```bash
36
+ pip install openai
37
+ ```
38
+
39
+ ### Environment Variables
40
+
41
+ ```bash
42
+ export OPENAI_API_KEY="your-key-here"
43
+ ```
44
+
45
+ ## Quick Start
46
+
47
+ ### Using Recipe CLI (Recommended)
48
+
49
+ ```bash
50
+ # Navigate to recipe directory
51
+ cd /path/to/Agent-Recipes/agent_recipes/templates/ai-video-editor/src
52
+
53
+ # Check dependencies
54
+ python -m ai_video_editor.cli doctor
55
+
56
+ # Edit a video
57
+ python -m ai_video_editor.cli edit input.mp4 --preset podcast --output out.mp4
58
+
59
+ # Probe video metadata
60
+ python -m ai_video_editor.cli probe input.mp4
61
+
62
+ # Generate transcript only
63
+ python -m ai_video_editor.cli transcript input.mp4 --output transcript.srt
64
+ ```
65
+
66
+ ### Using PraisonAI Templates
67
+
68
+ ```bash
69
+ # List available templates
70
+ praisonai templates list
71
+
72
+ # Run the template
73
+ praisonai templates run ai-video-editor input.mp4 --output edited.mp4
74
+ ```
75
+
76
+ ### Using Python API
77
+
78
+ ```python
79
+ import sys
80
+ sys.path.insert(0, "/path/to/Agent-Recipes/agent_recipes/templates/ai-video-editor/src")
81
+
82
+ from ai_video_editor import edit, probe, transcript
83
+
84
+ # Simple edit
85
+ result = edit(
86
+ input_path="input.mp4",
87
+ preset="podcast",
88
+ output_path="out.mp4",
89
+ verbose=True
90
+ )
91
+
92
+ print(f"Output: {result.output_path}")
93
+ print(f"Saved: {result.time_saved:.1f}s")
94
+
95
+ # Custom settings
96
+ result = edit(
97
+ input_path="meeting.mp4",
98
+ remove_fillers=True,
99
+ remove_repetitions=True,
100
+ remove_tangents=True,
101
+ target_length="30m",
102
+ captions="srt",
103
+ verbose=True
104
+ )
105
+ ```
106
+
107
+ ## Presets
108
+
109
+ | Preset | Fillers | Repetitions | Tangents | Silence Threshold |
110
+ |--------|---------|-------------|----------|-------------------|
111
+ | podcast | ✓ | ✓ | ✗ | 700ms |
112
+ | meeting | ✓ | ✓ | ✓ | 1000ms |
113
+ | course | ✓ | ✓ | ✗ | 500ms |
114
+ | clean | ✓ | ✓ | ✓ | 600ms |
115
+
116
+ ## Output Files
117
+
118
+ After editing, you'll find these files in the working directory:
119
+
120
+ - `*_edited.mp4` - Final edited video
121
+ - `transcript.txt` - Plain text transcript
122
+ - `captions.srt` - SRT caption file
123
+ - `edit_plan.json` - Detailed edit plan with segments
124
+ - `edit_decision_list.edl` - Professional EDL file
125
+ - `report.json` - Complete processing report
126
+
127
+ ## CLI Reference
128
+
129
+ ### `edit` Command
130
+
131
+ ```bash
132
+ python -m ai_video_editor.cli edit <input> [options]
133
+
134
+ Options:
135
+ --output, -o PATH Output video path
136
+ --preset PRESET Edit preset (podcast, meeting, course, clean)
137
+ --remove-fillers Remove filler words
138
+ --remove-repetitions Remove repeated phrases
139
+ --remove-tangents Remove off-topic content
140
+ --auto-crop MODE Crop mode (off, center, face)
141
+ --target-length TIME Target duration (e.g., 6m, 90s)
142
+ --captions MODE Caption mode (off, srt, burn)
143
+ --provider PROVIDER Transcription provider (openai, local, auto)
144
+ --no-llm Use simple pattern matching
145
+ --force Overwrite output if exists
146
+ --json-report PATH Save JSON report
147
+ --verbose, -v Enable verbose output
148
+ ```
149
+
150
+ ### `probe` Command
151
+
152
+ ```bash
153
+ python -m ai_video_editor.cli probe <input> [--json]
154
+ ```
155
+
156
+ ### `transcript` Command
157
+
158
+ ```bash
159
+ python -m ai_video_editor.cli transcript <input> [options]
160
+
161
+ Options:
162
+ --output, -o PATH Output file path
163
+ --format FORMAT Output format (srt, txt, json)
164
+ --provider PROVIDER Transcription provider
165
+ --language LANG Language code (default: en)
166
+ ```
167
+
168
+ ### `doctor` Command
169
+
170
+ ```bash
171
+ python -m ai_video_editor.cli doctor
172
+ ```
173
+
174
+ ## How It Works
175
+
176
+ 1. **Probe**: Extract video metadata (duration, resolution, fps)
177
+ 2. **Transcribe**: Generate word-level timestamps using Whisper
178
+ 3. **Analyze**: LLM identifies segments to remove (or simple pattern matching with --no-llm)
179
+ 4. **Optimize**: Snap cuts to word boundaries, apply padding
180
+ 5. **Render**: Concatenate kept segments with FFmpeg
181
+ 6. **Report**: Generate transcript, captions, and edit report
182
+
183
+ ## Tips
184
+
185
+ - **Start with podcast preset** for general content
186
+ - **Use meeting preset** for recordings with off-topic discussion
187
+ - **Set target_length** to automatically prioritize cuts
188
+ - **Enable verbose mode** to see progress details
189
+ - **Check edit_plan.json** to review what was removed
190
+ - **Use --no-llm** for faster processing without API calls (after transcription)
191
+
192
+ ## Troubleshooting
193
+
194
+ ### FFmpeg not found
195
+
196
+ Install FFmpeg for your platform:
197
+ ```bash
198
+ # macOS
199
+ brew install ffmpeg
200
+
201
+ # Ubuntu
202
+ sudo apt install ffmpeg
203
+ ```
204
+
205
+ ### API key error
206
+
207
+ Set your OpenAI API key:
208
+ ```bash
209
+ export OPENAI_API_KEY="sk-..."
210
+ ```
211
+
212
+ ### Long videos timing out
213
+
214
+ For videos over 25MB audio, the system automatically chunks the transcription.
215
+ For very long videos (>2 hours), consider splitting first.
216
+
217
+ ### Check all dependencies
218
+
219
+ ```bash
220
+ python -m ai_video_editor.cli doctor
221
+ ```
222
+
223
+ ## Architecture
224
+
225
+ ```
226
+ ai-video-editor/
227
+ ├── TEMPLATE.yaml # Template metadata for discovery
228
+ ├── README.md # This file
229
+ ├── agents.yaml # Agent definitions
230
+ ├── workflow.yaml # Workflow definition
231
+ ├── requirements.txt # Python dependencies
232
+ ├── src/
233
+ │ └── ai_video_editor/ # Self-contained Python package
234
+ │ ├── __init__.py
235
+ │ ├── __main__.py # Entry point for python -m
236
+ │ ├── cli.py # CLI implementation
237
+ │ ├── pipeline.py # Main orchestrator
238
+ │ ├── config.py # Presets and configuration
239
+ │ ├── models.py # Data models
240
+ │ ├── utils.py # Utilities
241
+ │ ├── ffmpeg_probe.py
242
+ │ ├── transcribe.py
243
+ │ ├── heuristics.py
244
+ │ ├── llm_plan.py
245
+ │ ├── timeline.py
246
+ │ └── render.py
247
+ ├── tests/ # Unit tests
248
+ ├── examples/ # Example configurations
249
+ └── scripts/ # Helper scripts
250
+ ```
251
+
252
+ ## License
253
+
254
+ Apache-2.0
@@ -0,0 +1,139 @@
1
+ name: ai-video-editor
2
+ version: "1.0.0"
3
+ description: |
4
+ End-to-end AI-powered video editor that automatically:
5
+ - Understands video content through transcription
6
+ - Removes filler words (um, uh, like, you know)
7
+ - Removes word repetitions and stutters
8
+ - Identifies and removes tangent/off-topic segments
9
+ - Removes long silences
10
+ - Generates transcripts, captions, and edit decision lists
11
+ - Produces polished final video output
12
+
13
+ This is a SELF-CONTAINED recipe that runs independently.
14
+ No modifications to praisonai or praisonaiagents required.
15
+
16
+ author: praisonai
17
+ license: Apache-2.0
18
+ tags: [video, editing, ai, transcription, filler-removal, podcast, meeting, course]
19
+
20
+ requires:
21
+ tools: [shell_tool]
22
+ packages: [praisonai-tools]
23
+ env: [OPENAI_API_KEY]
24
+ tools_sources:
25
+ - praisonai_tools.video
26
+ external:
27
+ - name: ffmpeg
28
+ check: "ffmpeg -version"
29
+ install_hint: "brew install ffmpeg (macOS) or apt install ffmpeg (Linux)"
30
+
31
+ workflow: workflow.yaml
32
+ agents: agents.yaml
33
+
34
+ config:
35
+ input:
36
+ type: string
37
+ required: true
38
+ description: Input video file path
39
+ output:
40
+ type: string
41
+ description: Output video file path (default: input_edited.mp4)
42
+ preset:
43
+ type: string
44
+ default: podcast
45
+ enum: [podcast, meeting, course, clean]
46
+ description: Edit preset determining removal aggressiveness
47
+ remove_fillers:
48
+ type: boolean
49
+ default: true
50
+ description: Remove filler words (um, uh, like, etc.)
51
+ remove_repetitions:
52
+ type: boolean
53
+ default: true
54
+ description: Remove repeated phrases and stutters
55
+ remove_tangents:
56
+ type: boolean
57
+ default: false
58
+ description: Remove off-topic content (LLM-based)
59
+ remove_silence:
60
+ type: boolean
61
+ default: true
62
+ description: Remove long silences
63
+ target_length:
64
+ type: string
65
+ description: Target output duration (e.g., 6m, 90s)
66
+ verbose:
67
+ type: boolean
68
+ default: false
69
+ description: Enable verbose output
70
+
71
+ defaults:
72
+ preset: podcast
73
+ remove_fillers: true
74
+ remove_repetitions: true
75
+ remove_tangents: false
76
+ remove_silence: true
77
+ verbose: false
78
+
79
+ cli:
80
+ command: ai-video-editor
81
+ args:
82
+ - name: input
83
+ positional: true
84
+ required: true
85
+ description: Input video file
86
+ - name: --output
87
+ short: -o
88
+ description: Output video file
89
+ - name: --preset
90
+ short: -p
91
+ default: podcast
92
+ description: Edit preset (podcast, meeting, course, clean)
93
+ - name: --remove-fillers
94
+ flag: true
95
+ description: Remove filler words
96
+ - name: --remove-repetitions
97
+ flag: true
98
+ description: Remove repeated phrases
99
+ - name: --remove-tangents
100
+ flag: true
101
+ description: Remove off-topic content
102
+ - name: --target-length
103
+ description: Target duration (e.g., 6m, 90s)
104
+ - name: --verbose
105
+ short: -v
106
+ flag: true
107
+ description: Enable verbose output
108
+ examples:
109
+ - "python -m ai_video_editor.cli edit input.mp4 --preset podcast --output out.mp4"
110
+ - "python -m ai_video_editor.cli edit input.mp4 --remove-fillers --remove-tangents"
111
+ - "python -m ai_video_editor.cli probe input.mp4"
112
+ - "python -m ai_video_editor.cli transcript input.mp4 --output transcript.srt"
113
+ - "praisonai templates run ai-video-editor input.mp4 --output edited.mp4"
114
+
115
+ outputs:
116
+ - name: output_video
117
+ type: file
118
+ description: Final edited video file
119
+ - name: transcript
120
+ type: file
121
+ description: Plain text transcript
122
+ - name: captions
123
+ type: file
124
+ description: SRT caption file
125
+ - name: edit_plan
126
+ type: file
127
+ description: JSON edit plan with segments
128
+ - name: edl
129
+ type: file
130
+ description: Edit Decision List file
131
+ - name: report
132
+ type: file
133
+ description: Full JSON report with all metadata
134
+
135
+ # Self-contained execution
136
+ # This recipe can be run via:
137
+ # 1. praisonai templates run ai-video-editor <input> --output <output>
138
+ # 2. python -m ai_video_editor.cli edit <input> --output <output>
139
+ # 3. ./scripts/run.sh <input> --output <output>
@@ -0,0 +1,36 @@
1
+ framework: praisonai
2
+ topic: AI Video Editing Pipeline
3
+ roles:
4
+ video_editor:
5
+ role: Video Editor
6
+ goal: Edit videos by removing fillers, repetitions, tangents, and silences
7
+ backstory: |
8
+ I am an AI video editor that uses praisonai_tools.video to process videos.
9
+ I can analyze video content, transcribe audio, identify segments to remove,
10
+ and render polished final output.
11
+ tasks:
12
+ edit_video:
13
+ description: |
14
+ Edit the input video using AI analysis:
15
+ 1. Probe video to get metadata
16
+ 2. Transcribe audio with word-level timestamps
17
+ 3. Analyze content to identify segments to remove
18
+ 4. Optimize timeline and render final video
19
+
20
+ Input video: {input}
21
+ Output path: {output}
22
+ Preset: {preset}
23
+
24
+ Run the video editing CLI:
25
+ python -m praisonai_tools.video edit "{input}" --preset {preset} --output "{output}" -v
26
+ expected_output: |
27
+ Edited video file with:
28
+ - Filler words removed
29
+ - Repetitions removed
30
+ - Silences trimmed
31
+ - Transcript and captions generated
32
+ - Edit decision list created
33
+ tools:
34
+ - shell_tool
35
+
36
+ dependencies: []
@@ -0,0 +1,8 @@
1
+ # AI Video Editor - Python Dependencies
2
+ # Install with: pip install -r requirements.txt
3
+
4
+ # Required
5
+ openai>=1.0.0
6
+
7
+ # Optional - for local transcription
8
+ # faster-whisper>=1.0.0
@@ -0,0 +1,10 @@
1
+ #!/bin/bash
2
+ # AI Video Editor - Shell wrapper
3
+ # Usage: ./run.sh edit input.mp4 --preset podcast --output out.mp4
4
+
5
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6
+ RECIPE_DIR="$(dirname "$SCRIPT_DIR")"
7
+ SRC_DIR="$RECIPE_DIR/src"
8
+
9
+ # Run the CLI
10
+ cd "$SRC_DIR" && python -m ai_video_editor.cli "$@"
@@ -0,0 +1,45 @@
1
+ """
2
+ AI Video Editor - Self-contained recipe for PraisonAI
3
+
4
+ This module provides end-to-end AI-powered video editing:
5
+ - Transcription with word-level timestamps
6
+ - Filler word detection and removal
7
+ - Repetition detection
8
+ - Tangent/off-topic segment identification
9
+ - Timeline optimization
10
+ - FFmpeg-based rendering
11
+
12
+ Usage:
13
+ python -m ai_video_editor.cli edit input.mp4 --preset podcast
14
+ python -m ai_video_editor.cli probe input.mp4
15
+ python -m ai_video_editor.cli transcript input.mp4
16
+ """
17
+
18
+ __version__ = "1.0.0"
19
+
20
+ from .pipeline import edit, probe, transcript
21
+ from .config import PRESETS, EditConfig
22
+ from .models import (
23
+ Word,
24
+ Segment,
25
+ SegmentCategory,
26
+ EditPlan,
27
+ VideoProbeResult,
28
+ TranscriptResult,
29
+ VideoEditResult,
30
+ )
31
+
32
+ __all__ = [
33
+ "edit",
34
+ "probe",
35
+ "transcript",
36
+ "PRESETS",
37
+ "EditConfig",
38
+ "Word",
39
+ "Segment",
40
+ "SegmentCategory",
41
+ "EditPlan",
42
+ "VideoProbeResult",
43
+ "TranscriptResult",
44
+ "VideoEditResult",
45
+ ]
@@ -0,0 +1,8 @@
1
+ """
2
+ Entry point for running as python -m ai_video_editor
3
+ """
4
+
5
+ from .cli import main
6
+
7
+ if __name__ == "__main__":
8
+ main()