← falCONTENT HISTORY

Update to fal

Snapshot Nov 1, 2026 · 00:09 UTC · version 1.3.1

Collection source: downloaded plugin package. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED

Instructions updated for fal-workflow

Skill instructions — Now says: ## Local File Inputs - With hosted MCP and local file/HTTP access, call `upload_file` with `prepare_upload: true`, the basename as `file_name`, and the...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Save fal and check future changes in Following.

Up to 10 plugins free · no card required.

All fields and original values.

Skill instructions

Before

Sep 30, 2026 · 22:46 UTC

No removed lines (ordering may have changed)

After

Nov 1, 2026 · 00:09 UTC

## Local File Inputs - With hosted MCP and local file/HTTP access, call `upload_file` with `prepare_upload: true`, the basename as `file_name`, and the actual byte count as `file_size` (up to 90MB). This uses the already connected fa...

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

--- before
+++ after
@@ -46,6 +46,23 @@
 - Utility cleanup: background removal, compression, upscaling, format
   conversion, segmentation, or OCR as deterministic nodes.
 
+## Local File Inputs
+
+- With hosted MCP and local file/HTTP access, call `upload_file` with
+  `prepare_upload: true`, the basename as `file_name`, and the actual byte count
+  as `file_size` (up to 90MB). This uses the already connected fal account.
+- PUT the actual file bytes to the returned `upload_url` with its returned
+  headers. For example, a local HTTP client or `curl --upload-file` can stream
+  the file without putting its contents into the conversation. Keep the signed
+  URL private; send no Authorization header and do not follow redirects.
+- `status: upload_required` means no bytes have been uploaded yet. Only use
+  `file_url` as model input after the PUT returns 2xx. If the PUT fails, stop
+  before generation; do not guess that a file exists at the returned URL.
+- Never pass a local path to hosted MCP, copy base64 through chat, or obtain a
+  different API key to work around a rejection. If local file/HTTP access is
+  unavailable, ask for a public file URL. Stdio supports `file_path` when the
+  server's local-file allowlist permits it.
+
 ## Failure Handling
 
 - 422/schema error: re-inspect schema and remove guessed fields.
Full technical diff · 1 changed fields

changed /skill_md_contents

