Skip to content

Browser Capture

POST
/api/multimodal/browser-capture

Accept a base64-encoded browser capture for analysis.

Args: request: The incoming FastAPI request (carries tenant context). body: Validated :class:BrowserCaptureRequest payload. analyzer: Injected analyzer dependency.

Returns: :class:MultimodalResponse carrying the analysis summary and attachment record id.

Raises: HTTPException: 422 on invalid base64, MIME / size violations or security failures.

Authorizations

Request Body required

JSON body schema for POST /api/multimodal/browser-capture.

Attributes: image_base64: Base64-encoded capture bytes. mime_type: MIME type of the capture (must be in :data:ALLOWED_MIME_TYPES). agent_role: Which C-suite agent is analysing the capture. context_prompt: Prompt passed to the vision model.

object
agent_role
string
default: ceo
context_prompt
string
default: Analyze this browser capture.
image_base64
required
string
mime_type
required
string

Responses

200

Successful Response

Canonical response body for all /api/multimodal/* endpoints.

Attributes: analysis_id: Opaque UUID for the analysis turn. summary: PII-redacted analysis summary. source_channel: Which ingestion surface this came from. mime_type: MIME type of the analyzed content. model_used: LLM model id used. credits_consumed: Total credits billed (model + 8-credit surcharge). pii_flags: QualityGate PII hits (metadata only — never raw PII). attachment_record_id: Persisted AttachmentRecord id. vision_upgrade: Tier upgrade metadata from the router.

object
analysis_id
required
string
attachment_record_id
Any of:
string
credits_consumed
required
integer
mime_type
required
string
model_used
required
string
pii_flags
Array<object>
object
key
additional properties
any
source_channel
required
string
summary
required
string
vision_upgrade
Any of:
object
key
additional properties
any

422

Validation Error

object
detail
Array<object>
object
ctx
object
input
loc
required
Array
msg
required
string
type
required
string