Record a video of the live 3D scene from a CameraObject. Pass roomItemId to record from an existing CameraObject, or use placeCameraItem with keyframes to create a new CameraObject with a PortalsAnimation effector that animates through the keyframes during recording. Returns the uploaded video URL.
AI agents invoke record_video to trigger actions in Portals. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call — builds kicked off, notifications sent, workflows started.
| Parameter | Type | Required | Description |
|---|---|---|---|
duration | number | Yes | Recording duration in seconds. |
taskName | string | — | Quest/task name to trigger before recording starts (fires the animation effector on the CameraObject). |
keyframes | array | — | Camera keyframes for the animation path. Required when placeCameraItem is true. |
withAudio | boolean | — | Whether to capture scene audio. Defaults to false. |
roomItemId | number | — | Room item ID of an existing CameraObject to record from. Takes priority over placeCameraItem. |
placeCameraItem | boolean | — | If true, places a CameraObject at the first keyframe position with a PortalsAnimation effector through all keyframes. Requires keyframes to be specified. |
taskTargetState | string | — | Target state for the task trigger. Defaults to SetNotActiveToActive. |
cleanupCameraItem | boolean | — | If true (default), automatically removes the CameraObject from the room after recording completes. Set to false to keep it for subsequent recordings. |
Parameters from the server's own tool schema.
This tool triggers an external operation (recording a live 3D scene and uploading the resulting video) whose effects depend on the arguments passed (camera object, keyframes, etc.). It involves executing a recording process and uploading content to an external service, making it an Execute-category action. Severity is high because misuse could trigger unauthorized recordings and uploads of live scene content.
From the tool's definition Record a video of the live 3D scene from a CameraObject... animates through the keyframes during recording. Returns the uploaded video URL.
Risk signalsHigh parameter count (17 properties)
Attacks that exploit this kind of access
Record a video of the live 3D scene from a CameraObject. Pass roomItemId to record from an existing CameraObject, or use placeCameraItem with keyframes to create a new CameraObject with a PortalsAnimation effector that animates through the keyframes during recording. Returns the uploaded video URL. It is categorised as a Execute tool in the Portals MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
record_video accepts 8 parameters: duration, taskName, keyframes, withAudio, roomItemId, placeCameraItem, taskTargetState, cleanupCameraItem. Required: duration. The full parameter table on this page comes from the server's own tool schema.
Register the Portals MCP server in PolicyLayer and add a rule for record_video: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Portals. Nothing to install.
record_video is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the record_video rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for record_video. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
record_video is provided by the Portals MCP server (portals-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →