Base URL: http://127.0.0.1:8100
curl -s http://127.0.0.1:8100/health
# Must return: {"extension_connected": true}
curl -s http://127.0.0.1:8100/api/flow/status
# Must return: {"transport": "batch", "flow_project_id": "<uuid>", ...}Also needed: one signed-in https://flow.google.com/ tab left open. Only the
page can sign a Flow request, so nothing works headless.
- Always use
/fk-*skills — all rules and workflows live inside each skill - Never write scripts to loop API calls — use
POST /api/requests/batch media_idis always UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx), neverCAMS...strings- On any pipeline error (request
FAILED, stuckPROCESSING,extension_connected: false, HTTP 4xx/5xx from:8100, YouTubeHttpError, error strings likeUNSAFE_GENERATION/not found/CAPTCHA/NO_AT_TOKEN/NO_FLOW_PROJECT/UNSUPPORTED_ON_BATCH_API): invoke/fk-doctorbefore guessing a fix flow_key_present: falseis normal — the current transport has no bearer token
Flow lives at flow.google.com and signs every call in the page. Consequences
that change how you work:
- Projects are not created by Flow Kit any more. Make one in the Flow UI and
pin its uuid as
FLOW_PROJECT_ID, or passflow_project_idtoPOST /api/projects. - Three capabilities are unported, all on the Veo path, because their
payloads were never captured: video upscale (not image export, which
works), Veo r2v, and Veo start+end-frame chaining. They fail with
UNSUPPORTED_ON_BATCH_APIrather than silently producing the wrong thing. Omni covers frame, first+last and reference modes — usemodel_family=omni_flash.FLOW_ALLOW_DEGRADED=1drops Veo chaining and r2v to plain i2v; video upscale has no fallback. Seedocs/CAPTURE.md. - A poll saying "Media not found." is not a failure. Finished jobs report it.
| Skill | When to use |
|---|---|
/fk-create-project |
New project with entities + scenes |
/fk-research |
Fact-check before scripting |
/fk-gen-refs |
Generate reference images for entities |
/fk-gen-images |
Generate scene images |
/fk-gen-videos |
Generate scene videos |
/fk-gen-chain-videos |
Videos with scene chaining transitions |
/fk-review-video |
Review video quality before upscale |
/fk-review-board |
Visual scene review board for feedback |
/fk-concat |
Download + concat final video |
/fk-concat-fit-narrator |
Concat trimmed to narrator duration |
/fk-gen-narrator |
Generate narrator text + TTS |
/fk-gen-text-overlays |
Generate text overlays from narrator text |
/fk-gen-tts-template |
Create voice template for narration |
/fk-gen-music |
Generate music via Suno |
/fk-creative-mix |
Creative video mixing techniques |
/fk-pipeline |
Full pipeline orchestration |
/fk-monitor |
Monitor running pipeline |
/fk-status |
Project status dashboard |
/fk-switch-project |
Switch active project |
/fk-fix-uuids |
Fix non-UUID media_ids |
/fk-refresh-urls |
Refresh expired signed media URLs |
/fk-doctor |
Diagnose errors + prescribe fixes (Flow/extension/worker/YT) |
/fk-add-material |
Set image material style |
/fk-change-model |
Change video/image model |
/fk-change-provider |
View & switch the AI CLI, model and effort per role (claude/agy/codex) |
/fk-insert-scene |
Insert scenes into chain |
/fk-upload-image |
Upload local image to get media_id |
/fk-thumbnail |
Generate YouTube thumbnails |
/fk-brand-logo |
Apply channel logo watermark |
/fk-youtube-seo |
Generate YouTube metadata |
/fk-youtube-upload |
Upload to YouTube |
/fk-camera-guide |
Cinematic camera reference |
/fk-thumbnail-guide |
Thumbnail design reference |
/fk-import-voice |
Import existing voice template |
/fk-dashboard |
Live statusline setup |