Video URL
Public Reel, video, or a supported source enters the lab.
ORANO reads a Reel or video once, separates the evidence, and gives an agent a bounded interface for asking only for what it needs.
01 / ARCHITECTURE
Capture stays separate from understanding. The same ORANO ingestion path that powers the product produces the evidence packet; WebMCP adds a precise way for the page or an agent to ask for a slice of it.
Public Reel, video, or a supported source enters the lab.
Fetch the source, caption, metadata, speech, and representative frames.
Keep speech, OCR, visual analysis, links, and web context distinguishable.
Request one field or a focused group with an explicit size and format.
Use the answer in the shared human + agent workspace.
A video is no longer a URL an agent has to figure out. It becomes a typed, inspectable context source where a request can say “only the transcript and sampled frame analysis, in Markdown.”
02 / FIELD SELECTOR
The selector is an explicit allow-list, so agents can choose the useful evidence without sending arbitrary instructions to the worker. Empty fields are reported as unavailable instead of silently fabricated.
captionThe creator-provided caption, kept separate from speech.
CREATOR INPUTtranscriptSpeech recognized from the video, bounded for agent use.
SPEECHvisual_analysisVisual context and on-screen/OCR information.
VISUALS + OCRframe_analysisAnalysis of representative sampled frames, timestamps, and cues.
SAMPLED FRAMESraw_sourceThe bounded raw source evidence when a downstream system needs it.
RAW EVIDENCEsummaryA concise synthesis of what the source is about.
SUMMARYoverviewStory, takeaway, sections, and the next useful move.
PROJECT OVERVIEWproject_outputMode, content type, category, priority, time, and cost fields.
STRUCTURElinksExtracted resources and URLs, with their source labels.
RESOURCESsourceCanonical URL, title, processing status, and provenance metadata.
METADATAweb_contextSearch context kept visibly separate from creator evidence.
OUTSIDE THE VIDEOresearchFindings and sources attached by ORANO when research exists.
LOOKUPtasksOrdered next actions when the source supports an actionable plan.
ACTION PLANroadmapOrdered learning or execution steps when available.
ROADMAP03 / REQUEST SHAPE
The public lab exposes this as a WebMCP tool. The REST route below is the same selector for a client that wants to call the challenge backend directly.
curl -X POST \
https://orano-ai-backend-1037939693300.us-central1.run.app/v1/webmcp-challenge/projects/<project_id>/context \
-H "Authorization: Bearer <guest_token>" \
-H "Content-Type: application/json" \
-d '{
"include": ["transcript", "frame_analysis", "links"],
"format": "structured",
"max_chars": 12000
}'
Use the REST names here: max_chars is snake_case in the HTTP body. The browser WebMCP tool uses maxChars in its JSON schema.
{
"project_id": "<project_id>",
"format": "structured",
"requested": ["transcript", "frame_analysis", "links"],
"available": ["transcript", "frame_analysis", "links"],
"unavailable": [],
"truncated": false,
"data": {
"transcript": "...speech evidence...",
"frame_analysis": {
"timestamps": [0.8, 10.58, 15.42],
"sampling_strategy": "transcript-targeted+seeded-random",
"analysis": "...frame evidence..."
},
"links": [{ "title": "...", "url": "https://..." }]
}
}
Illustrative shape: the values above are placeholders. The live lab returns source-grounded values or clearly marks a field unavailable.
JSON-shaped fields for an agent that wants to reason over links, timestamps, tasks, or metadata.
{ "transcript": "…", "links": [] }Labeled sections for a model prompt, review screen, or a handoff a human can scan quickly.
## Speech transcript …
Simple labeled text when the receiving system does not need Markdown syntax.
TRANSCRIPT: …
04 / LIFECYCLE
Analysis and selection are separate calls. That lets a client load the compact answer first, then ask for deeper evidence only when the next question needs it.
Submit a supported public URL. The lab creates an isolated guest project and returns its id.
POST /ANALYZEFollow the project until the real processing stage is ready; the thumbnail stays visible while it works.
GET /PROJECTS/:IDAsk for transcript, frames, links, or the structured output in the format your agent can use.
POST /CONTEXTUse that evidence in chat, or let a human focus a block and continue the same conversation.
POST /CHATPublic challenge workspaces are removed after 48 hours by the cleanup worker.
48-HOUR TTL05 / WEBMCP SURFACE
When the browser provides document.modelContext.registerTool, the live lab registers named tools with JSON schemas. Human controls and agent calls share the same page state.
orano_request_video_context tells the agent exactly what the operation does before it calls.
The schema enumerates fields, formats, and the maximum response size so requests stay predictable.
A human can click the visual-analysis block; the agent can request the transcript; both see one source and one conversation.
Extracted source material is reference data, not instructions. Research and web context remain separately labeled.
const controller = new AbortController();
document.modelContext?.registerTool({
name: "orano_request_video_context",
title: "Request specific video context",
description: "Request only the video evidence an agent needs.",
inputSchema: {
type: "object",
properties: {
include: { type: "array", items: {
type: "string",
enum: ["transcript", "visual_analysis", "frame_analysis", "links", "summary"]
}},
format: { type: "string", enum: ["structured", "markdown", "text"] },
maxChars: { type: "integer", minimum: 500, maximum: 20000 }
}
},
annotations: { readOnlyHint: true, untrustedContentHint: true },
async execute(input) {
return selectCurrentVideoContext(input);
}
}, { signal: controller.signal });
ORANO follows the current experimental WebMCP registration shape. The live page remains useful with ordinary controls when a browser does not expose the model context surface.
06 / BUILDER REFERENCE
Use the live lab for a temporary, no-sign-up evaluation. Use the personal MCP connection after checkout when an agent needs to read a user's saved ORANO projects.
| Surface | Purpose | Auth + notes |
|---|---|---|
| POST /v1/webmcp-challenge/analyze | Start a temporary analysis from a supported public URL. | Guest bearer session; public rate limit. |
| GET /v1/webmcp-challenge/projects/:id | Poll the complete project payload and processing status. | Owned guest project only; expires with the workspace. |
| POST /v1/webmcp-challenge/projects/:id/context | Select fields and receive structured, Markdown, or text context. | Allow-listed fields; 500–20,000 character bound. |
| POST /v1/webmcp-challenge/chat | Ask the real project chat about the analyzed video. | Guest bearer session; source evidence is passed as context. |
| MCP /mcp/ | Read a user's persistent projects, memory, handoffs, and selected project context. | Personal API key with orano:read; read-focused tools. |
07 / RETENTION + BOUNDARIES
The public challenge is designed for evaluation, not as a hidden permanent storage layer. The contract is powerful because it is explicit about what can be requested and how long the temporary workspace lives.
Each guest analysis is marked for 48 hours. An hourly worker removes the expired project, source, extracted context, and ORANO-owned media. If a guest claims the project into an account, the temporary marker is removed and the evidence moves into the normal personal library.
The authenticated personal MCP is separate from the public demo TTL. It is read-focused, uses a personal API key with the orano:read scope, and exposes get_project_context for the same field-level selection on saved projects.
ORANO does not offer arbitrary server execution or agent write access through this contract. Source text, captions, frames, and web results are untrusted reference material and should be treated accordingly by the receiving agent.
ORANO MCP / BUILD WITH IT