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.
- agent_recipes/__init__.py +27 -0
- agent_recipes/recipe_runtime/__init__.py +28 -0
- agent_recipes/recipe_runtime/core.py +385 -0
- agent_recipes/templates/ai-ab-hook-tester/recipe.yaml +45 -0
- agent_recipes/templates/ai-ab-hook-tester/tools.py +169 -0
- agent_recipes/templates/ai-angle-generator/recipe.yaml +49 -0
- agent_recipes/templates/ai-angle-generator/tools.py +182 -0
- agent_recipes/templates/ai-api-doc-generator/README.md +59 -0
- agent_recipes/templates/ai-api-doc-generator/TEMPLATE.yaml +29 -0
- agent_recipes/templates/ai-api-tester/README.md +60 -0
- agent_recipes/templates/ai-api-tester/TEMPLATE.yaml +29 -0
- agent_recipes/templates/ai-audio-enhancer/README.md +59 -0
- agent_recipes/templates/ai-audio-enhancer/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-audio-normalizer/README.md +13 -0
- agent_recipes/templates/ai-audio-normalizer/TEMPLATE.yaml +44 -0
- agent_recipes/templates/ai-audio-splitter/README.md +14 -0
- agent_recipes/templates/ai-audio-splitter/TEMPLATE.yaml +47 -0
- agent_recipes/templates/ai-background-music-generator/README.md +59 -0
- agent_recipes/templates/ai-background-music-generator/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-background-remover/README.md +60 -0
- agent_recipes/templates/ai-background-remover/TEMPLATE.yaml +27 -0
- agent_recipes/templates/ai-barcode-scanner/README.md +60 -0
- agent_recipes/templates/ai-barcode-scanner/TEMPLATE.yaml +26 -0
- agent_recipes/templates/ai-blog-generator/README.md +59 -0
- agent_recipes/templates/ai-blog-generator/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-brief-generator/recipe.yaml +52 -0
- agent_recipes/templates/ai-brief-generator/tools.py +231 -0
- agent_recipes/templates/ai-broll-builder/recipe.yaml +47 -0
- agent_recipes/templates/ai-broll-builder/tools.py +204 -0
- agent_recipes/templates/ai-calendar-scheduler/README.md +60 -0
- agent_recipes/templates/ai-calendar-scheduler/TEMPLATE.yaml +29 -0
- agent_recipes/templates/ai-changelog-generator/README.md +14 -0
- agent_recipes/templates/ai-changelog-generator/TEMPLATE.yaml +46 -0
- agent_recipes/templates/ai-chart-generator/README.md +61 -0
- agent_recipes/templates/ai-chart-generator/TEMPLATE.yaml +32 -0
- agent_recipes/templates/ai-code-documenter/README.md +12 -0
- agent_recipes/templates/ai-code-documenter/TEMPLATE.yaml +37 -0
- agent_recipes/templates/ai-code-refactorer/README.md +59 -0
- agent_recipes/templates/ai-code-refactorer/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-code-reviewer/README.md +59 -0
- agent_recipes/templates/ai-code-reviewer/TEMPLATE.yaml +31 -0
- agent_recipes/templates/ai-color-palette-extractor/README.md +60 -0
- agent_recipes/templates/ai-color-palette-extractor/TEMPLATE.yaml +27 -0
- agent_recipes/templates/ai-comment-miner/recipe.yaml +40 -0
- agent_recipes/templates/ai-comment-miner/tools.py +141 -0
- agent_recipes/templates/ai-commit-message-generator/README.md +59 -0
- agent_recipes/templates/ai-commit-message-generator/TEMPLATE.yaml +31 -0
- agent_recipes/templates/ai-content-calendar/recipe.yaml +43 -0
- agent_recipes/templates/ai-content-calendar/tools.py +170 -0
- agent_recipes/templates/ai-context-enricher/recipe.yaml +48 -0
- agent_recipes/templates/ai-context-enricher/tools.py +258 -0
- agent_recipes/templates/ai-contract-analyzer/README.md +60 -0
- agent_recipes/templates/ai-contract-analyzer/TEMPLATE.yaml +34 -0
- agent_recipes/templates/ai-csv-cleaner/README.md +13 -0
- agent_recipes/templates/ai-csv-cleaner/TEMPLATE.yaml +45 -0
- agent_recipes/templates/ai-cta-generator/recipe.yaml +54 -0
- agent_recipes/templates/ai-cta-generator/tools.py +174 -0
- agent_recipes/templates/ai-daily-news-show/recipe.yaml +103 -0
- agent_recipes/templates/ai-daily-news-show/tools.py +308 -0
- agent_recipes/templates/ai-data-anonymizer/README.md +60 -0
- agent_recipes/templates/ai-data-anonymizer/TEMPLATE.yaml +31 -0
- agent_recipes/templates/ai-data-profiler/README.md +14 -0
- agent_recipes/templates/ai-data-profiler/TEMPLATE.yaml +42 -0
- agent_recipes/templates/ai-dependency-auditor/README.md +12 -0
- agent_recipes/templates/ai-dependency-auditor/TEMPLATE.yaml +37 -0
- agent_recipes/templates/ai-doc-translator/README.md +12 -0
- agent_recipes/templates/ai-doc-translator/TEMPLATE.yaml +41 -0
- agent_recipes/templates/ai-duplicate-finder/README.md +59 -0
- agent_recipes/templates/ai-duplicate-finder/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-ebook-converter/README.md +60 -0
- agent_recipes/templates/ai-ebook-converter/TEMPLATE.yaml +27 -0
- agent_recipes/templates/ai-email-parser/README.md +59 -0
- agent_recipes/templates/ai-email-parser/TEMPLATE.yaml +29 -0
- agent_recipes/templates/ai-etl-pipeline/README.md +60 -0
- agent_recipes/templates/ai-etl-pipeline/TEMPLATE.yaml +30 -0
- agent_recipes/templates/ai-excel-formula-generator/README.md +59 -0
- agent_recipes/templates/ai-excel-formula-generator/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-face-blur/README.md +60 -0
- agent_recipes/templates/ai-face-blur/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-fact-checker/recipe.yaml +52 -0
- agent_recipes/templates/ai-fact-checker/tools.py +279 -0
- agent_recipes/templates/ai-faq-generator/README.md +59 -0
- agent_recipes/templates/ai-faq-generator/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-file-organizer/README.md +59 -0
- agent_recipes/templates/ai-file-organizer/TEMPLATE.yaml +29 -0
- agent_recipes/templates/ai-folder-packager/README.md +15 -0
- agent_recipes/templates/ai-folder-packager/TEMPLATE.yaml +48 -0
- agent_recipes/templates/ai-form-filler/README.md +60 -0
- agent_recipes/templates/ai-form-filler/TEMPLATE.yaml +30 -0
- agent_recipes/templates/ai-hashtag-optimizer/recipe.yaml +45 -0
- agent_recipes/templates/ai-hashtag-optimizer/tools.py +134 -0
- agent_recipes/templates/ai-hook-generator/recipe.yaml +50 -0
- agent_recipes/templates/ai-hook-generator/tools.py +177 -0
- agent_recipes/templates/ai-image-captioner/README.md +59 -0
- agent_recipes/templates/ai-image-captioner/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-image-cataloger/README.md +13 -0
- agent_recipes/templates/ai-image-cataloger/TEMPLATE.yaml +39 -0
- agent_recipes/templates/ai-image-optimizer/README.md +13 -0
- agent_recipes/templates/ai-image-optimizer/TEMPLATE.yaml +43 -0
- agent_recipes/templates/ai-image-resizer/README.md +12 -0
- agent_recipes/templates/ai-image-resizer/TEMPLATE.yaml +39 -0
- agent_recipes/templates/ai-image-tagger/README.md +59 -0
- agent_recipes/templates/ai-image-tagger/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-image-upscaler/README.md +60 -0
- agent_recipes/templates/ai-image-upscaler/TEMPLATE.yaml +27 -0
- agent_recipes/templates/ai-invoice-processor/README.md +60 -0
- agent_recipes/templates/ai-invoice-processor/TEMPLATE.yaml +34 -0
- agent_recipes/templates/ai-json-to-csv/README.md +12 -0
- agent_recipes/templates/ai-json-to-csv/TEMPLATE.yaml +36 -0
- agent_recipes/templates/ai-log-analyzer/README.md +59 -0
- agent_recipes/templates/ai-log-analyzer/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-markdown-to-pdf/README.md +12 -0
- agent_recipes/templates/ai-markdown-to-pdf/TEMPLATE.yaml +40 -0
- agent_recipes/templates/ai-meeting-summarizer/README.md +59 -0
- agent_recipes/templates/ai-meeting-summarizer/TEMPLATE.yaml +32 -0
- agent_recipes/templates/ai-meta-tag-generator/README.md +59 -0
- agent_recipes/templates/ai-meta-tag-generator/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-news-capture-pack/recipe.yaml +42 -0
- agent_recipes/templates/ai-news-capture-pack/tools.py +150 -0
- agent_recipes/templates/ai-news-crawler/recipe.yaml +99 -0
- agent_recipes/templates/ai-news-crawler/tools.py +417 -0
- agent_recipes/templates/ai-news-deduper/recipe.yaml +47 -0
- agent_recipes/templates/ai-news-deduper/tools.py +235 -0
- agent_recipes/templates/ai-newsletter-generator/README.md +59 -0
- agent_recipes/templates/ai-newsletter-generator/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-note-summarizer/README.md +59 -0
- agent_recipes/templates/ai-note-summarizer/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-pdf-summarizer/README.md +12 -0
- agent_recipes/templates/ai-pdf-summarizer/TEMPLATE.yaml +40 -0
- agent_recipes/templates/ai-pdf-to-markdown/README.md +19 -0
- agent_recipes/templates/ai-pdf-to-markdown/TEMPLATE.yaml +63 -0
- agent_recipes/templates/ai-performance-analyzer/recipe.yaml +45 -0
- agent_recipes/templates/ai-performance-analyzer/tools.py +159 -0
- agent_recipes/templates/ai-podcast-cleaner/README.md +117 -0
- agent_recipes/templates/ai-podcast-cleaner/TEMPLATE.yaml +117 -0
- agent_recipes/templates/ai-podcast-cleaner/agents.yaml +59 -0
- agent_recipes/templates/ai-podcast-cleaner/workflow.yaml +77 -0
- agent_recipes/templates/ai-podcast-transcriber/README.md +59 -0
- agent_recipes/templates/ai-podcast-transcriber/TEMPLATE.yaml +32 -0
- agent_recipes/templates/ai-post-copy-generator/recipe.yaml +41 -0
- agent_recipes/templates/ai-post-copy-generator/tools.py +105 -0
- agent_recipes/templates/ai-product-description-generator/README.md +59 -0
- agent_recipes/templates/ai-product-description-generator/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-publisher-pack/recipe.yaml +44 -0
- agent_recipes/templates/ai-publisher-pack/tools.py +252 -0
- agent_recipes/templates/ai-qr-code-generator/README.md +60 -0
- agent_recipes/templates/ai-qr-code-generator/TEMPLATE.yaml +26 -0
- agent_recipes/templates/ai-regex-generator/README.md +59 -0
- agent_recipes/templates/ai-regex-generator/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-repo-readme/README.md +13 -0
- agent_recipes/templates/ai-repo-readme/TEMPLATE.yaml +42 -0
- agent_recipes/templates/ai-report-generator/README.md +61 -0
- agent_recipes/templates/ai-report-generator/TEMPLATE.yaml +32 -0
- agent_recipes/templates/ai-resume-parser/README.md +60 -0
- agent_recipes/templates/ai-resume-parser/TEMPLATE.yaml +33 -0
- agent_recipes/templates/ai-rss-aggregator/README.md +60 -0
- agent_recipes/templates/ai-rss-aggregator/TEMPLATE.yaml +30 -0
- agent_recipes/templates/ai-schema-generator/README.md +12 -0
- agent_recipes/templates/ai-schema-generator/TEMPLATE.yaml +34 -0
- agent_recipes/templates/ai-screen-recorder/recipe.yaml +43 -0
- agent_recipes/templates/ai-screen-recorder/tools.py +184 -0
- agent_recipes/templates/ai-screenshot-capture/recipe.yaml +45 -0
- agent_recipes/templates/ai-screenshot-capture/tools.py +231 -0
- agent_recipes/templates/ai-screenshot-ocr/README.md +12 -0
- agent_recipes/templates/ai-screenshot-ocr/TEMPLATE.yaml +37 -0
- agent_recipes/templates/ai-script-writer/recipe.yaml +58 -0
- agent_recipes/templates/ai-script-writer/tools.py +297 -0
- agent_recipes/templates/ai-sentiment-analyzer/README.md +59 -0
- agent_recipes/templates/ai-sentiment-analyzer/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-seo-optimizer/README.md +59 -0
- agent_recipes/templates/ai-seo-optimizer/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-signal-ranker/recipe.yaml +54 -0
- agent_recipes/templates/ai-signal-ranker/tools.py +256 -0
- agent_recipes/templates/ai-sitemap-generator/README.md +59 -0
- agent_recipes/templates/ai-sitemap-generator/TEMPLATE.yaml +26 -0
- agent_recipes/templates/ai-sitemap-scraper/README.md +13 -0
- agent_recipes/templates/ai-sitemap-scraper/TEMPLATE.yaml +41 -0
- agent_recipes/templates/ai-slide-generator/README.md +60 -0
- agent_recipes/templates/ai-slide-generator/TEMPLATE.yaml +29 -0
- agent_recipes/templates/ai-slide-to-notes/README.md +12 -0
- agent_recipes/templates/ai-slide-to-notes/TEMPLATE.yaml +37 -0
- agent_recipes/templates/ai-social-media-generator/README.md +59 -0
- agent_recipes/templates/ai-social-media-generator/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-sql-generator/README.md +59 -0
- agent_recipes/templates/ai-sql-generator/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-subtitle-generator/README.md +59 -0
- agent_recipes/templates/ai-subtitle-generator/TEMPLATE.yaml +31 -0
- agent_recipes/templates/ai-test-generator/README.md +59 -0
- agent_recipes/templates/ai-test-generator/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-translation-batch/README.md +59 -0
- agent_recipes/templates/ai-translation-batch/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-url-to-markdown/README.md +14 -0
- agent_recipes/templates/ai-url-to-markdown/TEMPLATE.yaml +44 -0
- agent_recipes/templates/ai-video-chapter-generator/README.md +59 -0
- agent_recipes/templates/ai-video-chapter-generator/TEMPLATE.yaml +32 -0
- agent_recipes/templates/ai-video-compressor/README.md +59 -0
- agent_recipes/templates/ai-video-compressor/TEMPLATE.yaml +28 -0
- agent_recipes/templates/ai-video-editor/README.md +254 -0
- agent_recipes/templates/ai-video-editor/TEMPLATE.yaml +139 -0
- agent_recipes/templates/ai-video-editor/agents.yaml +36 -0
- agent_recipes/templates/ai-video-editor/requirements.txt +8 -0
- agent_recipes/templates/ai-video-editor/scripts/run.sh +10 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__init__.py +45 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__main__.py +8 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/__init__.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/cli.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/config.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/ffmpeg_probe.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/heuristics.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/llm_plan.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/models.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/pipeline.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/render.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/timeline.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/transcribe.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/utils.cpython-312.pyc +0 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/cli.py +343 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/config.py +102 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/ffmpeg_probe.py +92 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/heuristics.py +119 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/llm_plan.py +277 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/models.py +343 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/pipeline.py +287 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/render.py +274 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/timeline.py +278 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/transcribe.py +233 -0
- agent_recipes/templates/ai-video-editor/src/ai_video_editor/utils.py +222 -0
- agent_recipes/templates/ai-video-editor/src/input.mov +0 -0
- agent_recipes/templates/ai-video-editor/src/out.mp4 +0 -0
- agent_recipes/templates/ai-video-editor/tests/test_heuristics.py +130 -0
- agent_recipes/templates/ai-video-editor/tests/test_models.py +152 -0
- agent_recipes/templates/ai-video-editor/tests/test_timeline.py +105 -0
- agent_recipes/templates/ai-video-editor/workflow.yaml +51 -0
- agent_recipes/templates/ai-video-highlight-extractor/README.md +60 -0
- agent_recipes/templates/ai-video-highlight-extractor/TEMPLATE.yaml +33 -0
- agent_recipes/templates/ai-video-merger/recipe.yaml +40 -0
- agent_recipes/templates/ai-video-merger/tools.py +172 -0
- agent_recipes/templates/ai-video-thumbnails/README.md +16 -0
- agent_recipes/templates/ai-video-thumbnails/TEMPLATE.yaml +53 -0
- agent_recipes/templates/ai-video-to-gif/README.md +14 -0
- agent_recipes/templates/ai-video-to-gif/TEMPLATE.yaml +64 -0
- agent_recipes/templates/ai-voice-cloner/README.md +59 -0
- agent_recipes/templates/ai-voice-cloner/TEMPLATE.yaml +31 -0
- agent_recipes/templates/ai-voiceover-generator/recipe.yaml +41 -0
- agent_recipes/templates/ai-voiceover-generator/tools.py +194 -0
- agent_recipes/templates/ai-watermark-adder/README.md +59 -0
- agent_recipes/templates/ai-watermark-adder/TEMPLATE.yaml +26 -0
- agent_recipes/templates/ai-watermark-remover/README.md +60 -0
- agent_recipes/templates/ai-watermark-remover/TEMPLATE.yaml +32 -0
- agent_recipes/templates/data-transformer/README.md +75 -0
- agent_recipes/templates/data-transformer/TEMPLATE.yaml +63 -0
- agent_recipes/templates/data-transformer/agents.yaml +70 -0
- agent_recipes/templates/data-transformer/workflow.yaml +92 -0
- agent_recipes/templates/shorts-generator/README.md +61 -0
- agent_recipes/templates/shorts-generator/TEMPLATE.yaml +65 -0
- agent_recipes/templates/shorts-generator/agents.yaml +66 -0
- agent_recipes/templates/shorts-generator/workflow.yaml +86 -0
- agent_recipes/templates/transcript-generator/README.md +103 -0
- agent_recipes/templates/transcript-generator/TEMPLATE.yaml +57 -0
- agent_recipes/templates/transcript-generator/agents.yaml +62 -0
- agent_recipes/templates/transcript-generator/workflow.yaml +82 -0
- agent_recipes/templates/video-editor/README.md +70 -0
- agent_recipes/templates/video-editor/TEMPLATE.yaml +55 -0
- agent_recipes/templates/video-editor/agents.yaml +68 -0
- agent_recipes/templates/video-editor/workflow.yaml +92 -0
- agent_recipes-0.0.5.dist-info/METADATA +145 -0
- agent_recipes-0.0.5.dist-info/RECORD +269 -0
- agent_recipes-0.0.5.dist-info/WHEEL +5 -0
- agent_recipes-0.0.5.dist-info/top_level.txt +1 -0
- /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,60 @@
|
|
|
1
|
+
# Background Remover
|
|
2
|
+
|
|
3
|
+
Batch remove backgrounds from images
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install agent-recipes
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## CLI Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Basic usage
|
|
15
|
+
praison recipes run ai-background-remover <input>
|
|
16
|
+
|
|
17
|
+
# With output directory
|
|
18
|
+
praison recipes run ai-background-remover <input> --output ./output/
|
|
19
|
+
|
|
20
|
+
# Dry run (check dependencies only)
|
|
21
|
+
praison recipes run ai-background-remover <input> --dry-run
|
|
22
|
+
|
|
23
|
+
# Show recipe info
|
|
24
|
+
praison recipes info ai-background-remover
|
|
25
|
+
|
|
26
|
+
# Check dependencies
|
|
27
|
+
praison recipes doctor ai-background-remover
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Python Usage
|
|
31
|
+
|
|
32
|
+
```python
|
|
33
|
+
from praisonaiagents import Agent
|
|
34
|
+
from agent_recipes import load_recipe
|
|
35
|
+
|
|
36
|
+
# Load and run recipe
|
|
37
|
+
recipe = load_recipe("ai-background-remover")
|
|
38
|
+
result = recipe.run(input="<your-input>")
|
|
39
|
+
print(result)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Requirements
|
|
43
|
+
|
|
44
|
+
### Packages
|
|
45
|
+
- rembg
|
|
46
|
+
- pillow
|
|
47
|
+
|
|
48
|
+
### Environment Variables
|
|
49
|
+
- None
|
|
50
|
+
|
|
51
|
+
### External Tools
|
|
52
|
+
- None
|
|
53
|
+
|
|
54
|
+
## Tags
|
|
55
|
+
|
|
56
|
+
`image`, `background`, `removal`
|
|
57
|
+
|
|
58
|
+
## License
|
|
59
|
+
|
|
60
|
+
Apache-2.0
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
name: ai-background-remover
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
description: Batch remove backgrounds from images
|
|
4
|
+
author: praison
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
tags:
|
|
7
|
+
- image
|
|
8
|
+
- background
|
|
9
|
+
- removal
|
|
10
|
+
|
|
11
|
+
requires:
|
|
12
|
+
tools:
|
|
13
|
+
- image_tool
|
|
14
|
+
packages:
|
|
15
|
+
- rembg
|
|
16
|
+
- pillow
|
|
17
|
+
|
|
18
|
+
cli:
|
|
19
|
+
command: praison recipes run ai-background-remover
|
|
20
|
+
examples:
|
|
21
|
+
- praison recipes run ai-background-remover <input>
|
|
22
|
+
- praison recipes run ai-background-remover <input> --output ./output/
|
|
23
|
+
- praison recipes run ai-background-remover <input> --dry-run
|
|
24
|
+
|
|
25
|
+
safety:
|
|
26
|
+
dry_run_default: true
|
|
27
|
+
overwrites_files: true
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Barcode Scanner
|
|
2
|
+
|
|
3
|
+
Extract data from barcodes/QR codes
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install agent-recipes
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## CLI Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Basic usage
|
|
15
|
+
praison recipes run ai-barcode-scanner <input>
|
|
16
|
+
|
|
17
|
+
# With output directory
|
|
18
|
+
praison recipes run ai-barcode-scanner <input> --output ./output/
|
|
19
|
+
|
|
20
|
+
# Dry run (check dependencies only)
|
|
21
|
+
praison recipes run ai-barcode-scanner <input> --dry-run
|
|
22
|
+
|
|
23
|
+
# Show recipe info
|
|
24
|
+
praison recipes info ai-barcode-scanner
|
|
25
|
+
|
|
26
|
+
# Check dependencies
|
|
27
|
+
praison recipes doctor ai-barcode-scanner
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Python Usage
|
|
31
|
+
|
|
32
|
+
```python
|
|
33
|
+
from praisonaiagents import Agent
|
|
34
|
+
from agent_recipes import load_recipe
|
|
35
|
+
|
|
36
|
+
# Load and run recipe
|
|
37
|
+
recipe = load_recipe("ai-barcode-scanner")
|
|
38
|
+
result = recipe.run(input="<your-input>")
|
|
39
|
+
print(result)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Requirements
|
|
43
|
+
|
|
44
|
+
### Packages
|
|
45
|
+
- pyzbar
|
|
46
|
+
- pillow
|
|
47
|
+
|
|
48
|
+
### Environment Variables
|
|
49
|
+
- None
|
|
50
|
+
|
|
51
|
+
### External Tools
|
|
52
|
+
- None
|
|
53
|
+
|
|
54
|
+
## Tags
|
|
55
|
+
|
|
56
|
+
`productivity`, `barcode`, `scanning`
|
|
57
|
+
|
|
58
|
+
## License
|
|
59
|
+
|
|
60
|
+
Apache-2.0
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: ai-barcode-scanner
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
description: Extract data from barcodes/QR codes
|
|
4
|
+
author: praison
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
tags:
|
|
7
|
+
- productivity
|
|
8
|
+
- barcode
|
|
9
|
+
- scanning
|
|
10
|
+
|
|
11
|
+
requires:
|
|
12
|
+
tools:
|
|
13
|
+
packages:
|
|
14
|
+
- pyzbar
|
|
15
|
+
- pillow
|
|
16
|
+
|
|
17
|
+
cli:
|
|
18
|
+
command: praison recipes run ai-barcode-scanner
|
|
19
|
+
examples:
|
|
20
|
+
- praison recipes run ai-barcode-scanner <input>
|
|
21
|
+
- praison recipes run ai-barcode-scanner <input> --output ./output/
|
|
22
|
+
- praison recipes run ai-barcode-scanner <input> --dry-run
|
|
23
|
+
|
|
24
|
+
safety:
|
|
25
|
+
dry_run_default: false
|
|
26
|
+
overwrites_files: true
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Blog Generator
|
|
2
|
+
|
|
3
|
+
Generate SEO-optimized blog posts
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install agent-recipes
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## CLI Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Basic usage
|
|
15
|
+
praison recipes run ai-blog-generator <input>
|
|
16
|
+
|
|
17
|
+
# With output directory
|
|
18
|
+
praison recipes run ai-blog-generator <input> --output ./output/
|
|
19
|
+
|
|
20
|
+
# Dry run (check dependencies only)
|
|
21
|
+
praison recipes run ai-blog-generator <input> --dry-run
|
|
22
|
+
|
|
23
|
+
# Show recipe info
|
|
24
|
+
praison recipes info ai-blog-generator
|
|
25
|
+
|
|
26
|
+
# Check dependencies
|
|
27
|
+
praison recipes doctor ai-blog-generator
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Python Usage
|
|
31
|
+
|
|
32
|
+
```python
|
|
33
|
+
from praisonaiagents import Agent
|
|
34
|
+
from agent_recipes import load_recipe
|
|
35
|
+
|
|
36
|
+
# Load and run recipe
|
|
37
|
+
recipe = load_recipe("ai-blog-generator")
|
|
38
|
+
result = recipe.run(input="<your-input>")
|
|
39
|
+
print(result)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Requirements
|
|
43
|
+
|
|
44
|
+
### Packages
|
|
45
|
+
- openai
|
|
46
|
+
|
|
47
|
+
### Environment Variables
|
|
48
|
+
- OPENAI_API_KEY
|
|
49
|
+
|
|
50
|
+
### External Tools
|
|
51
|
+
- None
|
|
52
|
+
|
|
53
|
+
## Tags
|
|
54
|
+
|
|
55
|
+
`web`, `blog`, `content`
|
|
56
|
+
|
|
57
|
+
## License
|
|
58
|
+
|
|
59
|
+
Apache-2.0
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: ai-blog-generator
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
description: Generate SEO-optimized blog posts
|
|
4
|
+
author: praison
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
tags:
|
|
7
|
+
- web
|
|
8
|
+
- blog
|
|
9
|
+
- content
|
|
10
|
+
|
|
11
|
+
requires:
|
|
12
|
+
tools:
|
|
13
|
+
- llm_tool
|
|
14
|
+
packages:
|
|
15
|
+
- openai
|
|
16
|
+
env:
|
|
17
|
+
- OPENAI_API_KEY
|
|
18
|
+
|
|
19
|
+
cli:
|
|
20
|
+
command: praison recipes run ai-blog-generator
|
|
21
|
+
examples:
|
|
22
|
+
- praison recipes run ai-blog-generator <input>
|
|
23
|
+
- praison recipes run ai-blog-generator <input> --output ./output/
|
|
24
|
+
- praison recipes run ai-blog-generator <input> --dry-run
|
|
25
|
+
|
|
26
|
+
safety:
|
|
27
|
+
dry_run_default: false
|
|
28
|
+
overwrites_files: true
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
name: ai-brief-generator
|
|
2
|
+
version: 1.0.0
|
|
3
|
+
description: Generate daily or weekly AI news briefs with executive summaries
|
|
4
|
+
author: PraisonAI
|
|
5
|
+
tags:
|
|
6
|
+
- news
|
|
7
|
+
- brief
|
|
8
|
+
- summary
|
|
9
|
+
- newsletter
|
|
10
|
+
|
|
11
|
+
config:
|
|
12
|
+
formats:
|
|
13
|
+
- daily
|
|
14
|
+
- weekly
|
|
15
|
+
- executive
|
|
16
|
+
max_articles: 10
|
|
17
|
+
include_analysis: true
|
|
18
|
+
output_format: markdown
|
|
19
|
+
|
|
20
|
+
input:
|
|
21
|
+
type: object
|
|
22
|
+
properties:
|
|
23
|
+
articles:
|
|
24
|
+
type: array
|
|
25
|
+
description: Ranked and enriched articles
|
|
26
|
+
format:
|
|
27
|
+
type: string
|
|
28
|
+
enum: [daily, weekly, executive]
|
|
29
|
+
|
|
30
|
+
output:
|
|
31
|
+
type: object
|
|
32
|
+
properties:
|
|
33
|
+
brief:
|
|
34
|
+
type: string
|
|
35
|
+
summary:
|
|
36
|
+
type: string
|
|
37
|
+
highlights:
|
|
38
|
+
type: array
|
|
39
|
+
|
|
40
|
+
requires:
|
|
41
|
+
env:
|
|
42
|
+
- OPENAI_API_KEY
|
|
43
|
+
|
|
44
|
+
workflow:
|
|
45
|
+
agents:
|
|
46
|
+
- name: brief_writer
|
|
47
|
+
role: AI News Editor
|
|
48
|
+
goal: Create compelling news briefs
|
|
49
|
+
tools:
|
|
50
|
+
- generate_brief
|
|
51
|
+
- create_highlights
|
|
52
|
+
- format_newsletter
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"""
|
|
2
|
+
AI Brief Generator Tools
|
|
3
|
+
|
|
4
|
+
Tools for generating news briefs:
|
|
5
|
+
- Daily briefs
|
|
6
|
+
- Weekly roundups
|
|
7
|
+
- Executive summaries
|
|
8
|
+
- Newsletter formatting
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
import logging
|
|
12
|
+
import os
|
|
13
|
+
from datetime import datetime, timezone
|
|
14
|
+
from typing import Any, Dict, List, Optional
|
|
15
|
+
|
|
16
|
+
logger = logging.getLogger(__name__)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def call_llm(prompt: str, max_tokens: int = 1000) -> str:
|
|
20
|
+
"""Call OpenAI API for text generation."""
|
|
21
|
+
import requests
|
|
22
|
+
|
|
23
|
+
api_key = os.environ.get("OPENAI_API_KEY")
|
|
24
|
+
if not api_key:
|
|
25
|
+
raise ValueError("OPENAI_API_KEY not set")
|
|
26
|
+
|
|
27
|
+
response = requests.post(
|
|
28
|
+
"https://api.openai.com/v1/chat/completions",
|
|
29
|
+
headers={
|
|
30
|
+
"Authorization": f"Bearer {api_key}",
|
|
31
|
+
"Content-Type": "application/json",
|
|
32
|
+
},
|
|
33
|
+
json={
|
|
34
|
+
"model": "gpt-4o-mini",
|
|
35
|
+
"messages": [{"role": "user", "content": prompt}],
|
|
36
|
+
"max_tokens": max_tokens,
|
|
37
|
+
"temperature": 0.7,
|
|
38
|
+
},
|
|
39
|
+
timeout=90,
|
|
40
|
+
)
|
|
41
|
+
response.raise_for_status()
|
|
42
|
+
return response.json()["choices"][0]["message"]["content"]
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def generate_brief(
|
|
46
|
+
articles: List[Dict[str, Any]],
|
|
47
|
+
format: str = "daily",
|
|
48
|
+
max_articles: int = 10,
|
|
49
|
+
output_dir: Optional[str] = None,
|
|
50
|
+
) -> Dict[str, Any]:
|
|
51
|
+
"""
|
|
52
|
+
Generate a news brief from articles.
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
articles: List of article dictionaries
|
|
56
|
+
format: Brief format (daily, weekly, executive)
|
|
57
|
+
max_articles: Maximum articles to include
|
|
58
|
+
output_dir: Optional directory to save output
|
|
59
|
+
|
|
60
|
+
Returns:
|
|
61
|
+
Dictionary with brief content
|
|
62
|
+
"""
|
|
63
|
+
if not articles:
|
|
64
|
+
return {"brief": "No articles available.", "summary": "", "highlights": []}
|
|
65
|
+
|
|
66
|
+
# Limit articles
|
|
67
|
+
articles = articles[:max_articles]
|
|
68
|
+
|
|
69
|
+
# Format articles for prompt
|
|
70
|
+
articles_text = ""
|
|
71
|
+
for i, article in enumerate(articles, 1):
|
|
72
|
+
articles_text += f"""
|
|
73
|
+
{i}. {article.get('title', 'Untitled')}
|
|
74
|
+
Source: {article.get('source', 'Unknown')}
|
|
75
|
+
URL: {article.get('url', '')}
|
|
76
|
+
Content: {article.get('content', '')[:200]}
|
|
77
|
+
Background: {article.get('background', '')}
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
format_instructions = {
|
|
81
|
+
"daily": "Create a concise daily AI news brief (300-400 words) with key takeaways.",
|
|
82
|
+
"weekly": "Create a comprehensive weekly AI roundup (500-700 words) with trends and analysis.",
|
|
83
|
+
"executive": "Create a brief executive summary (150-200 words) with only the most critical developments.",
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
prompt = f"""You are an AI news editor creating a {format} brief.
|
|
87
|
+
|
|
88
|
+
{format_instructions.get(format, format_instructions['daily'])}
|
|
89
|
+
|
|
90
|
+
Articles to summarize:
|
|
91
|
+
{articles_text}
|
|
92
|
+
|
|
93
|
+
Create a well-structured brief with:
|
|
94
|
+
1. Opening hook/headline
|
|
95
|
+
2. Key developments (bullet points)
|
|
96
|
+
3. Why it matters section
|
|
97
|
+
4. What to watch next
|
|
98
|
+
|
|
99
|
+
Format in Markdown."""
|
|
100
|
+
|
|
101
|
+
try:
|
|
102
|
+
brief = call_llm(prompt, max_tokens=1500)
|
|
103
|
+
except Exception as e:
|
|
104
|
+
logger.error(f"Error generating brief: {e}")
|
|
105
|
+
brief = "Error generating brief."
|
|
106
|
+
|
|
107
|
+
# Generate highlights
|
|
108
|
+
highlights = create_highlights(articles[:5])
|
|
109
|
+
|
|
110
|
+
# Generate executive summary
|
|
111
|
+
summary = _generate_summary(articles[:3])
|
|
112
|
+
|
|
113
|
+
result = {
|
|
114
|
+
"brief": brief,
|
|
115
|
+
"summary": summary,
|
|
116
|
+
"highlights": highlights,
|
|
117
|
+
"metadata": {
|
|
118
|
+
"format": format,
|
|
119
|
+
"article_count": len(articles),
|
|
120
|
+
"generated_at": datetime.now(timezone.utc).isoformat(),
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
# Save to file if output_dir specified
|
|
125
|
+
if output_dir:
|
|
126
|
+
os.makedirs(output_dir, exist_ok=True)
|
|
127
|
+
|
|
128
|
+
# Save markdown
|
|
129
|
+
md_path = os.path.join(output_dir, f"brief_{format}.md")
|
|
130
|
+
with open(md_path, "w") as f:
|
|
131
|
+
f.write(f"# AI News Brief - {format.title()}\n\n")
|
|
132
|
+
f.write(f"*Generated: {result['metadata']['generated_at']}*\n\n")
|
|
133
|
+
f.write(brief)
|
|
134
|
+
|
|
135
|
+
logger.info(f"Saved brief to {md_path}")
|
|
136
|
+
|
|
137
|
+
return result
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def create_highlights(
|
|
141
|
+
articles: List[Dict[str, Any]],
|
|
142
|
+
max_highlights: int = 5,
|
|
143
|
+
) -> List[Dict[str, str]]:
|
|
144
|
+
"""
|
|
145
|
+
Create highlight snippets from top articles.
|
|
146
|
+
|
|
147
|
+
Args:
|
|
148
|
+
articles: List of article dictionaries
|
|
149
|
+
max_highlights: Maximum number of highlights
|
|
150
|
+
|
|
151
|
+
Returns:
|
|
152
|
+
List of highlight dictionaries
|
|
153
|
+
"""
|
|
154
|
+
highlights = []
|
|
155
|
+
|
|
156
|
+
for article in articles[:max_highlights]:
|
|
157
|
+
title = article.get("title", "")
|
|
158
|
+
content = article.get("content", "")[:100]
|
|
159
|
+
url = article.get("url", "")
|
|
160
|
+
|
|
161
|
+
# Create a one-liner highlight
|
|
162
|
+
if content:
|
|
163
|
+
highlight_text = f"{title}: {content}..."
|
|
164
|
+
else:
|
|
165
|
+
highlight_text = title
|
|
166
|
+
|
|
167
|
+
highlights.append({
|
|
168
|
+
"title": title,
|
|
169
|
+
"highlight": highlight_text[:200],
|
|
170
|
+
"url": url,
|
|
171
|
+
"source": article.get("source", ""),
|
|
172
|
+
})
|
|
173
|
+
|
|
174
|
+
return highlights
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
def _generate_summary(articles: List[Dict[str, Any]]) -> str:
|
|
178
|
+
"""Generate a brief executive summary."""
|
|
179
|
+
if not articles:
|
|
180
|
+
return ""
|
|
181
|
+
|
|
182
|
+
titles = [a.get("title", "") for a in articles[:3]]
|
|
183
|
+
|
|
184
|
+
prompt = f"""Create a 2-sentence executive summary of these AI news headlines:
|
|
185
|
+
|
|
186
|
+
{chr(10).join(f'- {t}' for t in titles)}
|
|
187
|
+
|
|
188
|
+
Summary:"""
|
|
189
|
+
|
|
190
|
+
try:
|
|
191
|
+
return call_llm(prompt, max_tokens=100).strip()
|
|
192
|
+
except Exception:
|
|
193
|
+
return ""
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
def format_newsletter(
|
|
197
|
+
brief: str,
|
|
198
|
+
highlights: List[Dict[str, str]],
|
|
199
|
+
template: str = "default",
|
|
200
|
+
) -> str:
|
|
201
|
+
"""
|
|
202
|
+
Format brief as a newsletter.
|
|
203
|
+
|
|
204
|
+
Args:
|
|
205
|
+
brief: Main brief content
|
|
206
|
+
highlights: List of highlights
|
|
207
|
+
template: Newsletter template name
|
|
208
|
+
|
|
209
|
+
Returns:
|
|
210
|
+
Formatted newsletter HTML/Markdown
|
|
211
|
+
"""
|
|
212
|
+
newsletter = f"""# 🤖 AI News Brief
|
|
213
|
+
|
|
214
|
+
{brief}
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## 📌 Quick Highlights
|
|
219
|
+
|
|
220
|
+
"""
|
|
221
|
+
|
|
222
|
+
for h in highlights:
|
|
223
|
+
newsletter += f"- **{h['title']}** - {h['source']}\n"
|
|
224
|
+
|
|
225
|
+
newsletter += f"""
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
*This brief was generated automatically by PraisonAI.*
|
|
229
|
+
"""
|
|
230
|
+
|
|
231
|
+
return newsletter
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: ai-broll-builder
|
|
2
|
+
version: 1.0.0
|
|
3
|
+
description: Build B-roll video from screenshots with Ken Burns effects, pans, and zooms
|
|
4
|
+
author: PraisonAI
|
|
5
|
+
tags:
|
|
6
|
+
- video
|
|
7
|
+
- broll
|
|
8
|
+
- effects
|
|
9
|
+
- ken-burns
|
|
10
|
+
|
|
11
|
+
config:
|
|
12
|
+
effects:
|
|
13
|
+
- ken_burns
|
|
14
|
+
- pan
|
|
15
|
+
- zoom
|
|
16
|
+
duration_per_image: 5
|
|
17
|
+
transition: crossfade
|
|
18
|
+
output_format: mp4
|
|
19
|
+
|
|
20
|
+
input:
|
|
21
|
+
type: object
|
|
22
|
+
properties:
|
|
23
|
+
images:
|
|
24
|
+
type: array
|
|
25
|
+
duration:
|
|
26
|
+
type: integer
|
|
27
|
+
|
|
28
|
+
output:
|
|
29
|
+
type: object
|
|
30
|
+
properties:
|
|
31
|
+
video_path:
|
|
32
|
+
type: string
|
|
33
|
+
|
|
34
|
+
requires:
|
|
35
|
+
external:
|
|
36
|
+
- ffmpeg
|
|
37
|
+
packages:
|
|
38
|
+
- moviepy
|
|
39
|
+
|
|
40
|
+
workflow:
|
|
41
|
+
agents:
|
|
42
|
+
- name: broll_builder
|
|
43
|
+
role: B-roll Video Creator
|
|
44
|
+
tools:
|
|
45
|
+
- create_ken_burns
|
|
46
|
+
- apply_pan_zoom
|
|
47
|
+
- build_broll
|