BEFORE
"---\nname: fal-workflow\ndescription: >\n  Design multi-step fal.ai media workflows for MCP execution. Use when the user\n  wants model chaining, batch generation, fan-out/fan-in, frame bridging,\n  narrated video, dataset creation, reusable pipeline logic, or workflow JSON.\n---\n\n# fal.ai Workflows\n\nUse this skill when a single model call is not enough. A workflow is a planned\nsequence of model calls with dependencies, retries, quality gates, and a final\nmanifest.\n\n## Workflow Modes\n\n- Cloud workflow JSON: use when the user wants a reusable graph asset.\n- MCP-orchestrated workflow: use when the client should run a sequence now through\n  the fal.ai MCP tools.\n\nDo not call genmedia CLI from this plugin. If a source skill mentions CLI\norchestration, translate that intent into MCP tool usage.\n\n## Planning Pattern\n\n1. Define final deliverable and acceptance criteria.\n2. Split into nodes: input assets, generation, utility transforms, edits,\n   video/audio/3D steps, and final packaging.\n3. Choose model per node with `model-routing`.\n4. Capture dependencies: which output URL feeds which next input.\n5. Inspect schema for each endpoint before building payloads.\n6. Run independent expensive nodes async.\n7. Poll async nodes without restarting completed work.\n8. Gate each step: preserve identity/product, check duration, check format.\n9. Return a manifest: node, endpoint, request id, inputs, output URLs, defects.\n\n## Useful Patterns\n\n- Anchor first: generate or upload a strong still, then drive edits/video from\n  that approved asset.\n- Fan-out: create several variants from the same anchor, then select one.\n- Fan-in: combine product, logo, character, or style references into an edit.\n- Frame bridge: generate first and last frame, then use image-to-video or\n  supported controls to bridge motion.\n- Audio-first: generate/upload voice first, then match visuals to duration.\n- Utility cleanup: background removal, compression, upscaling, format\n  conversion, segmentation, or OCR as deterministic nodes.\n\n## Failure Handling\n\n- 422/schema error: re-inspect schema and remove guessed fields.\n- Product/identity drift: switch to reference/edit workflow.\n- Video still running: keep polling the same request id.\n- Bad prompt alignment: reduce prompt scope and change one variable at a time.\n- Cost spike: reduce variants, duration, resolution, or use draft endpoints.\n"
AFTER
"---\nname: fal-workflow\ndescription: >\n  Design multi-step fal.ai media workflows for MCP execution. Use when the user\n  wants model chaining, batch generation, fan-out/fan-in, frame bridging,\n  narrated video, dataset creation, reusable pipeline logic, or workflow JSON.\n---\n\n# fal.ai Workflows\n\nUse this skill when a single model call is not enough. A workflow is a planned\nsequence of model calls with dependencies, retries, quality gates, and a final\nmanifest.\n\n## Workflow Modes\n\n- Cloud workflow JSON: use when the user wants a reusable graph asset.\n- MCP-orchestrated workflow: use when the client should run a sequence now through\n  the fal.ai MCP tools.\n\nDo not call genmedia CLI from this plugin. If a source skill mentions CLI\norchestration, translate that intent into MCP tool usage.\n\n## Planning Pattern\n\n1. Define final deliverable and acceptance criteria.\n2. Split into nodes: input assets, generation, utility transforms, edits,\n   video/audio/3D steps, and final packaging.\n3. Choose model per node with `model-routing`.\n4. Capture dependencies: which output URL feeds which next input.\n5. Inspect schema for each endpoint before building payloads.\n6. Run independent expensive nodes async.\n7. Poll async nodes without restarting completed work.\n8. Gate each step: preserve identity/product, check duration, check format.\n9. Return a manifest: node, endpoint, request id, inputs, output URLs, defects.\n\n## Useful Patterns\n\n- Anchor first: generate or upload a strong still, then drive edits/video from\n  that approved asset.\n- Fan-out: create several variants from the same anchor, then select one.\n- Fan-in: combine product, logo, character, or style references into an edit.\n- Frame bridge: generate first and last frame, then use image-to-video or\n  supported controls to bridge motion.\n- Audio-first: generate/upload voice first, then match visuals to duration.\n- Utility cleanup: background removal, compression, upscaling, format\n  conversion, segmentation, or OCR as deterministic nodes.\n\n## Local File Inputs\n\n- With hosted MCP and local file/HTTP access, call `upload_file` with\n  `prepare_upload: true`, the basename as `file_name`, and the actual byte count\n  as `file_size` (up to 90MB). This uses the already connected fal account.\n- PUT the actual file bytes to the returned `upload_url` with its returned\n  headers. For example, a local HTTP client or `curl --upload-file` can stream\n  the file without putting its contents into the conversation. Keep the signed\n  URL private; send no Authorization header and do not follow redirects.\n- `status: upload_required` means no bytes have been uploaded yet. Only use\n  `file_url` as model input after the PUT returns 2xx. If the PUT fails, stop\n  before generation; do not guess that a file exists at the returned URL.\n- Never pass a local path to hosted MCP, copy base64 through chat, or obtain a\n  different API key to work around a rejection. If local file/HTTP access is\n  unavailable, ask for a public file URL. Stdio supports `file_path` when the\n  server's local-file allowlist permits it.\n\n## Failure Handling\n\n- 422/schema error: re-inspect schema and remove guessed fields.\n- Product/identity drift: switch to reference/edit workflow.\n- Video still running: keep polling the same request id.\n- Bad prompt alignment: reduce prompt scope and change one variable at a time.\n- Cost spike: reduce variants, duration, resolution, or use draft endpoints.\n"
Full snapshot data
{
  "description": "Design multi-step fal.ai media workflows for MCP execution. Use when the user wants model chaining, batch generation, fan-out/fan-in, frame bridging, narrated video, dataset creation, reusable pipeline logic, or workflow JSON.\n",
  "included_files": [],
  "name": "fal-workflow",
  "skill_md_contents": "---\nname: fal-workflow\ndescription: >\n  Design multi-step fal.ai media workflows for MCP execution. Use when the user\n  wants model chaining, batch generation, fan-out/fan-in, frame bridging,\n  narrated video, dataset creation, reusable pipeline logic, or workflow JSON.\n---\n\n# fal.ai Workflows\n\nUse this skill when a single model call is not enough. A workflow is a planned\nsequence of model calls with dependencies, retries, quality gates, and a final\nmanifest.\n\n## Workflow Modes\n\n- Cloud workflow JSON: use when the user wants a reusable graph asset.\n- MCP-orchestrated workflow: use when the client should run a sequence now through\n  the fal.ai MCP tools.\n\nDo not call genmedia CLI from this plugin. If a source skill mentions CLI\norchestration, translate that intent into MCP tool usage.\n\n## Planning Pattern\n\n1. Define final deliverable and acceptance criteria.\n2. Split into nodes: input assets, generation, utility transforms, edits,\n   video/audio/3D steps, and final packaging.\n3. Choose model per node with `model-routing`.\n4. Capture dependencies: which output URL feeds which next input.\n5. Inspect schema for each endpoint before building payloads.\n6. Run independent expensive nodes async.\n7. Poll async nodes without restarting completed work.\n8. Gate each step: preserve identity/product, check duration, check format.\n9. Return a manifest: node, endpoint, request id, inputs, output URLs, defects.\n\n## Useful Patterns\n\n- Anchor first: generate or upload a strong still, then drive edits/video from\n  that approved asset.\n- Fan-out: create several variants from the same anchor, then select one.\n- Fan-in: combine product, logo, character, or style references into an edit.\n- Frame bridge: generate first and last frame, then use image-to-video or\n  supported controls to bridge motion.\n- Audio-first: generate/upload voice first, then match visuals to duration.\n- Utility cleanup: background removal, compression, upscaling, format\n  conversion, segmentation, or OCR as deterministic nodes.\n\n## Local File Inputs\n\n- With hosted MCP and local file/HTTP access, call `upload_file` with\n  `prepare_upload: true`, the basename as `file_name`, and the actual byte count\n  as `file_size` (up to 90MB). This uses the already connected fal account.\n- PUT the actual file bytes to the returned `upload_url` with its returned\n  headers. For example, a local HTTP client or `curl --upload-file` can stream\n  the file without putting its contents into the conversation. Keep the signed\n  URL private; send no Authorization header and do not follow redirects.\n- `status: upload_required` means no bytes have been uploaded yet. Only use\n  `file_url` as model input after the PUT returns 2xx. If the PUT fails, stop\n  before generation; do not guess that a file exists at the returned URL.\n- Never pass a local path to hosted MCP, copy base64 through chat, or obtain a\n  different API key to work around a rejection. If local file/HTTP access is\n  unavailable, ask for a public file URL. Stdio supports `file_path` when the\n  server's local-file allowlist permits it.\n\n## Failure Handling\n\n- 422/schema error: re-inspect schema and remove guessed fields.\n- Product/identity drift: switch to reference/edit workflow.\n- Video still running: keep polling the same request id.\n- Bad prompt alignment: reduce prompt scope and change one variable at a time.\n- Cost spike: reduce variants, duration, resolution, or use draft endpoints.\n"
}

SHA-256 of public snapshot: 4214588826ec98cf0c996dbb7fdd77047306de4e9478d6101c8c69342313b9df