From asset-generation
Generates image-to-video using fal.ai models (Seedance-pro-i2v, Kling-v3-pro-i2v, Hailuo); runs queue-based comparisons, tracks pricing/usage, and logs prompts/costs for experiments.
npx claudepluginhub kyh/vibedgamesThis skill uses the workspace's default tool permissions.
Use this skill when the user wants to generate media through `fal.ai`, compare multiple marketplace models, or build repeatable experiment workflows with prompts, inputs, outputs, and costs tracked in a consistent way.
assets/model-presets.jsonassets/prompt-profiles/pirate-isometric-walk-diagonal-v1-hailuo.txtassets/prompt-profiles/pirate-isometric-walk-diagonal-v1-kling.txtassets/prompt-profiles/pirate-isometric-walk-diagonal-v1-seedance.txtassets/prompt-profiles/pirate-isometric-walk-v1.txtreferences/fal-platform-notes.mdreferences/fal-queue-and-inference.mdreferences/fal-video-models.mdscripts/_fal_common.pyscripts/fal_platform_models.pyscripts/fal_queue_video_run.pyscripts/fal_video_experiment_matrix.pyGenerates images and videos using fal.ai AI models with queue support for long-running tasks. Use for text-to-image, image-to-video, model search.
Guides fal.ai model selection for image (FLUX, SDXL), video (Kling, LTX, Sora), audio (Whisper, ElevenLabs) generation with quality-speed-cost comparisons, benchmarks, decision trees, and parameters.
Generates images and videos using fal.ai AI models. Useful for developers integrating AI-generated media into apps, prototypes, or workflows.
Share bugs, ideas, or general feedback.
Use this skill when the user wants to generate media through fal.ai, compare multiple marketplace models, or build repeatable experiment workflows with prompts, inputs, outputs, and costs tracked in a consistent way.
fal gives you one platform for many models, but it does not give you one truthful schema for all of them. The right abstraction is:
Before generating, ask:
Core principles:
seedance-pro-i2vkling-v3-pro-i2vhailuo-02-standard-i2vFor video jobs, this skill uses fal’s queue API:
POST https://queue.fal.run/{endpoint_id}GET https://queue.fal.run/{endpoint_id}/requests/{request_id}/statusGET https://queue.fal.run/{endpoint_id}/requests/{request_id}Authentication uses:
Authorization: Key $FAL_KEYFAL_API_KEY is also accepted by the bundled scriptsImportant platform headers for repeatable comparison runs:
X-Fal-Store-IO: 1x-app-fal-disable-fallback: trueThe runner also captures response headers such as:
x-fal-request-idx-fal-billable-unitsThe official fal-client SDK is valid and documented, but this repo’s first requirement is portability inside a Codex skill. The scripts therefore keep a deterministic raw-HTTP queue path and also use fal-client automatically when it is installed.
In this repo's retained live runs, some endpoints were most reliable when invoked with:
uv run --with fal-client python3 ...Prompt like direction, not like marketing copy:
For sprite-animation comparison:
Do not overload early comparison runs with cinematic flourishes. The first job is to test motion usefulness and identity preservation.
scripts/fal_queue_video_run.py
scripts/fal_platform_models.py
scripts/fal_video_experiment_matrix.py
Machine-readable tracking:
experiments/fal/ledger.jsonlexperiments/fal/ledger.csvexperiments/fal/<timestamp>-<slug>/batch.jsonHuman-readable tracking:
prompts/<timestamp>-...-prompts.mdlearnings/<timestamp>-...-learnings.mdGenerated media should still live under the appropriate public/assets/.../concepts/... path for the asset family being tested.
❌ Anti-pattern: flattening all fal models into one fake schema Why bad: you lose the knobs that actually matter and comparisons become misleading. Better: use shared runner behavior plus explicit per-model presets.
❌ Anti-pattern: recording only prompts and outputs Why bad: you cannot audit request IDs, retries, or costs later. Better: always save raw JSON, normalized manifests, and ledger rows.
❌ Anti-pattern: comparing models with hidden fallback routing
Why bad: you may think you tested one endpoint but actually hit another route.
Better: set x-app-fal-disable-fallback: true on strict comparison runs.
❌ Anti-pattern: forcing every model to pretend it supports the same size and duration controls Why bad: it creates fake parity and bad assumptions. Better: normalize the task, then document the actual resolved arguments used per model.
❌ Anti-pattern: waiting until the end to think about spend Why bad: expensive comparison batches get hard to control. Better: estimate before the run and reconcile after the run.
references/fal-platform-notes.mdreferences/fal-queue-and-inference.mdreferences/fal-video-models.mdassets/model-presets.jsonA good fal workflow is not just “can it generate.” It is: