chr_...) anywhere a model or recipe takes an image file, and the run gets the pictures and the description. You don’t upload the same reference again for every call, and the prompt you write can be about what changes.
Characters are in beta: the shape can still change without the notice stable endpoints get. They use your key’s generations scopes, so any key that runs generations can keep them.
Make a character
Upload the pictures (files), then name them:POST /v1/generations/{id}/outputs/{index}/file, then pass that file’s ID.
Making a character is free, and a workspace keeps up to 200. Characters made in the studio’s library show up in GET /v1/characters, and the ones you make here show up in the studio, one tap from every photo slot.
Use it in a run
Pass the character’s ID in place of a file:- In a list of images, such as
images, it becomes all of its pictures, in order, beside any files you pass with it. - In a single image input, such as
photo,characterorfirst_frame, it becomes its first picture. - On a model, the prompt you send gets one more sentence that says which images show the character and what it looks like. Your own words come first and decide what changes.
- On a recipe that keeps characters, such as
leap/consistent-character, the description goes into the recipe’s own prompt.
input shows the files the model got in the character’s place, and you’re charged for the run as usual. A character costs nothing on top.
Game assets: one figure, many outfits
A common pipeline keeps one base figure and makes every outfit, expression and pose from it, each on a background you can cut out.leap/consistent-character does the cutting for you: with background: "transparent" it draws on a flat chroma screen and returns a PNG with that screen removed. It picks a magenta screen for a character that is green itself.
turnaround, angles (front, three-quarter, side and back, each image the next), expressions (four faces, or the one you describe in details), outfit, pose and scene. Outfit, pose and scene need details.
Transparency works best on drawn characters: anime, cartoons, mascots and game art. A photo of a real person or a pet keeps its hair and fur edges better on white or grey.
The whole set in one run
leap/character-pack makes 11 pictures of one character in one run, for $2.50: the same pictures one by one on `leap/consistent-character` cost $2.75. Each is its own take on the recipe’s prompt and model, in this order in output:
It takes
character and background: white (the default), grey or transparent; the cut-out is cleanest on drawn and 3D characters. Leap’s own runs took 27 to 71 seconds, so a run can still be going when prefer: wait=60 answers: read it again until it’s done, or pass a webhook.
In a video
A video model’sfirst_frame takes a character’s ID too, so the clip starts from its first picture. Two ways keep it the same while it moves:
leap/character-video@2frames the character for the move first (a walk, a dance, a line to camera), then animates it with sound on Kling O3 Pro, $0.35 a second. Pass the ID ascharacter.kling/kling-o3-referencefollows up to four reference images instead of a first frame, so a drawn character stays drawn, scene and all. Pass the ID inimagesand describe the scene inprompt.
Keep it current
GET /v1/characterslists them, newest first, with fresh links to their pictures.PATCH /v1/characters/{id}renames one, or gives it new pictures in place of all the old ones. Leap reads its look again; runs it already made stay as they ran.DELETE /v1/characters/{id}deletes it. Its pictures stay as files, and so do its runs.
DELETE /v1/files/{id} answers 409 file_in_use. Give the character other pictures, or delete it, first.
Over MCP
The MCP server’sgenerate tool takes a character’s ID wherever its input takes an image file, the same as the API. Copy the ID from the character’s page in the studio, or list them with the API.