extract_video_frame
Extract a video frame
Save the first or last decoded frame of an owned video as a new image generation. Costs no credits; uses account storage. get_generation waits for the result. To go longer than one clip, carry the last frame into the next generate_clip, then join_clips. Not for speech: each line of a talking head starts from the same portrait, because chaining frames drifts the face.
Scope
generation.write— Makes, edits, imports, shares and deletes media in the account.
Behaviour
- Writes
- Creates or changes items in the caller's own account.
- Adds or updates
- Adds or updates; nothing the caller already has is deleted or overwritten.
- Stays in the account
- Stays inside the caller's private Kuro account: any media provider it calls acts on Kuro's account, and the result is visible to no one else.
Credits
What the tool's description says about credits, verbatim.
- Costs no credits; uses account storage. get_generation waits for the result.
Inputs
sourceobject (type: "upload") or object (type: "generation") · requiredpositionstring · optionalone of "first", "last" · default "first"
Example call
A tools/call request with the required arguments only, each a placeholder read off the schema. Replace them before sending.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "extract_video_frame",
"arguments": {
"source": {
"type": "upload",
"upload_id": "00000000-0000-4000-8000-000000000000"
}
}
}
}Input schema
As the server sends it in tools/list.
{
"type": "object",
"properties": {
"source": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "upload"
},
"upload_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"type",
"upload_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "generation"
},
"generation_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"type",
"generation_id"
],
"additionalProperties": false
}
]
},
"position": {
"type": "string",
"enum": [
"first",
"last"
],
"default": "first"
}
},
"required": [
"source"
],
"additionalProperties": false
}Related tools
- get_generation
Get current status and signed media URL for one generation.
- generate_clip
Start a short video clip generation.
- join_clips
Concatenate 2-20 images or clips, in the order given, into a single MP4 in the library.