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,61 @@
1
+ # Shorts Generator
2
+
3
+ Generate short-form video clips from long videos for social media platforms.
4
+
5
+ ## Features
6
+
7
+ - **Multi-platform support**: TikTok, YouTube Shorts, Instagram Reels
8
+ - **AI content analysis**: Identifies viral-worthy moments
9
+ - **Auto-captioning**: Platform-optimized captions
10
+ - **Multiple aspect ratios**: 9:16, 1:1, 16:9
11
+
12
+ ## Requirements
13
+
14
+ - `OPENAI_API_KEY` environment variable
15
+ - Optional: `moviepy`, `pillow` for video processing
16
+
17
+ ## Usage
18
+
19
+ ### CLI
20
+
21
+ ```bash
22
+ # Basic usage
23
+ praisonai run shorts-generator ./video.mp4
24
+
25
+ # Custom settings
26
+ praisonai run shorts-generator ./video.mp4 --duration 30 --clips 5
27
+
28
+ # Different aspect ratio
29
+ praisonai run shorts-generator ./video.mp4 --aspect 1:1
30
+ ```
31
+
32
+ ### Python API
33
+
34
+ ```python
35
+ from praisonaiagents import Workflow
36
+
37
+ workflow = Workflow.from_template(
38
+ "shorts-generator",
39
+ config={
40
+ "input": "./video.mp4",
41
+ "duration": 45,
42
+ "num_clips": 5,
43
+ "caption_style": "bold"
44
+ }
45
+ )
46
+ result = workflow.run()
47
+ ```
48
+
49
+ ## Configuration
50
+
51
+ | Parameter | Type | Default | Description |
52
+ |-----------|------|---------|-------------|
53
+ | `input` | string | required | Video file path or YouTube URL |
54
+ | `duration` | integer | 60 | Target clip duration (15-90 seconds) |
55
+ | `aspect_ratio` | string | "9:16" | Aspect ratio: 9:16, 1:1, 16:9 |
56
+ | `caption_style` | string | "modern" | Caption style: modern, classic, minimal, bold |
57
+ | `num_clips` | integer | 3 | Number of clips to generate |
58
+
59
+ ## License
60
+
61
+ Apache-2.0
@@ -0,0 +1,65 @@
1
+ name: shorts-generator
2
+ version: "1.0.0"
3
+ description: Generate short-form video clips from long videos for social media
4
+ author: praisonai
5
+ license: Apache-2.0
6
+ tags: [video, shorts, clips, social-media, tiktok, youtube-shorts, reels]
7
+
8
+ requires:
9
+ tools: [youtube_tool]
10
+ packages: [moviepy, pillow]
11
+ env: [OPENAI_API_KEY]
12
+
13
+ workflow: workflow.yaml
14
+ agents: agents.yaml
15
+
16
+ config:
17
+ input:
18
+ type: string
19
+ required: true
20
+ description: Video file path or YouTube URL
21
+ duration:
22
+ type: integer
23
+ default: 60
24
+ description: Target clip duration in seconds (15-90)
25
+ aspect_ratio:
26
+ type: string
27
+ default: "9:16"
28
+ enum: ["9:16", "1:1", "16:9"]
29
+ caption_style:
30
+ type: string
31
+ default: "modern"
32
+ enum: [modern, classic, minimal, bold]
33
+ num_clips:
34
+ type: integer
35
+ default: 3
36
+ description: Number of clips to generate
37
+
38
+ defaults:
39
+ duration: 60
40
+ aspect_ratio: "9:16"
41
+ caption_style: modern
42
+ num_clips: 3
43
+
44
+ cli:
45
+ command: shorts
46
+ args:
47
+ - name: input
48
+ positional: true
49
+ description: Video file path or YouTube URL
50
+ - name: --duration
51
+ default: 60
52
+ description: Target clip duration in seconds
53
+ - name: --aspect
54
+ default: "9:16"
55
+ description: Aspect ratio (9:16, 1:1, 16:9)
56
+ - name: --style
57
+ default: modern
58
+ description: Caption style
59
+ - name: --clips
60
+ default: 3
61
+ description: Number of clips to generate
62
+ examples:
63
+ - praisonai run shorts-generator ./video.mp4
64
+ - praisonai run shorts-generator ./video.mp4 --duration 30 --clips 5
65
+ - praisonai run shorts-generator "https://youtube.com/watch?v=xxx" --aspect 1:1
@@ -0,0 +1,66 @@
1
+ agents:
2
+ analyzer:
3
+ name: ContentAnalyzer
4
+ role: Video Content Analyst
5
+ goal: Identify engaging moments for short clips
6
+ backstory: |
7
+ I am an expert at analyzing video content for viral potential.
8
+ I understand what makes content engaging on social media platforms
9
+ and can identify the most shareable moments in any video.
10
+ instructions: |
11
+ Analyze video transcript and identify:
12
+ 1. Hook moments (first 3 seconds grabbers)
13
+ 2. Key insights or memorable quotes
14
+ 3. Emotional peaks and reactions
15
+ 4. Call-to-action opportunities
16
+ 5. Viral-worthy segments
17
+ tools: [youtube_tool]
18
+ verbose: true
19
+
20
+ clipper:
21
+ name: VideoClipper
22
+ role: Video Editor
23
+ goal: Extract and format video clips
24
+ backstory: |
25
+ I am a professional video editor specializing in short-form content.
26
+ I know how to cut videos for maximum impact while maintaining
27
+ proper pacing and visual quality.
28
+ instructions: |
29
+ Extract clips from the video:
30
+ - Include 1-2 second buffer at start/end
31
+ - Ensure clean cuts at natural breaks
32
+ - Maintain audio sync
33
+ - Apply aspect ratio cropping
34
+ verbose: true
35
+
36
+ captioner:
37
+ name: Captioner
38
+ role: Caption Designer
39
+ goal: Generate engaging captions for clips
40
+ backstory: |
41
+ I specialize in creating captions that boost engagement and
42
+ accessibility. I understand platform-specific caption styles
43
+ and what makes text readable on mobile screens.
44
+ instructions: |
45
+ Create captions for each clip:
46
+ - Readable in 2-3 seconds per line
47
+ - Include relevant emoji where appropriate
48
+ - Hook viewers in first line
49
+ - End with engagement prompt
50
+ verbose: true
51
+
52
+ optimizer:
53
+ name: PlatformOptimizer
54
+ role: Social Media Specialist
55
+ goal: Optimize clips for platform requirements
56
+ backstory: |
57
+ I am a social media expert who understands the algorithms and
58
+ best practices for TikTok, YouTube Shorts, and Instagram Reels.
59
+ I know how to maximize reach and engagement.
60
+ instructions: |
61
+ Optimize each clip for social media:
62
+ - Add trending hashtags
63
+ - Suggest posting times
64
+ - Create thumbnail recommendations
65
+ - Write platform-specific descriptions
66
+ verbose: true
@@ -0,0 +1,86 @@
1
+ name: Shorts Generator
2
+ description: Generate short-form video clips from long videos
3
+
4
+ workflow:
5
+ verbose: true
6
+ stream: true
7
+
8
+ variables:
9
+ input: "{{input}}"
10
+ duration: "{{duration}}"
11
+ aspect_ratio: "{{aspect_ratio}}"
12
+ caption_style: "{{caption_style}}"
13
+ num_clips: "{{num_clips}}"
14
+
15
+ agents:
16
+ analyzer:
17
+ name: ContentAnalyzer
18
+ role: Video Content Analyst
19
+ goal: Identify engaging moments for short clips
20
+ instructions: |
21
+ Analyze video transcript and identify:
22
+ 1. Hook moments (first 3 seconds grabbers)
23
+ 2. Key insights or memorable quotes
24
+ 3. Emotional peaks and reactions
25
+ 4. Call-to-action opportunities
26
+ 5. Viral-worthy segments
27
+ Return timestamps and descriptions for {{num_clips}} best moments.
28
+ tools: [youtube_tool]
29
+
30
+ clipper:
31
+ name: VideoClipper
32
+ role: Video Editor
33
+ goal: Extract and format video clips
34
+ instructions: |
35
+ Extract clips from the video:
36
+ - Target duration: {{duration}} seconds
37
+ - Aspect ratio: {{aspect_ratio}}
38
+ - Include 1-2 second buffer at start/end
39
+ - Ensure clean cuts at natural breaks
40
+
41
+ captioner:
42
+ name: Captioner
43
+ role: Caption Designer
44
+ goal: Generate engaging captions for clips
45
+ instructions: |
46
+ Create captions for each clip:
47
+ - Style: {{caption_style}}
48
+ - Readable in 2-3 seconds per line
49
+ - Include relevant emoji where appropriate
50
+ - Hook viewers in first line
51
+ - End with engagement prompt
52
+
53
+ optimizer:
54
+ name: PlatformOptimizer
55
+ role: Social Media Specialist
56
+ goal: Optimize clips for platform requirements
57
+ instructions: |
58
+ Optimize each clip for social media:
59
+ - Add trending hashtags
60
+ - Suggest posting times
61
+ - Create thumbnail recommendations
62
+ - Write platform-specific descriptions
63
+
64
+ steps:
65
+ - name: analyze
66
+ agent: analyzer
67
+ action: "Analyze video and identify {{num_clips}} best moments: {{input}}"
68
+ output_variable: moments
69
+
70
+ - name: extract
71
+ agent: clipper
72
+ action: "Extract clips at identified timestamps"
73
+ context_from: [analyze]
74
+ output_variable: clips
75
+
76
+ - name: caption
77
+ agent: captioner
78
+ action: "Generate captions for each clip"
79
+ context_from: [extract]
80
+ output_variable: captioned_clips
81
+
82
+ - name: optimize
83
+ agent: optimizer
84
+ action: "Optimize clips for social media platforms"
85
+ context_from: [caption]
86
+ output_variable: final_clips
@@ -0,0 +1,103 @@
1
+ # Transcript Generator
2
+
3
+ Generate transcripts from audio/video files using AI speech recognition.
4
+
5
+ ## Features
6
+
7
+ - **Multi-source input**: Local files or YouTube URLs
8
+ - **Language detection**: Automatic or specify language
9
+ - **Multiple output formats**: TXT, SRT, VTT, JSON
10
+ - **AI cleanup**: Optional LLM-powered transcript cleanup
11
+
12
+ ## Requirements
13
+
14
+ - `OPENAI_API_KEY` environment variable
15
+ - Optional: `youtube_tool` for YouTube URL support
16
+
17
+ ## Usage
18
+
19
+ ### CLI
20
+
21
+ ```bash
22
+ # Basic usage
23
+ praisonai run transcript-generator ./audio.mp3
24
+
25
+ # With format
26
+ praisonai run transcript-generator ./video.mp4 --format srt
27
+
28
+ # YouTube URL
29
+ praisonai run transcript-generator "https://youtube.com/watch?v=xxx" --language en
30
+
31
+ # Skip cleanup
32
+ praisonai run transcript-generator ./audio.mp3 --no-cleanup
33
+ ```
34
+
35
+ ### Python API
36
+
37
+ ```python
38
+ from praisonaiagents import Workflow
39
+
40
+ # Load and run template
41
+ workflow = Workflow.from_template(
42
+ "transcript-generator",
43
+ config={
44
+ "input": "./audio.mp3",
45
+ "output_format": "srt",
46
+ "language": "en"
47
+ }
48
+ )
49
+ result = workflow.run()
50
+ print(result["output"])
51
+ ```
52
+
53
+ ## Configuration
54
+
55
+ | Parameter | Type | Default | Description |
56
+ |-----------|------|---------|-------------|
57
+ | `input` | string | required | Audio/video file path or YouTube URL |
58
+ | `output_format` | string | "txt" | Output format: txt, srt, vtt, json |
59
+ | `language` | string | "auto" | Language code or 'auto' for detection |
60
+ | `cleanup` | boolean | true | Apply LLM cleanup for readability |
61
+
62
+ ## Output Formats
63
+
64
+ ### TXT
65
+ Plain text with paragraphs.
66
+
67
+ ### SRT (SubRip)
68
+ ```
69
+ 1
70
+ 00:00:00,000 --> 00:00:05,000
71
+ First line of transcript.
72
+
73
+ 2
74
+ 00:00:05,000 --> 00:00:10,000
75
+ Second line of transcript.
76
+ ```
77
+
78
+ ### VTT (WebVTT)
79
+ ```
80
+ WEBVTT
81
+
82
+ 00:00:00.000 --> 00:00:05.000
83
+ First line of transcript.
84
+
85
+ 00:00:05.000 --> 00:00:10.000
86
+ Second line of transcript.
87
+ ```
88
+
89
+ ### JSON
90
+ ```json
91
+ {
92
+ "segments": [
93
+ {"start": 0.0, "end": 5.0, "text": "First line"},
94
+ {"start": 5.0, "end": 10.0, "text": "Second line"}
95
+ ],
96
+ "language": "en",
97
+ "duration": 10.0
98
+ }
99
+ ```
100
+
101
+ ## License
102
+
103
+ Apache-2.0
@@ -0,0 +1,57 @@
1
+ name: transcript-generator
2
+ version: "1.0.0"
3
+ description: Generate transcripts from audio/video files using AI speech recognition
4
+ author: praisonai
5
+ license: Apache-2.0
6
+ tags: [audio, video, transcript, speech-to-text, whisper]
7
+
8
+ requires:
9
+ tools: [youtube_tool]
10
+ packages: [openai]
11
+ env: [OPENAI_API_KEY]
12
+
13
+ workflow: workflow.yaml
14
+ agents: agents.yaml
15
+
16
+ config:
17
+ input:
18
+ type: string
19
+ required: true
20
+ description: Path to audio/video file or YouTube URL
21
+ output_format:
22
+ type: string
23
+ default: "txt"
24
+ enum: [txt, srt, vtt, json]
25
+ language:
26
+ type: string
27
+ default: "auto"
28
+ description: Language code (e.g., en, es, fr) or 'auto' for detection
29
+ cleanup:
30
+ type: boolean
31
+ default: true
32
+ description: Apply LLM cleanup for readability
33
+
34
+ defaults:
35
+ output_format: txt
36
+ language: auto
37
+ cleanup: true
38
+
39
+ cli:
40
+ command: transcript
41
+ args:
42
+ - name: input
43
+ positional: true
44
+ description: Audio/video file path or YouTube URL
45
+ - name: --format
46
+ default: txt
47
+ description: Output format (txt, srt, vtt, json)
48
+ - name: --language
49
+ default: auto
50
+ description: Language code or 'auto'
51
+ - name: --no-cleanup
52
+ flag: true
53
+ description: Skip LLM cleanup step
54
+ examples:
55
+ - praisonai run transcript-generator ./audio.mp3
56
+ - praisonai run transcript-generator ./video.mp4 --format srt
57
+ - praisonai run transcript-generator "https://youtube.com/watch?v=xxx" --language en
@@ -0,0 +1,62 @@
1
+ agents:
2
+ ingester:
3
+ name: MediaIngester
4
+ role: Media Handler
5
+ goal: Download or load media files for processing
6
+ backstory: |
7
+ I am an expert at handling various media formats and sources.
8
+ I can download from YouTube, process local files, and prepare
9
+ audio for transcription.
10
+ instructions: |
11
+ Handle media input:
12
+ - If YouTube URL, extract audio using youtube_tool
13
+ - If local file, verify it exists and is accessible
14
+ - Return the path to the audio file ready for transcription
15
+ tools: [youtube_tool]
16
+ verbose: true
17
+
18
+ transcriber:
19
+ name: Transcriber
20
+ role: Speech Recognition Specialist
21
+ goal: Convert audio to text using AI speech recognition
22
+ backstory: |
23
+ I specialize in converting spoken audio to accurate text.
24
+ I use state-of-the-art AI models to transcribe speech with
25
+ high accuracy across multiple languages.
26
+ instructions: |
27
+ Transcribe the audio file:
28
+ - Use OpenAI Whisper API for transcription
29
+ - Detect language automatically if not specified
30
+ - Return raw transcript text with timestamps if available
31
+ verbose: true
32
+
33
+ editor:
34
+ name: TranscriptEditor
35
+ role: Content Editor
36
+ goal: Clean up and format the transcript for readability
37
+ backstory: |
38
+ I am a professional editor who specializes in making transcripts
39
+ readable while preserving the original meaning and intent.
40
+ instructions: |
41
+ Clean up the transcript:
42
+ - Fix punctuation and capitalization
43
+ - Add paragraph breaks at natural pauses
44
+ - Remove filler words (um, uh, like)
45
+ - Preserve speaker intent and meaning
46
+ - Do NOT change the actual content or meaning
47
+ verbose: true
48
+
49
+ exporter:
50
+ name: FormatExporter
51
+ role: Format Specialist
52
+ goal: Export transcript in the requested format
53
+ backstory: |
54
+ I am an expert at formatting text into various standard formats
55
+ including plain text, subtitles, and structured data.
56
+ instructions: |
57
+ Export the transcript in the requested format:
58
+ - txt: Plain text with paragraphs
59
+ - srt: SubRip subtitle format with timestamps
60
+ - vtt: WebVTT format with timestamps
61
+ - json: Structured JSON with segments and metadata
62
+ verbose: true
@@ -0,0 +1,82 @@
1
+ name: Transcript Generator
2
+ description: Generate transcripts from audio/video files
3
+
4
+ workflow:
5
+ verbose: true
6
+ stream: true
7
+
8
+ variables:
9
+ input: "{{input}}"
10
+ output_format: "{{output_format}}"
11
+ language: "{{language}}"
12
+ cleanup: "{{cleanup}}"
13
+
14
+ agents:
15
+ ingester:
16
+ name: MediaIngester
17
+ role: Media Handler
18
+ goal: Download or load media files for processing
19
+ instructions: |
20
+ Handle media input:
21
+ - If YouTube URL, extract audio using youtube_tool
22
+ - If local file, verify it exists and is accessible
23
+ - Return the path to the audio file ready for transcription
24
+ tools: [youtube_tool]
25
+
26
+ transcriber:
27
+ name: Transcriber
28
+ role: Speech Recognition Specialist
29
+ goal: Convert audio to text using AI speech recognition
30
+ instructions: |
31
+ Transcribe the audio file:
32
+ - Use OpenAI Whisper API for transcription
33
+ - Detect language automatically if not specified
34
+ - Return raw transcript text with timestamps if available
35
+
36
+ editor:
37
+ name: TranscriptEditor
38
+ role: Content Editor
39
+ goal: Clean up and format the transcript for readability
40
+ instructions: |
41
+ Clean up the transcript:
42
+ - Fix punctuation and capitalization
43
+ - Add paragraph breaks at natural pauses
44
+ - Remove filler words (um, uh, like)
45
+ - Preserve speaker intent and meaning
46
+ - Do NOT change the actual content or meaning
47
+
48
+ exporter:
49
+ name: FormatExporter
50
+ role: Format Specialist
51
+ goal: Export transcript in the requested format
52
+ instructions: |
53
+ Export the transcript in {{output_format}} format:
54
+ - txt: Plain text with paragraphs
55
+ - srt: SubRip subtitle format with timestamps
56
+ - vtt: WebVTT format with timestamps
57
+ - json: Structured JSON with segments and metadata
58
+
59
+ steps:
60
+ - name: ingest
61
+ agent: ingester
62
+ action: "Load or download media from: {{input}}"
63
+ output_variable: media_path
64
+
65
+ - name: transcribe
66
+ agent: transcriber
67
+ action: "Transcribe audio file. Language: {{language}}"
68
+ context_from: [ingest]
69
+ output_variable: raw_transcript
70
+
71
+ - name: cleanup
72
+ agent: editor
73
+ action: "Clean up transcript for readability"
74
+ context_from: [transcribe]
75
+ condition: "{{cleanup}}"
76
+ output_variable: clean_transcript
77
+
78
+ - name: export
79
+ agent: exporter
80
+ action: "Export to {{output_format}} format"
81
+ context_from: [cleanup, transcribe]
82
+ output_variable: final_output
@@ -0,0 +1,70 @@
1
+ # Video Editor
2
+
3
+ AI-powered video editing with natural language commands.
4
+
5
+ ## Features
6
+
7
+ - **Natural language editing**: Describe edits in plain English
8
+ - **Multiple operations**: Trim, effects, audio, text overlays
9
+ - **Preview mode**: Generate low-res preview before final render
10
+ - **Quality assurance**: Automatic QC checks
11
+
12
+ ## Requirements
13
+
14
+ - `OPENAI_API_KEY` environment variable
15
+ - Optional: `moviepy`, `ffmpeg-python` for video processing
16
+ - `ffmpeg` installed on system
17
+
18
+ ## Usage
19
+
20
+ ### CLI
21
+
22
+ ```bash
23
+ # Basic editing
24
+ praisonai run video-editor ./raw.mp4 -o ./final.mp4 -i "Trim first 10s, add fade in"
25
+
26
+ # Speed change
27
+ praisonai run video-editor ./video.mp4 -i "Speed up 1.5x, add background music"
28
+
29
+ # Text overlay
30
+ praisonai run video-editor ./clip.mp4 -i "Add text 'Hello World' at center"
31
+ ```
32
+
33
+ ### Python API
34
+
35
+ ```python
36
+ from praisonaiagents import Workflow
37
+
38
+ workflow = Workflow.from_template(
39
+ "video-editor",
40
+ config={
41
+ "input": "./raw.mp4",
42
+ "output": "./final.mp4",
43
+ "instructions": "Trim first 10 seconds, add fade in and out",
44
+ "preview": True
45
+ }
46
+ )
47
+ result = workflow.run()
48
+ ```
49
+
50
+ ## Supported Operations
51
+
52
+ - **Trim/Cut**: Remove sections, extract clips
53
+ - **Speed**: Speed up, slow down, reverse
54
+ - **Effects**: Fade, blur, color correction, filters
55
+ - **Audio**: Volume, mute, add music, extract audio
56
+ - **Text**: Overlays, subtitles, watermarks
57
+ - **Transitions**: Cross-fade, wipe, dissolve
58
+
59
+ ## Configuration
60
+
61
+ | Parameter | Type | Default | Description |
62
+ |-----------|------|---------|-------------|
63
+ | `input` | string | required | Input video file path |
64
+ | `output` | string | auto | Output video file path |
65
+ | `instructions` | string | required | Natural language editing instructions |
66
+ | `preview` | boolean | true | Generate preview before final render |
67
+
68
+ ## License
69
+
70
+ Apache-2.0