# Fal.ai

> TTS, STT, music, and image/video generation via Fal.ai.

One-key access to audio and visual models hosted on Fal.ai.

## What it can do

| Method | What it does |
| --- | --- |
| `generate_speech` | Generate speech from text using Fal.ai (ElevenLabs TTS). Result will have agent_file in it. agent_file.public_url is public HTTP url for the generated audio. |
| `transcribe_audio` | Transcribe or translate audio from a public URL (Whisper via Fal). |
| `generate_music` | Generate music from a text prompt using Fal.ai (CassetteAI). Result will have agent_file in it. agent_file.public_url is public HTTP url for the generated audio. |
| `kling_motion_control_video` | Generate motion-controlled video with Kling 3.0 using image + motion reference video. Requires a valid motion video with upper body or full body visible, otherwise endpoint rejects input. Returns agent_file .mp4. |
| `kling_image_to_video` | Generate video from image with Kling image-to-video endpoint. Returns agent_file with .mp4. Use for direct I2V when no separate edit stage is needed. |
| `seedream_text_to_image` | Generate image via Seedream 5.0 text-to-image. Returns agent_file with generated image. Good default for stylized/photoreal scene creation. |
| `seedream_edit_image` | Edit image via Seedream 5.0 edit endpoint. Returns agent_file with edited image. Sends image_urls array as required by endpoint. |
| `banana_effect_image` | Apply image effect with Banana model endpoint (endpoint is configurable until final model route is confirmed). Sends image_urls array for models that require batched image inputs. |
| `ltx_text_to_video` | Generate video with LTX text-to-video (v2.3 by default). Endpoint is configurable for compatibility with Fal account/model slug differences. |
| `ltx_image_to_video` | Generate video with LTX image-to-video (v2.3 by default). Endpoint is configurable for compatibility with Fal account/model slug differences. |

## How to get credentials

1. Sign up at [fal.ai](https://fal.ai) and verify your email.
2. Open [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys).
3. Create an API key and copy the `fal-…` token.
4. Paste it in FlyMyAI as `FAL_KEY`.

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| `FAL_KEY` | fal.ai → Dashboard → API keys |

## Troubleshooting

- **`insufficient_funds`** - top up your Fal balance; the MCP can't run
  paid endpoints otherwise.
- **`endpoint not found`** - Fal occasionally renames model slugs. Pass
  an explicit `endpoint` argument, or wait for us to pin the new slug.

## Links

- [Fal dashboard](https://fal.ai/dashboard)
- [Fal API reference](https://docs.fal.ai/)
