{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "slug": "fal-video",
    "name": "fal video models",
    "vendor": "fal (Features \u0026 Labels, Inc.)",
    "vendorUrl": "https://fal.ai",
    "kind": "platform",
    "category": "video-generation",
    "summary": "fal hosts third-party and open-weights video models, including Seedance, Kling, Veo, MiniMax and Wan, behind one queue API, one key and a hosted MCP server.",
    "url": "https://www.anchorterminal.com/tools/fal-video",
    "markdownUrl": "https://www.anchorterminal.com/tools/fal-video.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/fal-video.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/fal-video.json",
    "transports": [
      "http",
      "streamable-http"
    ],
    "remoteUrl": "https://queue.fal.run",
    "packages": [
      {
        "registry": "npm",
        "name": "@fal-ai/client"
      },
      {
        "registry": "pypi",
        "name": "fal-client"
      }
    ],
    "auth": "mixed",
    "authNotes": "Self-serve API key from the fal dashboard, sent as `Authorization: Key $FAL_KEY`, with an API or ADMIN scope. The MCP relay uses OAuth with browser sign-in and no key. No partner or sales approval is needed for the Model APIs.",
    "pricing": "usage",
    "pricingNotes": "Prepaid credit, priced per model, with no free tier or sandbox. Most video models bill per second of output by resolution or audio, and Seedance bills per 1,000 tokens. 5xx failures and queue time aren't billed. Purchased credits expire after 365 days (https://fal.ai/pricing, https://fal.ai/docs/documentation/model-apis/pricing.md).",
    "priceSummary": "Pay per use",
    "where": "hosted",
    "x402": {
      "level": "no",
      "evidence": "No x402, MPP or L402 in the docs index, the pricing page or the terms (checked 2026-10-08).",
      "endpoints": []
    },
    "toolCount": null,
    "popularity": {
      "githubStars": 187,
      "npmWeekly": 1929970,
      "pypiWeekly": 738438,
      "asOf": "2026-10-08"
    },
    "docsUrl": "https://fal.ai/docs",
    "llmsTxt": "https://fal.ai/docs/llms.txt",
    "openapi": "https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=fal-ai/kling-video/v3/pro/text-to-video",
    "capabilities": [
      "video.generate",
      "video.image-to-video",
      "video.edit",
      "video.audio"
    ],
    "tags": [
      "hosted",
      "model-platform",
      "async-jobs",
      "webhooks",
      "mcp",
      "oauth",
      "card-required",
      "python",
      "typescript",
      "llms-txt",
      "openapi",
      "status-page"
    ],
    "lastRelease": "2026-09-21",
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 68.9,
      "grade": "B",
      "agentReady": false,
      "rank": 192,
      "ranked": true,
      "rankOf": 842,
      "categoryRank": 1,
      "methodology": "0.4",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 81,
        "maintenance": 81,
        "payments": 20,
        "reliability": 77,
        "schema": 89,
        "security": 63,
        "transparency": 60
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 77,
          "points": 15.4,
          "reason": "Graded as a hosted service on the queue API. Instatus page at status.fal.ai with components for Model API, Serverless API, Official Models and the dashboards, and monthly uptime figures (20). Two notices from August to 8 October 2026, a 30-minute major outage of synchronous calls to `fal.run` on 4 September and 18 minutes of degraded performance on 29 September. Neither reached an hour, and the page showed nothing before August, so 10 to 31 July is unread (20). Concurrency is published, 2 for a new account rising to 40 self-serve with paid invoices over four weeks, and queued requests are never rejected (15). A 429 carries type `concurrent_requests_limit` and `X-Fal-needs-retry: 1`, the docs give backoff of 1, 2, 4 and 8 seconds, the queue retries 503, 504 and connection errors up to 10 times, and backup domains are documented. There is no idempotency key, and one page says concurrency requeues have no maximum while another says 10 (12). The enterprise page mentions SLA guarantees but no SLA document is published (0). The queue API is generally available (10)."
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 89,
          "points": 14.46,
          "reason": "Per-endpoint OpenAPI 3.0.4 documents for the queue API, for example `fal-ai/kling-video/v3/pro/text-to-video`, and an OpenAPI 3.1 document for the platform APIs (25). A docs llms.txt, Markdown twins of docs pages and an llms.txt per model with schema, defaults and price (10). Model pages state what each model does but rarely when not to use it, and the Seedance 2.5 catalogue text says up to 720p while its schema lists 1080p (12). Inputs are typed with enums, ranges and defaults, but `duration` is a string enum on Kling, a string with a unit on Veo 3.1 and an integer on Wan 3.0, and Kling's rule that one of `prompt` or `multi_prompt` is needed sits in prose with a required example of `{}` (13). Examples in cURL, Python and JavaScript on every model, a model error reference with typed errors such as `content_policy_violation` and `video_duration_too_long`, and a request error reference with 13 types (14). Versioned endpoint IDs and a dated public changelog (15)."
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 81,
          "points": 13.16,
          "reason": "Graded on the queue API, with the hosted MCP server noted. Results are small JSON with a file URL, and a model's llms.txt is 6 to 8 KB loaded on demand. The MCP server has 11 tools with schema and pricing lookups (20). The catalogue API takes `category`, `limit` and a cursor, queue status reports position, webhooks replace polling, and most models take duration and resolution, though names and types differ (18). Errors carry a machine-readable `error_type`, the same value in `X-Fal-Error-Type`, and guidance on which to retry (18). No idempotency key. Server-side retries, `X-Fal-No-Retry`, a cancel endpoint and no charge for 5xx failures reduce the cost of a failed call, but a repeated submit is a second billable job, and the MCP docs don't mention readOnlyHint or destructiveHint (10). Few required parameters, and official Python and JavaScript clients plus Swift, Kotlin and Dart (15)."
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 63,
          "points": 11.03,
          "reason": "Keys carry one of two scopes, API (call models) or ADMIN (CLI, app management and admin platform APIs), are shown once at creation and are managed in the dashboard. Rotation and expiry aren't documented. The MCP relay uses OAuth with browser sign-in, and its scopes aren't documented (25). The API scope is the least-privilege mode. There is no read-only key, and the MCP docs state that the server has no server-side approval gate before a paid generation (10). Returns generated media and fal's own catalogue text (10). Request payloads are kept 30 days in the dashboard history, and usage and analytics APIs report per-request spend (10). `https://fal.ai/.well-known/security.txt` returned 404 on 8 October 2026 and no disclosure policy or bug bounty was found. The enterprise page claims SOC 2 certification, the DPA of 31 July 2026 has a data security exhibit, and the trust centre at trust.fal.ai renders only in a browser, so the report and its scope were unread (8)."
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 20,
          "points": 2.5,
          "reason": "No x402, MPP or L402 in the docs, pricing page or terms (0). Per-model prices are public without a login on fal.ai/pricing and on every model page and llms.txt, and a pricing API returns unit prices by endpoint ID (20). No standing free tier. The terms and FAQ mention promotional credits and grants with their own expiry, and the terms require credit bought in advance (0). A person signs up in a browser and buys credit, and the MCP relay needs browser sign-in (0)."
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 81,
          "points": 7.09,
          "reason": "`fal-client` 1.0.3 reached PyPI on 21 September 2026, 17 days before the check, and the catalogue shows video endpoints added on 1 and 5 October (30). Six dated changelog entries from 3 August to 14 September and three Python client releases since 19 August (20). Public changelog, Discord and a support address, with response times not checked (10). Python client current at 1.0.3, JavaScript client at 1.10.1 on npm with the repository pushed on 7 October 2026, and Swift, Kotlin and Dart clients documented (13). `fal-js` has 19 open issues and pull requests, and its CI wasn't read (8)."
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 60,
          "points": 5.25,
          "note": "editorial 53, provenance 66",
          "reason": "Closed platform with published terms (8 September 2026) and API Services supplemental terms. The clients are MIT and the catalogue marks each model's `license_type`. The terms warrant nothing about rights in output, and a clause bars scripts that integrate with the services without written authorisation, which sits oddly with an API product (13). Data handling is documented and mostly agrees. Request payloads are kept 30 days with an opt-out header and a delete API, the API Services terms say client content isn't used to train or develop fal's products except on models marked Pending Enterprise Ready, and the privacy policy of 22 July 2026 deletes account data 30 days after closure. The terms still let fal use usage data to develop AI models, and content sent to a third-party model goes to that third party (22). 22 text-to-video endpoints are marked deprecated in the catalogue, with no removal dates, no written policy and no changelog entries (8). The DPA names a subprocessor list at trust.fal.ai/subprocessors with 15 days' notice of changes, but that page renders only in a browser, and the privacy policy says processing is in the United States and other countries (10)."
        }
      ],
      "assessment": {
        "date": "2026-10-08",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "Graded on the queue API, with the hosted MCP server noted. Results are small JSON with a file URL, and a model's llms.txt is 6 to 8 KB loaded on demand. The MCP server has 11 tools with schema and pricing lookups (20). The catalogue API takes `category`, `limit` and a cursor, queue status reports position, webhooks replace polling, and most models take duration and resolution, though names and types differ (18). Errors carry a machine-readable `error_type`, the same value in `X-Fal-Error-Type`, and guidance on which to retry (18). No idempotency key. Server-side retries, `X-Fal-No-Retry`, a cancel endpoint and no charge for 5xx failures reduce the cost of a failed call, but a repeated submit is a second billable job, and the MCP docs don't mention readOnlyHint or destructiveHint (10). Few required parameters, and official Python and JavaScript clients plus Swift, Kotlin and Dart (15).",
          "maintenance": "`fal-client` 1.0.3 reached PyPI on 21 September 2026, 17 days before the check, and the catalogue shows video endpoints added on 1 and 5 October (30). Six dated changelog entries from 3 August to 14 September and three Python client releases since 19 August (20). Public changelog, Discord and a support address, with response times not checked (10). Python client current at 1.0.3, JavaScript client at 1.10.1 on npm with the repository pushed on 7 October 2026, and Swift, Kotlin and Dart clients documented (13). `fal-js` has 19 open issues and pull requests, and its CI wasn't read (8).",
          "payments": "No x402, MPP or L402 in the docs, pricing page or terms (0). Per-model prices are public without a login on fal.ai/pricing and on every model page and llms.txt, and a pricing API returns unit prices by endpoint ID (20). No standing free tier. The terms and FAQ mention promotional credits and grants with their own expiry, and the terms require credit bought in advance (0). A person signs up in a browser and buys credit, and the MCP relay needs browser sign-in (0).",
          "reliability": "Graded as a hosted service on the queue API. Instatus page at status.fal.ai with components for Model API, Serverless API, Official Models and the dashboards, and monthly uptime figures (20). Two notices from August to 8 October 2026, a 30-minute major outage of synchronous calls to `fal.run` on 4 September and 18 minutes of degraded performance on 29 September. Neither reached an hour, and the page showed nothing before August, so 10 to 31 July is unread (20). Concurrency is published, 2 for a new account rising to 40 self-serve with paid invoices over four weeks, and queued requests are never rejected (15). A 429 carries type `concurrent_requests_limit` and `X-Fal-needs-retry: 1`, the docs give backoff of 1, 2, 4 and 8 seconds, the queue retries 503, 504 and connection errors up to 10 times, and backup domains are documented. There is no idempotency key, and one page says concurrency requeues have no maximum while another says 10 (12). The enterprise page mentions SLA guarantees but no SLA document is published (0). The queue API is generally available (10).",
          "schema": "Per-endpoint OpenAPI 3.0.4 documents for the queue API, for example `fal-ai/kling-video/v3/pro/text-to-video`, and an OpenAPI 3.1 document for the platform APIs (25). A docs llms.txt, Markdown twins of docs pages and an llms.txt per model with schema, defaults and price (10). Model pages state what each model does but rarely when not to use it, and the Seedance 2.5 catalogue text says up to 720p while its schema lists 1080p (12). Inputs are typed with enums, ranges and defaults, but `duration` is a string enum on Kling, a string with a unit on Veo 3.1 and an integer on Wan 3.0, and Kling's rule that one of `prompt` or `multi_prompt` is needed sits in prose with a required example of `{}` (13). Examples in cURL, Python and JavaScript on every model, a model error reference with typed errors such as `content_policy_violation` and `video_duration_too_long`, and a request error reference with 13 types (14). Versioned endpoint IDs and a dated public changelog (15).",
          "security": "Keys carry one of two scopes, API (call models) or ADMIN (CLI, app management and admin platform APIs), are shown once at creation and are managed in the dashboard. Rotation and expiry aren't documented. The MCP relay uses OAuth with browser sign-in, and its scopes aren't documented (25). The API scope is the least-privilege mode. There is no read-only key, and the MCP docs state that the server has no server-side approval gate before a paid generation (10). Returns generated media and fal's own catalogue text (10). Request payloads are kept 30 days in the dashboard history, and usage and analytics APIs report per-request spend (10). `https://fal.ai/.well-known/security.txt` returned 404 on 8 October 2026 and no disclosure policy or bug bounty was found. The enterprise page claims SOC 2 certification, the DPA of 31 July 2026 has a data security exhibit, and the trust centre at trust.fal.ai renders only in a browser, so the report and its scope were unread (8).",
          "transparency": "Closed platform with published terms (8 September 2026) and API Services supplemental terms. The clients are MIT and the catalogue marks each model's `license_type`. The terms warrant nothing about rights in output, and a clause bars scripts that integrate with the services without written authorisation, which sits oddly with an API product (13). Data handling is documented and mostly agrees. Request payloads are kept 30 days with an opt-out header and a delete API, the API Services terms say client content isn't used to train or develop fal's products except on models marked Pending Enterprise Ready, and the privacy policy of 22 July 2026 deletes account data 30 days after closure. The terms still let fal use usage data to develop AI models, and content sent to a third-party model goes to that third party (22). 22 text-to-video endpoints are marked deprecated in the catalogue, with no removal dates, no written policy and no changelog entries (8). The DPA names a subprocessor list at trust.fal.ai/subprocessors with 15 days' notice of changes, but that page renders only in a browser, and the privacy policy says processing is in the United States and other countries (10)."
        },
        "sources": [
          {
            "what": "status page and notice history",
            "url": "https://status.fal.ai/history",
            "seen": "2026-10-08"
          },
          {
            "what": "video model catalogue API, text-to-video (159 endpoints over two pages)",
            "url": "https://api.fal.ai/v1/models?category=text-to-video\u0026limit=100",
            "seen": "2026-10-08"
          },
          {
            "what": "pricing page",
            "url": "https://fal.ai/pricing",
            "seen": "2026-10-08"
          },
          {
            "what": "Kling v3 Pro model llms.txt, schema and price",
            "url": "https://fal.ai/models/fal-ai/kling-video/v3/pro/text-to-video/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "Kling v3 Pro queue OpenAPI document",
            "url": "https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=fal-ai/kling-video/v3/pro/text-to-video",
            "seen": "2026-10-08"
          },
          {
            "what": "Seedance 2.5 model llms.txt",
            "url": "https://fal.ai/models/bytedance/seedance-2.5/text-to-video/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "Veo 3.1 model llms.txt",
            "url": "https://fal.ai/models/fal-ai/veo3.1/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "MiniMax H3 Max model llms.txt",
            "url": "https://fal.ai/models/minimax/h3-max/text-to-video/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "Wan 3.0 model llms.txt",
            "url": "https://fal.ai/models/alibaba/wan-3.0/text-to-video/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "docs llms.txt",
            "url": "https://fal.ai/docs/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "MCP server docs and tool list",
            "url": "https://fal.ai/docs/documentation/setting-up/mcp.md",
            "seen": "2026-10-08"
          },
          {
            "what": "MCP setup for Claude Code",
            "url": "https://fal.ai/docs/documentation/setting-up/mcp/claude-code.md",
            "seen": "2026-10-08"
          },
          {
            "what": "concurrency limits and 429 handling",
            "url": "https://fal.ai/docs/documentation/model-apis/concurrency-limits.md",
            "seen": "2026-10-08"
          },
          {
            "what": "reliability, retries and backup domains",
            "url": "https://fal.ai/docs/documentation/model-apis/inference/reliability.md",
            "seen": "2026-10-08"
          },
          {
            "what": "queue API, webhooks and headers",
            "url": "https://fal.ai/docs/documentation/model-apis/inference/queue.md",
            "seen": "2026-10-08"
          },
          {
            "what": "model error reference",
            "url": "https://fal.ai/docs/documentation/model-apis/errors.md",
            "seen": "2026-10-08"
          },
          {
            "what": "request error types",
            "url": "https://fal.ai/docs/documentation/model-apis/request-errors.md",
            "seen": "2026-10-08"
          },
          {
            "what": "billing rules and pricing API",
            "url": "https://fal.ai/docs/documentation/model-apis/pricing.md",
            "seen": "2026-10-08"
          },
          {
            "what": "data retention and storage",
            "url": "https://fal.ai/docs/documentation/model-apis/media-expiration.md",
            "seen": "2026-10-08"
          },
          {
            "what": "API keys and scopes",
            "url": "https://fal.ai/docs/documentation/setting-up/authentication/index.md",
            "seen": "2026-10-08"
          },
          {
            "what": "Model APIs FAQ, credits",
            "url": "https://fal.ai/docs/documentation/model-apis/faq.md",
            "seen": "2026-10-08"
          },
          {
            "what": "changelog",
            "url": "https://fal.ai/docs/changelog",
            "seen": "2026-10-08"
          },
          {
            "what": "terms of service, 8 September 2026",
            "url": "https://fal.ai/legal/terms-of-service",
            "seen": "2026-10-08"
          },
          {
            "what": "API Services supplemental terms",
            "url": "https://fal.ai/legal/api-services",
            "seen": "2026-10-08"
          },
          {
            "what": "data processing addendum, 31 July 2026",
            "url": "https://fal.ai/legal/data-processing-addendum",
            "seen": "2026-10-08"
          },
          {
            "what": "privacy policy, 22 July 2026",
            "url": "https://fal.ai/legal/privacy-policy",
            "seen": "2026-10-08"
          },
          {
            "what": "enterprise page (SOC 2 and SLA claims)",
            "url": "https://fal.ai/enterprise",
            "seen": "2026-10-08"
          },
          {
            "what": "security.txt, 404",
            "url": "https://fal.ai/.well-known/security.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "Python client releases",
            "url": "https://pypi.org/pypi/fal-client/json",
            "seen": "2026-10-08"
          },
          {
            "what": "JavaScript client on npm",
            "url": "https://registry.npmjs.org/@fal-ai/client/latest",
            "seen": "2026-10-08"
          },
          {
            "what": "fal-js repository metadata",
            "url": "https://api.github.com/repos/fal-ai/fal-js",
            "seen": "2026-10-08"
          },
          {
            "what": "domain registration",
            "url": "https://rdap.org/domain/fal.ai",
            "seen": "2026-10-08"
          }
        ],
        "openQuestions": [
          "unchecked: trust.fal.ai and trust.fal.ai/subprocessors render only in a browser, so the SOC 2 report, its scope and the subprocessor list were unread.",
          "unchecked: the status history showed August to October 2026 only, so 10 to 31 July of the 90-day window is unread.",
          "unchecked: the MCP relay at `https://mcp.fal.ai/mcp-relay` needs OAuth sign-in, so tool definitions, annotations and scopes are taken from the docs, not the server.",
          "unchecked: the official MCP registry. A search for fal returned 30 unrelated servers on its first page and no fal entry.",
          "unchecked: the pricing API at `/v1/models/pricing` needs a key, so prices come from model pages. Nine models were read, not every endpoint.",
          "The pricing page lists Kling v3 Pro at $0.14 a second while the model page gives $0.112 without audio and $0.168 with audio. Which one is billed wasn't established.",
          "The catalogue marks 22 text-to-video endpoints deprecated without removal dates, so whether they still answer wasn't established.",
          "MiniMax H3 Max prices on its model page are promotional until 15 October 2026. The unit price recorded is the stated price after that date.",
          "The docs llms.txt opens with a block headed Agent Instructions addressed to AI models. It was read as data and not acted on.",
          "The existing fal-image and fal-music listings record no DPA, no training statement and no error reference. All three exist today and those listings want a recheck.",
          "Response times of fal's support channels and the release date of `@fal-ai/client` 1.10.1 weren't checked."
        ]
      },
      "negative": 0,
      "verdict": "One key and one queue API reach 137 active text-to-video endpoints, each with a published price, an OpenAPI document and an llms.txt. Billing units, duration formats and audio pricing differ per model, there is no free tier, and a person must sign up in a browser and buy credit.",
      "bestFor": "An agent or team that wants to compare or switch between Seedance, Kling, Veo, MiniMax, Wan and open-weights video models with one key and one queue contract.",
      "strengths": [
        "159 text-to-video endpoints in the catalogue API on 8 October 2026, 137 active, plus image-to-video and video-to-video categories of more than 100 each",
        "Each model has a per-endpoint OpenAPI document and an llms.txt with schema, defaults, examples and price",
        "Queue with status, cancel, webhooks, server-side retries up to 10 times and backup domains `falrun.com` and `queue.falrun.com`",
        "5xx failures and queue time aren't billed, and typed errors carry `error_type` and an `X-Fal-Error-Type` header",
        "API Services terms say client content isn't used for training, and `X-Fal-Store-IO: 0` stops payload storage"
      ],
      "weaknesses": [
        "Billing differs per model (per second by resolution, per second by audio, per 1,000 tokens), and Kling v3 Pro shows $0.14 on the pricing page against $0.112 or $0.168 on its model page",
        "No standing free tier, no machine payment protocol, and sign-up and credit purchase need a person in a browser",
        "22 text-to-video endpoints, Sora 2 and Veo 3 among them, are marked deprecated in the catalogue with no removal date or changelog entry",
        "No idempotency key, so a repeated submit starts a second billable job",
        "No security.txt, and the trust centre with the SOC 2 material and subprocessor list renders only in a browser",
        "The terms of service bar scripts that integrate with the services without written authorisation, and bar robots and data gathering"
      ],
      "agentNotes": [
        "Submit to `queue.fal.run`, keep the `request_id`, then poll `status_url` or set `fal_webhook`. Never resubmit to check progress, because each submit is a new billable job",
        "Read `https://fal.ai/models/\u003cendpoint-id\u003e/llms.txt` before a call. `duration` is the string `\"5\"` on Kling, `\"8s\"` on Veo 3.1 and an integer on Wan 3.0",
        "Set `generate_audio` on purpose. It defaults to true and raises the Kling v3 Pro price from $0.112 to $0.168 a second and Veo 3.1 from $0.20 to $0.40",
        "Check `metadata.status` in `https://api.fal.ai/v1/models` before pinning an endpoint. Deprecated endpoints carry no removal date",
        "Use an API-scope key, never an ADMIN key. A new account runs 2 requests at once, so long video jobs queue behind each other",
        "The MCP relay has no server-side approval gate. Call `get_pricing` and get the owner's approval before `submit_job`"
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "medium",
          "grade": "B",
          "methodology": "0.4",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 68.9
        }
      ],
      "editorialScores": {
        "ergonomics": 81,
        "maintenance": 81,
        "payments": 20,
        "reliability": 77,
        "schema": 89,
        "security": 63,
        "transparency": 53
      },
      "provenanceScore": 66
    },
    "connect": {
      "install": "pip install fal-client   # or: npm install --save @fal-ai/client",
      "http": "curl -X POST https://queue.fal.run/fal-ai/kling-video/v3/pro/text-to-video -H \"Authorization: Key $FAL_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{\"prompt\":\"ocean waves at sunset, slow dolly in\",\"duration\":\"5\",\"generate_audio\":false}'",
      "claudeCode": "claude mcp add --transport http --scope user fal https://mcp.fal.ai/mcp-relay"
    },
    "letme": {
      "capability": "https://letme.dev/video.generate",
      "tool": "https://letme.dev/fal-video"
    },
    "sameCompany": [
      "fal-image",
      "fal-music"
    ],
    "notable": [
      "The catalogue API returned 159 text-to-video endpoints on 8 October 2026, 137 active and 22 deprecated, and more than 100 each for image-to-video and video-to-video (https://api.fal.ai/v1/models?category=text-to-video\u0026limit=100)",
      "Hosted MCP server at `https://mcp.fal.ai/mcp-relay` with 11 tools, among them `search_models`, `get_model_schema`, `get_pricing`, `submit_job` and `cancel_job`. The docs say it has no server-side approval gate (https://fal.ai/docs/documentation/setting-up/mcp.md)",
      "Sora 2, Veo 3, Veo 2 and Kling 1.x to 2.1 text-to-video endpoints are marked deprecated in the catalogue, with no removal dates (https://api.fal.ai/v1/models?category=text-to-video\u0026limit=100\u0026cursor=Mg)",
      "The pricing page lists Kling v3 Pro at $0.14 a second. The model page gives $0.112 without audio and $0.168 with audio (https://fal.ai/pricing, https://fal.ai/models/fal-ai/kling-video/v3/pro/text-to-video/llms.txt)",
      "API Services terms say fal won't use client content to train or develop its products, except on models marked Pending Enterprise Ready, and that content sent to a third-party model goes to that third party (https://fal.ai/legal/api-services)",
      "The terms of service bar robots, data gathering and scripts that integrate with the services unless fal authorises them in writing (https://fal.ai/legal/terms-of-service)",
      "The docs llms.txt opens with a block headed Agent Instructions addressed to AI models (https://fal.ai/docs/llms.txt)",
      "Shares its API, key, terms, status page and clients with the fal-image and fal-music listings"
    ],
    "area": "content",
    "details": [
      {
        "label": "Models",
        "value": "Seedance 2.5 and 2.0, Kling v3, o3 and 2.6, Veo 3.1 (standard, Fast, Lite), MiniMax H3 and H3 Max, Wan 3.0 and 2.7, Gemini Omni Flash, Grok Imagine Video 1.5, Flux 3 video, LTX 2.5 and 2.3, PixVerse v6, Vidu Q3, Happy Horse 1.1, Luma Ray 3.2, Hunyuan Video, Kandinsky 6 (https://api.fal.ai/v1/models?category=text-to-video\u0026limit=100)"
      },
      {
        "label": "Max clip length",
        "value": "Per model. Seedance 2.5 4 to 30 seconds, Wan 3.0 2 to 30, Kling v3 3 to 15, Veo 3.1 4, 6 or 8"
      },
      {
        "label": "Resolution",
        "value": "Per model. Veo 3.1 720p, 1080p and 4K. LTX 2.5 Fast 720p to 4K. Seedance 2.5 and Wan 3.0 480p to 1080p"
      },
      {
        "label": "Audio",
        "value": "Native audio on Veo 3.1, Kling v3, Seedance 2.5 and LTX 2.5. `generate_audio` defaults to true and raises the price on Veo 3.1 and Kling v3"
      },
      {
        "label": "Typical job time",
        "value": "Async queue. No job times published. The MCP `run_model` tool waits 45 seconds by default, then returns a request ID"
      },
      {
        "label": "Licence of output",
        "value": "Set by each model. The catalogue marks `license_type` (commercial on most, research on `fal-ai/ltx-video`). The terms warrant nothing about rights in output"
      },
      {
        "label": "Free tier",
        "value": "None published. Promotional credits and grants exist and expire on their own terms"
      },
      {
        "label": "Rate limits",
        "value": "Concurrency 2 for a new account, rising automatically to 40 self-serve with paid invoices. Queued requests don't count and aren't rejected"
      },
      {
        "label": "Data retention",
        "value": "Request payloads 30 days by default, off with `X-Fal-Store-IO: 0`. Media lifetime set with `X-Fal-Object-Lifecycle-Preference`"
      },
      {
        "label": "MCP server",
        "value": "`https://mcp.fal.ai/mcp-relay`, Streamable HTTP with OAuth, 11 tools, no extra charge"
      },
      {
        "label": "Deprecated endpoints",
        "value": "22 of 159 text-to-video endpoints, among them Sora 2, Veo 3, Veo 2 and Kling 1.x to 2.1, with no removal dates"
      }
    ],
    "unitPrices": [
      {
        "item": "Kling v3 Pro with audio",
        "unit": "video-second",
        "usd": 0.168,
        "note": "$0.112 without audio, $0.196 with voice control"
      },
      {
        "item": "Kling v3 Standard with audio",
        "unit": "video-second",
        "usd": 0.126,
        "note": "$0.084 without audio"
      },
      {
        "item": "Veo 3.1 with audio, 720p or 1080p",
        "unit": "video-second",
        "usd": 0.4,
        "note": "$0.20 without audio, $0.60 at 4K with audio"
      },
      {
        "item": "Veo 3.1 Fast with audio, 720p or 1080p",
        "unit": "video-second",
        "usd": 0.15,
        "note": "$0.10 without audio"
      },
      {
        "item": "Seedance 2.5 720p",
        "unit": "video-second",
        "usd": 0.473,
        "note": "approximate, billed at $0.0214 per 1,000 tokens. About $0.2205 at 480p and $1.164 at 1080p"
      },
      {
        "item": "Wan 3.0 720p",
        "unit": "video-second",
        "usd": 0.1,
        "note": "$0.05 at 480p, $0.20 at 1080p"
      },
      {
        "item": "MiniMax H3 Max 768p",
        "unit": "video-second",
        "usd": 0.08,
        "note": "$0.048 on promotion until 15 October 2026. $0.05 at 480p and $0.16 at 1080p after"
      },
      {
        "item": "LTX 2.5 Fast 720p",
        "unit": "video-second",
        "usd": 0.09,
        "note": "audio included, $0.30 at 4K"
      },
      {
        "item": "Grok Imagine Video 1.5 720p",
        "unit": "video-second",
        "usd": 0.14,
        "note": "$0.08 at 480p, $0.25 at 1080p"
      }
    ],
    "provenance": {
      "legalEntity": "Features \u0026 Labels, Inc.",
      "domain": "fal.ai",
      "domainRegistered": "2020-11-13",
      "endpointOnVendorDomain": false,
      "terms": "https://fal.ai/legal/terms-of-service",
      "privacy": "https://fal.ai/legal/privacy-policy",
      "statusPage": "https://status.fal.ai",
      "changelog": "https://fal.ai/docs/changelog",
      "securityTxt": "none",
      "checked": "2026-10-08",
      "notes": [
        "The API runs on fal.run and queue.fal.run, a separate domain from fal.ai, with backup domains falrun.com and queue.falrun.com. The catalogue and platform APIs are on api.fal.ai and the MCP relay on mcp.fal.ai.",
        "Legal entity and the address 2261 Market St, Suite 10467, San Francisco, CA 94114 from the terms of service, last updated 8 September 2026.",
        "The terms of service incorporate the API Services Supplemental Terms (https://fal.ai/legal/api-services) and the Data Processing Addendum of 31 July 2026 (https://fal.ai/legal/data-processing-addendum).",
        "The privacy policy, last updated 22 July 2026, says fal is a service provider for enterprise customers under contract.",
        "https://fal.ai/.well-known/security.txt returned 404 on 8 October 2026.",
        "RDAP for fal.ai gives a registration date of 2020-11-13."
      ],
      "score": 66,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "Features \u0026 Labels, Inc.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "fal.ai, registered 2020-11-13 (5 years)",
          "points": 11,
          "max": 15,
          "state": "part"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "queue.fal.run is not on fal.ai",
          "points": 0,
          "max": 15,
          "state": "no"
        },
        {
          "check": "Terms of service",
          "value": "read, states 6 of the 7 things a reader expects, and has 2 clauses that cost points",
          "points": 5.1,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 8 of the 8 things a reader expects",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Status page",
          "value": "status.fal.ai",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Changelog",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "security.txt",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://fal.ai/legal/terms-of-service",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2026-09-08",
          "words": 8795,
          "points": 5.1,
          "max": 10,
          "expected": [
            {
              "key": "terms.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last Updated: September 8, 2026",
              "says": "Last updated 2026-09-08"
            },
            {
              "key": "terms.law",
              "label": "Names the governing law or courts",
              "found": true,
              "quote": "Any dispute, claim, or controversy arising from or relating to these Terms or the Services will be governed by and construed and enforced in accordance with the laws of the State of California, without regard to conflict of law rules or principles.",
              "says": "The law of the State of California"
            },
            {
              "key": "terms.liability",
              "label": "States a limit on its liability",
              "found": true,
              "quote": "THE TOTAL LIABILITY OF COMPANY AND THE OTHER COMPANY PARTIES FOR ANY CLAIM ARISING OUT OF OR RELATING TO THESE TERMS OR OUR SERVICES, REGARDLESS OF THE FORM OF THE ACTION, IS LIMITED TO THE GREATER OF $50 OR THE AMOUNT PAID BY YOU TO USE OUR SERVICES IN THE 12-MONTH PERIOD BEFORE THE EVENT GIVING RISE TO THE CLAIM.",
              "says": "Capped at the greater of $50 and the fees paid in the 12 months before the claim"
            },
            {
              "key": "terms.termination",
              "label": "Says how the agreement or account can be ended",
              "found": true,
              "quote": "These Terms will continue for the Term, unless we terminate these Terms or your account is deactivated as permitted by these Terms."
            },
            {
              "key": "terms.changes",
              "label": "Says how changes to the terms are announced",
              "found": true,
              "quote": "If we make future changes, we may provide you with notice of such changes, such as by sending an email, providing a notice through our Services, or updating the date at the top of these Terms.",
              "says": "Says it gives notice of a change"
            },
            {
              "key": "terms.use",
              "label": "Lists what users may not do",
              "found": true,
              "quote": "If you are under 18 years old (or the age of legal majority where you live), you may not use our Services."
            },
            {
              "key": "terms.sla",
              "label": "Refers to a service level or uptime commitment",
              "found": false
            }
          ],
          "toKnow": [
            {
              "key": "terms.automated",
              "label": "Restricts automated access",
              "found": true,
              "quote": "copy, frame, scrape, license, offer, sell, transfer, rent, or lease the Services or attempt any of the foregoing;",
              "costsPoints": true
            },
            {
              "key": "terms.benchmark",
              "label": "Restricts benchmarking or competitive use",
              "found": true,
              "quote": "access the Services or Documentation or use the Services in order to develop or build a similar product or competitive product;",
              "costsPoints": true
            },
            {
              "key": "terms.cutoff",
              "label": "Says access can be ended without notice or for any reason",
              "found": true,
              "quote": "Company will use commercially reasonable efforts to notify Customer before such suspension, but Company reserves the right to exercise its suspension rights without prior notice if it reasonably determines it is required to protect its interests in, or the integrity or security of, the Services."
            },
            {
              "key": "terms.arbitration",
              "label": "Requires arbitration or waives class actions",
              "found": true,
              "quote": "IF YOU DO NOT WISH TO ARBITRATE DISPUTES WITH COMPANY, YOU MAY OPT OUT OF ARBITRATION BY FOLLOWING THE INSTRUCTIONS PROVIDED IN SECTION 18."
            }
          ],
          "notes": [
            {
              "date": "2026-10-08",
              "text": "Anonymised or aggregated Usage Data, which the terms define as possibly including data derived from Customer Input, may be used to develop the company's products, services and AI models.",
              "quote": "Company may generate, collect, store, use, transfer, and/or disclose to third parties Usage Data and use Usage Data to perform data analytics; to monitor, improve, and support the Services; to design, develop, and offer Company products, services, and AI models"
            },
            {
              "date": "2026-10-08",
              "text": "Scripts or software applications that interact or integrate with the Services need the company's written authorisation first.",
              "quote": "develop any scripts or software applications that interact with or integrate with the Services unless first authorized in writing by Company;"
            },
            {
              "date": "2026-10-08",
              "text": "Purchased credits expire 365 days after the date of purchase.",
              "quote": "Credits will expire 365 days from the date of purchase."
            }
          ]
        },
        {
          "kind": "privacy",
          "url": "https://fal.ai/legal/privacy-policy",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2026-07-22",
          "words": 3114,
          "points": 10,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last Updated: July 22, 2026",
              "says": "Last updated 2026-07-22"
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": true,
              "quote": "The information we collect about you depends on how you use our Services or otherwise interact with us."
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": true,
              "quote": "If you close your account, we will delete personal information related to your account within 30 days;",
              "says": "Names a period of 30 days"
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "If you are an enterprise user of the Services, and your use is governed by an enterprise contract, we handle your personal information as a service provider (sometimes called a \"processor\") on behalf of the enterprise customer."
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": true,
              "quote": "For more information about the cookies and similar tracking technologies we use, and the choices available to you, see the Targeted Advertising and Analytics and the Your Choices sections below."
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": true,
              "quote": "In addition, you may have the right to object to certain processing or request we restrict certain processing."
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": true,
              "quote": "If you have questions about this Privacy Policy, please contact us at support@fal.ai.",
              "says": "support@fal.ai"
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": true,
              "quote": "Whenever we make restricted international transfers of personal information, we take steps to ensure that your personal information receives an adequate level of protection (by putting in place appropriate safeguards, such as contractual clauses) or ensure that we can rely on an appropriate derogation under data prote…"
            }
          ],
          "toKnow": [
            {
              "key": "privacy.sells",
              "label": "Says it sells personal data or shares it for advertising",
              "found": true,
              "quote": "The activities described in this section may constitute “targeted advertising,” “sharing,” or “selling” under certain privacy laws."
            }
          ],
          "notes": [
            {
              "date": "2026-10-08",
              "text": "Other members of a Team Account may view its billing information, API keys and AI model requests, including input and output data.",
              "quote": "If you are a member of a Team Account, other members of the Team Account may view billing information, API keys, and AI model requests (including any input and output data) associated with the Team Account."
            }
          ]
        }
      ]
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/fal-video.json",
    "live": {
      "slug": "fal-video",
      "probe": {
        "target": "https://queue.fal.run",
        "method": "get",
        "lastAt": "2026-10-09T10:42:43.194130915Z",
        "lastOk": true,
        "lastStatus": 404,
        "lastMs": 103,
        "authRequired": false,
        "uptime24h": 100,
        "uptime30d": 100,
        "p50ms24h": 135,
        "p95ms24h": 240,
        "samples24h": 33,
        "samples30d": 33,
        "days": [
          {
            "date": "2026-10-09",
            "probes": 33,
            "ok": 33
          }
        ]
      },
      "updatedAt": "2026-10-09T10:42:43.194130915Z"
    }
  }
}
