Character image
Supply the visual identity that should perform the motion.
character_image- PNG, JPEG or WebP
- Required exactly once
- Character orientation can follow the source video or supplied image
Upload one character image and one motion video. Ruwana derives the motion duration server-side, submits the production job once and exposes a durable request until the final video is ready.
The Motion endpoint requires the character and the movement reference explicitly. Client-supplied duration is not accepted as billing truth.
Supply the visual identity that should perform the motion.
character_imageSupply the source movement Ruwana should transfer.
motion_videoBilling is per server-derived second. The customer-facing output contract is the requested resolution tier.
| Resolution | Price | Billing unit | Media retention |
|---|---|---|---|
| 720p | $0.18 | per second | 7 days |
| 1080p | $0.22 | per second | 7 days |
Motion generation may take longer than a normal HTTP request. Platform returns a durable request ID instead of requiring your client to keep a connection open for the full render.
POST /v1/motion/generate validates both files, derives duration and creates the production request.
Call GET /v1/requests/{request_id}. Status checks never create a second generation.
A successful request returns a Platform media URL and fixed expiry. Download or archive it within 7 days.
Keep original sound is enabled by default; set it explicitly when your application needs a stable declared value.
curl https://platform.ruwana.studio/v1/motion/generate \
-H "Authorization: Bearer $RUWANA_API_KEY" \
-H "Idempotency-Key: motion-001" \
-F "character_image=@character.png" \
-F "motion_video=@movement.mp4" \
-F "resolution=720p" \
-F "character_orientation=video" \
-F "keep_original_sound=true"See how character identity, motion reference, orientation and server-derived duration fit together.
Multipart fields, Node.js/Python examples and durable status handling.
Use one API key, one durable request and the same Platform billing foundation as the rest of the Ruwana production API.