Poko API
Settings

Update settings

PATCH
/api/workspaces/{workspaceId}/settings

Change some workspace settings; anything left out stays as it is. Owner only.

Authorization

apiKey
headerAuthorizationBearer <token>

A Poko API key (poko_live_…) from Poko Motion → Settings → API.

Path Parameters

workspaceId*string

Workspace id. GET /api/me returns the key's default workspace (workspaceId); GET /api/workspace/mine lists all of them.

Request Body

application/json
  1. body
voiceProvider?string
Value in"poko""cartesia""elevenlabs""vocallab"
voiceSelections?

The voice to use per provider (from list_voices for poko). Only the providers sent change.

cartesiaVoiceApiKey?string

Cartesia API key. Write-only: API keys never read it back.

elevenLabsVoiceApiKey?string

ElevenLabs API key. Write-only: API keys never read it back.

elevenLabsVoiceModel?string
vocalLabVoiceApiKey?string

VocalLab API key. Write-only: API keys never read it back.

vocalLabVoiceModel?string
generateVoiceover?boolean
generateMusic?boolean
generateSfx?boolean
duckMusic?boolean

Lower the music under the voiceover.

runDesignPass?boolean
showBeatSheet?boolean
extraSystemPrompt?string

Extra instructions for every video.

Lengthlength <= 12000
customMcpServers?array<>

Replaces the whole list. A server sent without headers keeps its saved headers.

Itemsitems <= 25

Response Body

Success

application/json
  1. response
success?boolean
data?
Example Request
curl -X PATCH 'https://api.poko.video/api/workspaces/string/settings' \  -H 'Content-Type: application/json' \  -d '{  "generateMusic": true,  "duckMusic": true,  "extraSystemPrompt": "Keep every video under 45 seconds."}'
Example Response
{  "success": true,  "data": {    "settings": {      "customMcpServers": [        {          "enabled": true,          "id": "mcp_k3v8q2xa",          "name": "Docs MCP",          "transport": "http",          "url": "https://mcp.example.com/mcp"        }      ],      "duckMusic": true,      "elevenLabsVoiceModel": "eleven_v3",      "extraSystemPrompt": "Keep scenes short and use our brand colors.",      "generateMusic": false,      "generateSfx": true,      "generateVoiceover": true,      "runDesignPass": false,      "showBeatSheet": false,      "vocalLabVoiceModel": "v-studio",      "voiceProvider": "poko",      "voiceSelections": {        "cartesia": {          "id": "5d1e7c2a-9b4f-4a3e-8c6d-2f1a0b9e8d7c",          "language": "en",          "locale": "en-US",          "name": "Skylar"        },        "elevenlabs": {          "id": "Xk29PqLm7RtVb3NcWe8A",          "language": "",          "locale": "",          "name": "Bella - Professional, Bright, Warm"        },        "poko": {          "id": "8e2b4c6d-1a3f-4e5b-9c7d-0f2e4a6b8c1d",          "language": "en",          "locale": "en-US",          "name": "Daniel"        },        "vocallab": {          "id": "",          "language": "",          "locale": "",          "name": ""        }      },      "cartesiaVoiceApiKey": "",      "elevenLabsVoiceApiKey": "",      "vocalLabVoiceApiKey": ""    },    "voiceKeys": {      "cartesia": false,      "elevenlabs": true,      "vocallab": false    },    "canEdit": true,    "updatedAt": "2026-11-05T10:06:18.002Z",    "updatedBy": "user_2Nf7QxKp4TzLm9WbRc3HvYd8EaJ"  }}