Extract a frame
extract_frameTake one frame of a video already in emero (an upload or a generation) and store it as a new lossless PNG. Returns a job:<uuid>#0 id for generate (reference_image_ids, start_frame_id, end_frame_id). The frame comes from emero's own stored file, which for an iPhone HDR upload is emero's SDR conversion, so a still made from it matches the clip's color. Always use this to make a still from a video for emero: never extract or tone-map frames in your own sandbox. Pass time_seconds or frame_number (0-based). Free.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"video_id": "<video_id>"
},
"name": "extract_frame"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | upload:<id>, upload:<id>#n or job:<uuid>#0 of a video. | |
| project_id | No | Opaque per-chat project id: "p-" plus 6 random letters and digits. Every chat is a new project. Mint one on your first emero call and pass that SAME id on every call in this chat. Never mint a second one in the same chat, even for a new topic, campaign or subject. Only when the user asks to continue an earlier project, reuse its id from get_emero_brain's project list. | |
| frame_number | No | ||
| project_name | No | Short human title for the project (2-5 words from the user request, e.g. "Perfume ad campaign"). Pass it on your first generate/ingest_url so the project is not left "Untitled". You may also rename at will later — pass an updated project_name (on a generate/ingest_url, or on set_settings with no other change) whenever the user asks, e.g. "call this project cats". | |
| time_seconds | No |