compact-agent 1.1.0
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.
- package/README.md +394 -0
- package/bin/anycode.js +2 -0
- package/bin/crowcoder.js +19 -0
- package/bin/ecc-hooks.cjs +138 -0
- package/dist/agents.d.ts +17 -0
- package/dist/agents.js +1603 -0
- package/dist/agents.js.map +1 -0
- package/dist/api.d.ts +16 -0
- package/dist/api.js +115 -0
- package/dist/api.js.map +1 -0
- package/dist/autonomous-loops.d.ts +108 -0
- package/dist/autonomous-loops.js +526 -0
- package/dist/autonomous-loops.js.map +1 -0
- package/dist/codemaps.d.ts +53 -0
- package/dist/codemaps.js +325 -0
- package/dist/codemaps.js.map +1 -0
- package/dist/compaction.d.ts +30 -0
- package/dist/compaction.js +125 -0
- package/dist/compaction.js.map +1 -0
- package/dist/config.d.ts +5 -0
- package/dist/config.js +79 -0
- package/dist/config.js.map +1 -0
- package/dist/content-engine.d.ts +97 -0
- package/dist/content-engine.js +721 -0
- package/dist/content-engine.js.map +1 -0
- package/dist/cost-tracker.d.ts +49 -0
- package/dist/cost-tracker.js +150 -0
- package/dist/cost-tracker.js.map +1 -0
- package/dist/counter-button.d.ts +35 -0
- package/dist/counter-button.js +48 -0
- package/dist/counter-button.js.map +1 -0
- package/dist/counter.d.ts +21 -0
- package/dist/counter.js +31 -0
- package/dist/counter.js.map +1 -0
- package/dist/coverage.d.ts +23 -0
- package/dist/coverage.js +215 -0
- package/dist/coverage.js.map +1 -0
- package/dist/docs-sync.d.ts +23 -0
- package/dist/docs-sync.js +266 -0
- package/dist/docs-sync.js.map +1 -0
- package/dist/ecc.d.ts +41 -0
- package/dist/ecc.js +644 -0
- package/dist/ecc.js.map +1 -0
- package/dist/evaluation.d.ts +24 -0
- package/dist/evaluation.js +412 -0
- package/dist/evaluation.js.map +1 -0
- package/dist/export.d.ts +22 -0
- package/dist/export.js +109 -0
- package/dist/export.js.map +1 -0
- package/dist/git-workflow.d.ts +22 -0
- package/dist/git-workflow.js +197 -0
- package/dist/git-workflow.js.map +1 -0
- package/dist/hook-controls.d.ts +34 -0
- package/dist/hook-controls.js +90 -0
- package/dist/hook-controls.js.map +1 -0
- package/dist/hooks.d.ts +30 -0
- package/dist/hooks.js +130 -0
- package/dist/hooks.js.map +1 -0
- package/dist/html-parser.d.ts +18 -0
- package/dist/html-parser.js +101 -0
- package/dist/html-parser.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +1230 -0
- package/dist/index.js.map +1 -0
- package/dist/learning.d.ts +35 -0
- package/dist/learning.js +238 -0
- package/dist/learning.js.map +1 -0
- package/dist/login.d.ts +37 -0
- package/dist/login.js +191 -0
- package/dist/login.js.map +1 -0
- package/dist/memory.d.ts +39 -0
- package/dist/memory.js +183 -0
- package/dist/memory.js.map +1 -0
- package/dist/model-router.d.ts +23 -0
- package/dist/model-router.js +145 -0
- package/dist/model-router.js.map +1 -0
- package/dist/modes.d.ts +17 -0
- package/dist/modes.js +217 -0
- package/dist/modes.js.map +1 -0
- package/dist/orchestration.d.ts +37 -0
- package/dist/orchestration.js +139 -0
- package/dist/orchestration.js.map +1 -0
- package/dist/package-detect.d.ts +36 -0
- package/dist/package-detect.js +529 -0
- package/dist/package-detect.js.map +1 -0
- package/dist/permissions.d.ts +25 -0
- package/dist/permissions.js +50 -0
- package/dist/permissions.js.map +1 -0
- package/dist/pm2-manager.d.ts +40 -0
- package/dist/pm2-manager.js +127 -0
- package/dist/pm2-manager.js.map +1 -0
- package/dist/query.d.ts +15 -0
- package/dist/query.js +278 -0
- package/dist/query.js.map +1 -0
- package/dist/refactor.d.ts +22 -0
- package/dist/refactor.js +226 -0
- package/dist/refactor.js.map +1 -0
- package/dist/retry.d.ts +20 -0
- package/dist/retry.js +88 -0
- package/dist/retry.js.map +1 -0
- package/dist/rules.d.ts +34 -0
- package/dist/rules.js +942 -0
- package/dist/rules.js.map +1 -0
- package/dist/schema.d.ts +23 -0
- package/dist/schema.js +12 -0
- package/dist/schema.js.map +1 -0
- package/dist/search-first.d.ts +17 -0
- package/dist/search-first.js +301 -0
- package/dist/search-first.js.map +1 -0
- package/dist/security.d.ts +10 -0
- package/dist/security.js +145 -0
- package/dist/security.js.map +1 -0
- package/dist/sessions.d.ts +21 -0
- package/dist/sessions.js +112 -0
- package/dist/sessions.js.map +1 -0
- package/dist/skill-create.d.ts +38 -0
- package/dist/skill-create.js +389 -0
- package/dist/skill-create.js.map +1 -0
- package/dist/skills.d.ts +34 -0
- package/dist/skills.js +161 -0
- package/dist/skills.js.map +1 -0
- package/dist/strategic-compaction.d.ts +24 -0
- package/dist/strategic-compaction.js +144 -0
- package/dist/strategic-compaction.js.map +1 -0
- package/dist/system-prompt.d.ts +3 -0
- package/dist/system-prompt.js +101 -0
- package/dist/system-prompt.js.map +1 -0
- package/dist/theme.d.ts +60 -0
- package/dist/theme.js +220 -0
- package/dist/theme.js.map +1 -0
- package/dist/tools/bash.d.ts +2 -0
- package/dist/tools/bash.js +49 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/edit.d.ts +2 -0
- package/dist/tools/edit.js +76 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools/glob.d.ts +2 -0
- package/dist/tools/glob.js +54 -0
- package/dist/tools/glob.js.map +1 -0
- package/dist/tools/grep.d.ts +2 -0
- package/dist/tools/grep.js +64 -0
- package/dist/tools/grep.js.map +1 -0
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.js +27 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/list-dir.d.ts +2 -0
- package/dist/tools/list-dir.js +51 -0
- package/dist/tools/list-dir.js.map +1 -0
- package/dist/tools/read.d.ts +2 -0
- package/dist/tools/read.js +56 -0
- package/dist/tools/read.js.map +1 -0
- package/dist/tools/types.d.ts +45 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/web-fetch.d.ts +2 -0
- package/dist/tools/web-fetch.js +41 -0
- package/dist/tools/web-fetch.js.map +1 -0
- package/dist/tools/web-search.d.ts +27 -0
- package/dist/tools/web-search.js +139 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/tools/write.d.ts +2 -0
- package/dist/tools/write.js +36 -0
- package/dist/tools/write.js.map +1 -0
- package/dist/types.d.ts +28 -0
- package/dist/types.js +57 -0
- package/dist/types.js.map +1 -0
- package/dist/users.d.ts +51 -0
- package/dist/users.js +193 -0
- package/dist/users.js.map +1 -0
- package/dist/verification.d.ts +73 -0
- package/dist/verification.js +269 -0
- package/dist/verification.js.map +1 -0
- package/dist/walkthrough.d.ts +10 -0
- package/dist/walkthrough.js +121 -0
- package/dist/walkthrough.js.map +1 -0
- package/package.json +58 -0
- package/resources/ecc/agents/architect.json +16 -0
- package/resources/ecc/agents/architect.md +212 -0
- package/resources/ecc/agents/build-error-resolver.json +17 -0
- package/resources/ecc/agents/build-error-resolver.md +116 -0
- package/resources/ecc/agents/chief-of-staff.json +17 -0
- package/resources/ecc/agents/chief-of-staff.md +153 -0
- package/resources/ecc/agents/code-reviewer.json +16 -0
- package/resources/ecc/agents/code-reviewer.md +238 -0
- package/resources/ecc/agents/database-reviewer.json +16 -0
- package/resources/ecc/agents/database-reviewer.md +92 -0
- package/resources/ecc/agents/doc-updater.json +16 -0
- package/resources/ecc/agents/doc-updater.md +108 -0
- package/resources/ecc/agents/e2e-runner.json +17 -0
- package/resources/ecc/agents/e2e-runner.md +109 -0
- package/resources/ecc/agents/go-build-resolver.json +17 -0
- package/resources/ecc/agents/go-build-resolver.md +96 -0
- package/resources/ecc/agents/go-reviewer.json +16 -0
- package/resources/ecc/agents/go-reviewer.md +77 -0
- package/resources/ecc/agents/harness-optimizer.json +15 -0
- package/resources/ecc/agents/harness-optimizer.md +34 -0
- package/resources/ecc/agents/loop-operator.json +16 -0
- package/resources/ecc/agents/loop-operator.md +36 -0
- package/resources/ecc/agents/planner.json +15 -0
- package/resources/ecc/agents/planner.md +212 -0
- package/resources/ecc/agents/python-reviewer.json +16 -0
- package/resources/ecc/agents/python-reviewer.md +99 -0
- package/resources/ecc/agents/refactor-cleaner.json +17 -0
- package/resources/ecc/agents/refactor-cleaner.md +87 -0
- package/resources/ecc/agents/security-reviewer.json +16 -0
- package/resources/ecc/agents/security-reviewer.md +109 -0
- package/resources/ecc/agents/tdd-guide.json +17 -0
- package/resources/ecc/agents/tdd-guide.md +93 -0
- package/resources/ecc/commands/add-language-rules.md +39 -0
- package/resources/ecc/commands/database-migration.md +36 -0
- package/resources/ecc/commands/feature-development.md +38 -0
- package/resources/ecc/prompts/build-fix.prompt.md +47 -0
- package/resources/ecc/prompts/code-review.prompt.md +56 -0
- package/resources/ecc/prompts/plan.prompt.md +52 -0
- package/resources/ecc/prompts/refactor.prompt.md +50 -0
- package/resources/ecc/prompts/security-review.prompt.md +70 -0
- package/resources/ecc/prompts/tdd.prompt.md +47 -0
- package/resources/ecc/rules/common-agents.md +53 -0
- package/resources/ecc/rules/common-coding-style.md +52 -0
- package/resources/ecc/rules/common-development-workflow.md +33 -0
- package/resources/ecc/rules/common-git-workflow.md +28 -0
- package/resources/ecc/rules/common-hooks.md +34 -0
- package/resources/ecc/rules/common-patterns.md +35 -0
- package/resources/ecc/rules/common-performance.md +59 -0
- package/resources/ecc/rules/common-security.md +33 -0
- package/resources/ecc/rules/common-testing.md +33 -0
- package/resources/ecc/rules/golang-coding-style.md +31 -0
- package/resources/ecc/rules/golang-hooks.md +16 -0
- package/resources/ecc/rules/golang-patterns.md +44 -0
- package/resources/ecc/rules/golang-security.md +33 -0
- package/resources/ecc/rules/golang-testing.md +30 -0
- package/resources/ecc/rules/kotlin-coding-style.md +39 -0
- package/resources/ecc/rules/kotlin-hooks.md +16 -0
- package/resources/ecc/rules/kotlin-patterns.md +50 -0
- package/resources/ecc/rules/kotlin-security.md +58 -0
- package/resources/ecc/rules/kotlin-testing.md +38 -0
- package/resources/ecc/rules/php-coding-style.md +25 -0
- package/resources/ecc/rules/php-hooks.md +21 -0
- package/resources/ecc/rules/php-patterns.md +23 -0
- package/resources/ecc/rules/php-security.md +24 -0
- package/resources/ecc/rules/php-testing.md +26 -0
- package/resources/ecc/rules/python-coding-style.md +42 -0
- package/resources/ecc/rules/python-hooks.md +19 -0
- package/resources/ecc/rules/python-patterns.md +39 -0
- package/resources/ecc/rules/python-security.md +30 -0
- package/resources/ecc/rules/python-testing.md +38 -0
- package/resources/ecc/rules/swift-coding-style.md +47 -0
- package/resources/ecc/rules/swift-hooks.md +20 -0
- package/resources/ecc/rules/swift-patterns.md +66 -0
- package/resources/ecc/rules/swift-security.md +33 -0
- package/resources/ecc/rules/swift-testing.md +45 -0
- package/resources/ecc/rules/typescript-coding-style.md +63 -0
- package/resources/ecc/rules/typescript-hooks.md +20 -0
- package/resources/ecc/rules/typescript-patterns.md +50 -0
- package/resources/ecc/rules/typescript-security.md +26 -0
- package/resources/ecc/rules/typescript-testing.md +16 -0
- package/resources/ecc/skills/agent-introspection-debugging/SKILL.md +152 -0
- package/resources/ecc/skills/agent-introspection-debugging/agents/openai.yaml +7 -0
- package/resources/ecc/skills/agent-sort/SKILL.md +214 -0
- package/resources/ecc/skills/agent-sort/agents/openai.yaml +7 -0
- package/resources/ecc/skills/api-design/SKILL.md +522 -0
- package/resources/ecc/skills/api-design/agents/openai.yaml +7 -0
- package/resources/ecc/skills/article-writing/SKILL.md +78 -0
- package/resources/ecc/skills/article-writing/agents/openai.yaml +7 -0
- package/resources/ecc/skills/backend-patterns/SKILL.md +597 -0
- package/resources/ecc/skills/backend-patterns/agents/openai.yaml +7 -0
- package/resources/ecc/skills/brand-voice/SKILL.md +96 -0
- package/resources/ecc/skills/brand-voice/agents/openai.yaml +7 -0
- package/resources/ecc/skills/brand-voice/references/voice-profile-schema.md +55 -0
- package/resources/ecc/skills/bun-runtime/SKILL.md +83 -0
- package/resources/ecc/skills/bun-runtime/agents/openai.yaml +7 -0
- package/resources/ecc/skills/coding-standards/SKILL.md +548 -0
- package/resources/ecc/skills/coding-standards/agents/openai.yaml +7 -0
- package/resources/ecc/skills/content-engine/SKILL.md +130 -0
- package/resources/ecc/skills/content-engine/agents/openai.yaml +7 -0
- package/resources/ecc/skills/crosspost/SKILL.md +110 -0
- package/resources/ecc/skills/crosspost/agents/openai.yaml +7 -0
- package/resources/ecc/skills/deep-research/SKILL.md +154 -0
- package/resources/ecc/skills/deep-research/agents/openai.yaml +7 -0
- package/resources/ecc/skills/dmux-workflows/SKILL.md +143 -0
- package/resources/ecc/skills/dmux-workflows/agents/openai.yaml +7 -0
- package/resources/ecc/skills/documentation-lookup/SKILL.md +89 -0
- package/resources/ecc/skills/documentation-lookup/agents/openai.yaml +7 -0
- package/resources/ecc/skills/e2e-testing/SKILL.md +325 -0
- package/resources/ecc/skills/e2e-testing/agents/openai.yaml +7 -0
- package/resources/ecc/skills/eval-harness/SKILL.md +235 -0
- package/resources/ecc/skills/eval-harness/agents/openai.yaml +7 -0
- package/resources/ecc/skills/everything-claude-code/SKILL.md +442 -0
- package/resources/ecc/skills/everything-claude-code/agents/openai.yaml +7 -0
- package/resources/ecc/skills/exa-search/SKILL.md +169 -0
- package/resources/ecc/skills/exa-search/agents/openai.yaml +7 -0
- package/resources/ecc/skills/fal-ai-media/SKILL.md +276 -0
- package/resources/ecc/skills/fal-ai-media/agents/openai.yaml +7 -0
- package/resources/ecc/skills/frontend-patterns/SKILL.md +647 -0
- package/resources/ecc/skills/frontend-patterns/agents/openai.yaml +7 -0
- package/resources/ecc/skills/frontend-slides/SKILL.md +183 -0
- package/resources/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/resources/ecc/skills/frontend-slides/agents/openai.yaml +7 -0
- package/resources/ecc/skills/investor-materials/SKILL.md +95 -0
- package/resources/ecc/skills/investor-materials/agents/openai.yaml +7 -0
- package/resources/ecc/skills/investor-outreach/SKILL.md +90 -0
- package/resources/ecc/skills/investor-outreach/agents/openai.yaml +7 -0
- package/resources/ecc/skills/market-research/SKILL.md +74 -0
- package/resources/ecc/skills/market-research/agents/openai.yaml +7 -0
- package/resources/ecc/skills/mcp-server-patterns/SKILL.md +66 -0
- package/resources/ecc/skills/mcp-server-patterns/agents/openai.yaml +7 -0
- package/resources/ecc/skills/mle-workflow/SKILL.md +346 -0
- package/resources/ecc/skills/mle-workflow/agents/openai.yaml +7 -0
- package/resources/ecc/skills/nextjs-turbopack/SKILL.md +43 -0
- package/resources/ecc/skills/nextjs-turbopack/agents/openai.yaml +7 -0
- package/resources/ecc/skills/product-capability/SKILL.md +140 -0
- package/resources/ecc/skills/product-capability/agents/openai.yaml +7 -0
- package/resources/ecc/skills/security-review/SKILL.md +494 -0
- package/resources/ecc/skills/security-review/agents/openai.yaml +7 -0
- package/resources/ecc/skills/strategic-compact/SKILL.md +102 -0
- package/resources/ecc/skills/strategic-compact/agents/openai.yaml +7 -0
- package/resources/ecc/skills/tdd-workflow/SKILL.md +409 -0
- package/resources/ecc/skills/tdd-workflow/agents/openai.yaml +7 -0
- package/resources/ecc/skills/verification-loop/SKILL.md +125 -0
- package/resources/ecc/skills/verification-loop/agents/openai.yaml +7 -0
- package/resources/ecc/skills/video-editing/SKILL.md +307 -0
- package/resources/ecc/skills/video-editing/agents/openai.yaml +7 -0
- package/resources/ecc/skills/x-api/SKILL.md +229 -0
- package/resources/ecc/skills/x-api/agents/openai.yaml +7 -0
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fal-ai-media
|
|
3
|
+
description: Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# fal.ai Media Generation
|
|
7
|
+
|
|
8
|
+
Generate images, videos, and audio using fal.ai models via MCP.
|
|
9
|
+
|
|
10
|
+
## When to Activate
|
|
11
|
+
|
|
12
|
+
- User wants to generate images from text prompts
|
|
13
|
+
- Creating videos from text or images
|
|
14
|
+
- Generating speech, music, or sound effects
|
|
15
|
+
- Any media generation task
|
|
16
|
+
- User says "generate image", "create video", "text to speech", "make a thumbnail", or similar
|
|
17
|
+
|
|
18
|
+
## MCP Requirement
|
|
19
|
+
|
|
20
|
+
fal.ai MCP server must be configured. Add to `~/.claude.json`:
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
"fal-ai": {
|
|
24
|
+
"command": "npx",
|
|
25
|
+
"args": ["-y", "fal-ai-mcp-server"],
|
|
26
|
+
"env": { "FAL_KEY": "YOUR_FAL_KEY_HERE" }
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Get an API key at [fal.ai](https://fal.ai).
|
|
31
|
+
|
|
32
|
+
## MCP Tools
|
|
33
|
+
|
|
34
|
+
The fal.ai MCP provides these tools:
|
|
35
|
+
- `search` — Find available models by keyword
|
|
36
|
+
- `find` — Get model details and parameters
|
|
37
|
+
- `generate` — Run a model with parameters
|
|
38
|
+
- `result` — Check async generation status
|
|
39
|
+
- `status` — Check job status
|
|
40
|
+
- `cancel` — Cancel a running job
|
|
41
|
+
- `estimate_cost` — Estimate generation cost
|
|
42
|
+
- `models` — List popular models
|
|
43
|
+
- `upload` — Upload files for use as inputs
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Image Generation
|
|
48
|
+
|
|
49
|
+
### Nano Banana 2 (Fast)
|
|
50
|
+
Best for: quick iterations, drafts, text-to-image, image editing.
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
generate(
|
|
54
|
+
model_name: "fal-ai/nano-banana-2",
|
|
55
|
+
input: {
|
|
56
|
+
"prompt": "a futuristic cityscape at sunset, cyberpunk style",
|
|
57
|
+
"image_size": "landscape_16_9",
|
|
58
|
+
"num_images": 1,
|
|
59
|
+
"seed": 42
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Nano Banana Pro (High Fidelity)
|
|
65
|
+
Best for: production images, realism, typography, detailed prompts.
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
generate(
|
|
69
|
+
model_name: "fal-ai/nano-banana-pro",
|
|
70
|
+
input: {
|
|
71
|
+
"prompt": "professional product photo of wireless headphones on marble surface, studio lighting",
|
|
72
|
+
"image_size": "square",
|
|
73
|
+
"num_images": 1,
|
|
74
|
+
"guidance_scale": 7.5
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Common Image Parameters
|
|
80
|
+
|
|
81
|
+
| Param | Type | Options | Notes |
|
|
82
|
+
|-------|------|---------|-------|
|
|
83
|
+
| `prompt` | string | required | Describe what you want |
|
|
84
|
+
| `image_size` | string | `square`, `portrait_4_3`, `landscape_16_9`, `portrait_16_9`, `landscape_4_3` | Aspect ratio |
|
|
85
|
+
| `num_images` | number | 1-4 | How many to generate |
|
|
86
|
+
| `seed` | number | any integer | Reproducibility |
|
|
87
|
+
| `guidance_scale` | number | 1-20 | How closely to follow the prompt (higher = more literal) |
|
|
88
|
+
|
|
89
|
+
### Image Editing
|
|
90
|
+
Use Nano Banana 2 with an input image for inpainting, outpainting, or style transfer:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
# First upload the source image
|
|
94
|
+
upload(file_path: "/path/to/image.png")
|
|
95
|
+
|
|
96
|
+
# Then generate with image input
|
|
97
|
+
generate(
|
|
98
|
+
model_name: "fal-ai/nano-banana-2",
|
|
99
|
+
input: {
|
|
100
|
+
"prompt": "same scene but in watercolor style",
|
|
101
|
+
"image_url": "<uploaded_url>",
|
|
102
|
+
"image_size": "landscape_16_9"
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Video Generation
|
|
110
|
+
|
|
111
|
+
### Seedance 1.0 Pro (ByteDance)
|
|
112
|
+
Best for: text-to-video, image-to-video with high motion quality.
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
generate(
|
|
116
|
+
model_name: "fal-ai/seedance-1-0-pro",
|
|
117
|
+
input: {
|
|
118
|
+
"prompt": "a drone flyover of a mountain lake at golden hour, cinematic",
|
|
119
|
+
"duration": "5s",
|
|
120
|
+
"aspect_ratio": "16:9",
|
|
121
|
+
"seed": 42
|
|
122
|
+
}
|
|
123
|
+
)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Kling Video v3 Pro
|
|
127
|
+
Best for: text/image-to-video with native audio generation.
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
generate(
|
|
131
|
+
model_name: "fal-ai/kling-video/v3/pro",
|
|
132
|
+
input: {
|
|
133
|
+
"prompt": "ocean waves crashing on a rocky coast, dramatic clouds",
|
|
134
|
+
"duration": "5s",
|
|
135
|
+
"aspect_ratio": "16:9"
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Veo 3 (Google DeepMind)
|
|
141
|
+
Best for: video with generated sound, high visual quality.
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
generate(
|
|
145
|
+
model_name: "fal-ai/veo-3",
|
|
146
|
+
input: {
|
|
147
|
+
"prompt": "a bustling Tokyo street market at night, neon signs, crowd noise",
|
|
148
|
+
"aspect_ratio": "16:9"
|
|
149
|
+
}
|
|
150
|
+
)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Image-to-Video
|
|
154
|
+
Start from an existing image:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
generate(
|
|
158
|
+
model_name: "fal-ai/seedance-1-0-pro",
|
|
159
|
+
input: {
|
|
160
|
+
"prompt": "camera slowly zooms out, gentle wind moves the trees",
|
|
161
|
+
"image_url": "<uploaded_image_url>",
|
|
162
|
+
"duration": "5s"
|
|
163
|
+
}
|
|
164
|
+
)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Video Parameters
|
|
168
|
+
|
|
169
|
+
| Param | Type | Options | Notes |
|
|
170
|
+
|-------|------|---------|-------|
|
|
171
|
+
| `prompt` | string | required | Describe the video |
|
|
172
|
+
| `duration` | string | `"5s"`, `"10s"` | Video length |
|
|
173
|
+
| `aspect_ratio` | string | `"16:9"`, `"9:16"`, `"1:1"` | Frame ratio |
|
|
174
|
+
| `seed` | number | any integer | Reproducibility |
|
|
175
|
+
| `image_url` | string | URL | Source image for image-to-video |
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Audio Generation
|
|
180
|
+
|
|
181
|
+
### CSM-1B (Conversational Speech)
|
|
182
|
+
Text-to-speech with natural, conversational quality.
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
generate(
|
|
186
|
+
model_name: "fal-ai/csm-1b",
|
|
187
|
+
input: {
|
|
188
|
+
"text": "Hello, welcome to the demo. Let me show you how this works.",
|
|
189
|
+
"speaker_id": 0
|
|
190
|
+
}
|
|
191
|
+
)
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### ThinkSound (Video-to-Audio)
|
|
195
|
+
Generate matching audio from video content.
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
generate(
|
|
199
|
+
model_name: "fal-ai/thinksound",
|
|
200
|
+
input: {
|
|
201
|
+
"video_url": "<video_url>",
|
|
202
|
+
"prompt": "ambient forest sounds with birds chirping"
|
|
203
|
+
}
|
|
204
|
+
)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### ElevenLabs (via API, no MCP)
|
|
208
|
+
For professional voice synthesis, use ElevenLabs directly:
|
|
209
|
+
|
|
210
|
+
```python
|
|
211
|
+
import os
|
|
212
|
+
import requests
|
|
213
|
+
|
|
214
|
+
resp = requests.post(
|
|
215
|
+
"https://api.elevenlabs.io/v1/text-to-speech/<voice_id>",
|
|
216
|
+
headers={
|
|
217
|
+
"xi-api-key": os.environ["ELEVENLABS_API_KEY"],
|
|
218
|
+
"Content-Type": "application/json"
|
|
219
|
+
},
|
|
220
|
+
json={
|
|
221
|
+
"text": "Your text here",
|
|
222
|
+
"model_id": "eleven_turbo_v2_5",
|
|
223
|
+
"voice_settings": {"stability": 0.5, "similarity_boost": 0.75}
|
|
224
|
+
}
|
|
225
|
+
)
|
|
226
|
+
with open("output.mp3", "wb") as f:
|
|
227
|
+
f.write(resp.content)
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### VideoDB Generative Audio
|
|
231
|
+
If VideoDB is configured, use its generative audio:
|
|
232
|
+
|
|
233
|
+
```python
|
|
234
|
+
# Voice generation
|
|
235
|
+
audio = coll.generate_voice(text="Your narration here", voice="alloy")
|
|
236
|
+
|
|
237
|
+
# Music generation
|
|
238
|
+
music = coll.generate_music(prompt="upbeat electronic background music", duration=30)
|
|
239
|
+
|
|
240
|
+
# Sound effects
|
|
241
|
+
sfx = coll.generate_sound_effect(prompt="thunder crack followed by rain")
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Cost Estimation
|
|
247
|
+
|
|
248
|
+
Before generating, check estimated cost:
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
estimate_cost(model_name: "fal-ai/nano-banana-pro", input: {...})
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
## Model Discovery
|
|
255
|
+
|
|
256
|
+
Find models for specific tasks:
|
|
257
|
+
|
|
258
|
+
```
|
|
259
|
+
search(query: "text to video")
|
|
260
|
+
find(model_name: "fal-ai/seedance-1-0-pro")
|
|
261
|
+
models()
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
## Tips
|
|
265
|
+
|
|
266
|
+
- Use `seed` for reproducible results when iterating on prompts
|
|
267
|
+
- Start with lower-cost models (Nano Banana 2) for prompt iteration, then switch to Pro for finals
|
|
268
|
+
- For video, keep prompts descriptive but concise — focus on motion and scene
|
|
269
|
+
- Image-to-video produces more controlled results than pure text-to-video
|
|
270
|
+
- Check `estimate_cost` before running expensive video generations
|
|
271
|
+
|
|
272
|
+
## Related Skills
|
|
273
|
+
|
|
274
|
+
- `videodb` — Video processing, editing, and streaming
|
|
275
|
+
- `video-editing` — AI-powered video editing workflows
|
|
276
|
+
- `content-engine` — Content creation for social platforms
|