Use CometAPI with Runway Control a character API to start character performance tasks from a reference video, driving facial expressions and body motion.
curl --request POST \
--url https://api.cometapi.com/runwayml/v1/character_performance \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Runway-Version: <x-runway-version>' \
--data '
{
"character": {
"type": "video",
"uri": "https://filesystem.site/cdn/20250818/wAKbHUoj5EHyqZvEdJbFXn10wXBMUn.mp4"
},
"reference": {
"type": "video",
"uri": "https://filesystem.site/cdn/20250818/wAKbHUoj5EHyqZvEdJbFXn10wXBMUn.mp4"
},
"bodyControl": true,
"expressionIntensity": 3,
"seed": 4294967295,
"model": "act_two",
"ratio": "1280:720",
"contentModeration": {
"publicFigureThreshold": "auto"
}
}
'{
"id": "<string>"
}X-Runway-Version header, for example 2024-11-06model: act_twocharacter asset and one reference asset as accessible HTTPS URLsbodyControl: true and a moderate expressionIntensity before tuning styleSubmit the character-performance request
Poll task status
character is the subject you want to animatereference is the source clip that provides facial performance or body motionbodyControl decides whether motion transfer includes body movement in addition to expression transfercontentModeration applies provider moderation thresholds to the requestBearer token authentication. Use your CometAPI key.
Runway version header, for example 2024-11-06.
The character to control. You can either provide a video or an image.
Show child attributes
Reference performance clip. Provide type (video) and uri (HTTPS URL).
Show child attributes
Enable body control.
Intensity of the expression transfer. Higher values produce more exaggerated expressions.
Random seed for reproducible results.
The model variant to use. Must be act_two.
Aspect ratio of the output video, e.g. 1280:720.
Show child attributes
Task accepted.
curl --request POST \
--url https://api.cometapi.com/runwayml/v1/character_performance \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Runway-Version: <x-runway-version>' \
--data '
{
"character": {
"type": "video",
"uri": "https://filesystem.site/cdn/20250818/wAKbHUoj5EHyqZvEdJbFXn10wXBMUn.mp4"
},
"reference": {
"type": "video",
"uri": "https://filesystem.site/cdn/20250818/wAKbHUoj5EHyqZvEdJbFXn10wXBMUn.mp4"
},
"bodyControl": true,
"expressionIntensity": 3,
"seed": 4294967295,
"model": "act_two",
"ratio": "1280:720",
"contentModeration": {
"publicFigureThreshold": "auto"
}
}
'{
"id": "<string>"
}