| --- |
| title: Unified Media Studio |
| emoji: "🎬" |
| colorFrom: green |
| colorTo: blue |
| sdk: docker |
| app_port: 7860 |
| pinned: false |
| license: mit |
| --- |
| |
| # Unified Media Studio |
|
|
| One Hugging Face Docker Space containing the five original applications. |
|
|
| | Application | Path | |
| | --- | --- | |
| | Rendering studio | `/dashboard` | |
| | Kokoro TTS | `/tts/` | |
| | MusicGen | `/music/` | |
| | Whisper operator | `/whisper/` | |
| | FFmpeg editor | `/editor/` | |
| | MCP Streamable HTTP | `/mcp/` | |
| | Gradio-native MCP | `/dashboard/gradio_api/mcp/` | |
|
|
| The rendering API remains available at the Space root. `GET /apps` returns the |
| mounted application paths. |
|
|
| ## n8n |
|
|
| See [N8N_ENDPOINTS.md](N8N_ENDPOINTS.md) for all API endpoints, payload |
| schemas, editor task IDs, file upload settings, asynchronous job handling, and |
| HTTP Request node examples. |
|
|
| Public Swagger, ReDoc, and OpenAPI routes are disabled by default. Set |
| `ENABLE_API_DOCS=true` in the Space environment when interactive API |
| documentation is required. |
|
|
| ## MCP |
|
|
| Connect an MCP client to: |
|
|
| ```text |
| https://<space-subdomain>.hf.space/mcp/ |
| ``` |
|
|
| This is the custom MCP server and exposes every FastAPI endpoint. The renderer |
| dashboard also exposes its documented Gradio actions through Gradio-native MCP: |
|
|
| ```text |
| https://<space-subdomain>.hf.space/dashboard/gradio_api/mcp/ |
| ``` |
|
|
| Use `GET /mcp-health` in a browser or HTTP client to verify both advertised |
| transport URLs and the generated custom tool count. |
|
|
| Every FastAPI application endpoint is exposed as a separate MCP tool. Tool |
| arguments use a consistent transport wrapper: |
|
|
| - `path_params`: values for placeholders such as `{job_id}`. |
| - `query`: URL query parameters. |
| - `body`: JSON, form, or text request body. |
| - `body_type`: `json`, `form`, or `text`. |
| - `headers`: forwarded headers such as `X-API-Key`. |
| - `files`: multipart files containing `field_name`, `filename`, |
| `content_type`, and `content_base64`. |
|
|
| Large response bodies are omitted from the MCP result. Increase |
| `MCP_INLINE_RESPONSE_MAX_BYTES` when small generated files should be returned |
| inline as base64. |
|
|