Self-hosted video API in one Docker container. Lipsync (LatentSync 1.5, Wav2Lip), face restoration (GFPGAN), ffmpeg ops (trim/concat/transcode/scale/mux/extract/thumbnail/gif), ffprobe metadata, async jobs + webhooks. REST + MCP. CPU + CUDA. Drive from shell, generated Go/Python clients, or LLM agent.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport streamable-http · http
verified
reported
listed in the official MCP registry counts 11 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
concat
-
extract_audio
-
info
-
lipsync
-
list_engines
-
mux_audio
-
restore
-
scale
-
thumbnail_grid
-
transcode
-
trim
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit e5788a6 · analyzer v33 · 2w ago
skills & prompt files 1
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 92
filesystem 15
- fs psyb0t-docker-flickies-e5788a6/src/flickies/config.py :7
from pathlib import Path - fs psyb0t-docker-flickies-e5788a6/src/flickies/engines/gfpgan.py :23
from pathlib import Path - fs psyb0t-docker-flickies-e5788a6/src/flickies/engines/latentsync.py :30
from pathlib import Path - fs psyb0t-docker-flickies-e5788a6/src/flickies/engines/wav2lip.py :27
from pathlib import Path - fs psyb0t-docker-flickies-e5788a6/src/flickies/fetch.py :17
from pathlib import Path - fs psyb0t-docker-flickies-e5788a6/src/flickies/ffmpeg.py :18
from pathlib import Path - fs psyb0t-docker-flickies-e5788a6/src/flickies/files.py :16
from pathlib import Path - fs psyb0t-docker-flickies-e5788a6/src/flickies/logging_config.py :27
from pathlib import Path - fs psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :23
from pathlib import Path - fs psyb0t-docker-flickies-e5788a6/src/flickies/prefetch.py :27
from pathlib import Path - fs psyb0t-docker-flickies-e5788a6/src/flickies/server.py :18
import shutil - fs (weak) psyb0t-docker-flickies-e5788a6/tests/conftest.py :8
from pathlib import Path - fs (weak) psyb0t-docker-flickies-e5788a6/tests/test_middleware.py :4
from pathlib import Path - fs (weak) psyb0t-docker-flickies-e5788a6/tests/test_server.py :10
import shutil - fs (weak) psyb0t-docker-flickies-e5788a6/tests/test_smoke.py :7
from pathlib import Path
shell / exec 3
- shell psyb0t-docker-flickies-e5788a6/src/flickies/engines/gfpgan.py :20
import subprocess - shell psyb0t-docker-flickies-e5788a6/src/flickies/engines/wav2lip.py :24
import subprocess - shell (weak) psyb0t-docker-flickies-e5788a6/tests/test_server.py :11
import subprocess
network 21
- net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/engines/evict_engine.py :3
from urllib.parse import quote - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/engines/list_engines.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/files/delete_file.py :3
from urllib.parse import quote - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/files/get_file.py :4
from urllib.parse import quote - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/files/put_file.py :3
from urllib.parse import quote - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/health/get_health.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/info/post_video_info.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/jobs/get_job.py :3
from urllib.parse import quote - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/lipsync/post_video_lipsync.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/restore/post_video_restore.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/video_transform/post_video_concat.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/video_transform/post_video_extract_audio.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/video_transform/post_video_mux_audio.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/video_transform/post_video_scale.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/video_transform/post_video_thumbnail_grid.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/video_transform/post_video_transcode.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/api/video_transform/post_video_trim.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/client.py :4
import httpx - net psyb0t-docker-flickies-e5788a6/pkg/clients/python/flickies-client/flickies_client/types.py :17
# The types that `httpx.Client(files=)` can accept, copied from that library. - net psyb0t-docker-flickies-e5788a6/src/flickies/fetch.py :15
import socket - net psyb0t-docker-flickies-e5788a6/src/flickies/webhooks.py :24
import httpx
secrets 3
- secrets psyb0t-docker-flickies-e5788a6/src/flickies/server.py :214
token = os.environ.get("FLICKIES_AUTH_TOKEN", "") - secrets psyb0t-docker-flickies-e5788a6/src/flickies/webhooks.py :34
return os.environ.get("FLICKIES_WEBHOOK_SECRET", "").encode("utf-8") - secrets (weak) psyb0t-docker-flickies-e5788a6/tests/conftest.py :59
have_hf = bool(os.environ.get("HF_TOKEN") or os.environ.get("HUGGINGFACE_TOKEN"))
tool registrations 11
- list_engines psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :95
- info psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :117
- lipsync psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :133
- restore psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :196
- transcode psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :219
- trim psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :256
- concat psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :284
- scale psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :321
- mux_audio psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :343
- extract_audio psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :375
- thumbnail_grid psyb0t-docker-flickies-e5788a6/src/flickies/mcp_server.py :395
declared dependencies 10
- mcp@==1.27.1
- fastapi@==0.115.12
- uvicorn@==0.34.2
- pydantic@==2.11.4
- python-multipart@==0.0.20
- httpx@==0.28.1
- python-json-logger@==2.0.7
- github.com/oapi-codegen/runtime@v1.4.2
- github.com/apapsch/go-jsonmerge/v2@v2.0.0
- github.com/google/uuid@v1.6.0