Higgsfield Genjutsu API on Sume: one source video, 1 to 8 images
Genjutsu Motion Transfer on Sume needs exactly one source video plus 1 to 8 reference images. Text-only or malformed bodies are not valid. Request shapes below.

Genjutsu Motion Transfer on Sume is not a text-to-video model. Every request needs one source video and between 1 and 8 reference images; a body with no video, two videos, or no images does not fit the model's input shape.
The shapes below are from Sume's catalog notes and Video Router docs, read 2026-09-30. The model is listed only when its provider is configured, so check the catalog first.
What does the request look like on each route?
The same inputs go in different fields depending on the route you call.
| Route | Source video | Reference images |
|---|---|---|
POST /v1/videos | input_references with exactly one video_url entry | 1 to 8 image_url entries in the same input_references |
POST /v1/video-router/generate | video_url | reference_image_urls (1 to 8) |
{
"model": "<catalog id from GET /v1/videos/models>",
"input_references": [
{ "type": "video_url", "video_url": { "url": "https://media.sume.com/artifacts/artf_demo/move.mp4" } },
{ "type": "image_url", "image_url": { "url": "https://media.sume.com/artifacts/artf_demo/character.png" } }
]
}Why is a text-only prompt not enough?
The catalog marks text-to-video and image-to-video as false for this model. It transfers the motion in the source video onto the characters in your images, so both inputs are required.
What else is fixed by the source video?
Output keeps the source length and framing. There is no aspect_ratio, frame_images, generate_audio, bitrate_mode, or audio references. The catalog says duration must be the inspected input video's length in seconds, rounded up, within 4 to 30. See how to inspect the source duration first.
How many images can I send?
Up to 8 on Sume. Higgsfield's own limits are covered in Genjutsu reference images: 30 on Higgsfield, 8 on Sume.
How do I get the exact id and fields?
Call GET /v1/videos/models and read the entry for the Motion Transfer model, including supported_input_references. If it is not listed, its provider is not configured for your deployment. The video docs describe the catalog fields.
Sources
Related posts
More in Developers
- GitHub Actions retention days: keep the Sume job id elsewhere
From 1 October 2026 GitHub Actions runs, checks and statuses follow the log retention setting (default 90 days). Store Sume job ids outside the log.
- cancel-in-progress killed my workflow; does the Sume job stop?
Cancelling a GitHub Actions run does not cancel a Sume job. Cancellation only works before generation starts, so store the job id and cancel it explicitly.
- GitHub Actions dropped Node 20: calling Sume needs no Node
Node 20 is gone from GitHub Actions runners. Sume's CLI is a native binary and the API is plain HTTPS, so a workflow step can call it with no Node version.
- GitHub Actions re-run: which idempotency key for Sume jobs?
GITHUB_RUN_ID stays the same on a re-run while GITHUB_RUN_ATTEMPT increments. Build the Sume Idempotency-Key from the run id so a re-run does not bill twice.
Written by Sume