Fal Ai

PassAudited by ClawScan on May 1, 2026.

Overview

This appears to be a coherent fal.ai media-generation skill, but it uses a fal.ai API key, sends prompts and media to fal.ai, and stores pending request details locally.

This skill is reasonable for fal.ai image and video generation. Before installing, be comfortable with giving it access to a fal.ai API key, sending prompts/images/videos to fal.ai, and storing pending request details locally. Consider using a revocable API key and clearing the pending file after sensitive jobs.

Findings (3)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

The skill can use your fal.ai account key to submit API jobs, which may consume fal.ai account quota or credits.

Why it was flagged

The helper obtains a fal.ai API key from environment or local OpenClaw configuration files, then uses it for authenticated fal.ai requests. This is expected for the integration but is sensitive credential access.

Skill content
key = os.environ.get("FAL_KEY") ... config_file = Path.home() / ".openclaw/openclaw.json" ... if TOOLS_FILE.exists():
Recommendation

Use a scoped/revocable fal.ai key if available, keep it out of shared files, and revoke or rotate it if you no longer trust the skill.

What this means

Images, videos, prompts, or data URIs you provide may be transmitted to fal.ai for processing.

Why it was flagged

Submitted prompts and media references/data are sent to fal.ai's queue API. This external provider flow is central to the skill's purpose, but users should recognize that their inputs leave the local environment.

Skill content
FAL_API_BASE = "https://queue.fal.run" ... resp = requests.post(url, headers=get_headers(), json=input_data)
Recommendation

Only submit media and prompts you are comfortable sharing with fal.ai, and review fal.ai's data handling terms for sensitive content.

What this means

Sensitive prompts or media data may remain in the local pending-request file while jobs are tracked.

Why it was flagged

The queue tracker writes pending request records to disk and includes the submitted input data, which can contain prompts, media URLs, or base64-encoded local media.

Skill content
PENDING_FILE = Path(os.environ.get("FAL_PENDING_FILE", Path.home() / ".openclaw/workspace/fal-pending.json")) ... "input": input_data
Recommendation

Check or clear ~/.openclaw/workspace/fal-pending.json after sensitive jobs, and avoid using base64 data URIs for private media unless necessary.