Model API
Ideogram Character
Generate consistent character appearances across multiple images. Maintain facial features, proportions, and distinctive traits for cohesive storytelling and branding
Model id
ideogram/characterThis model has other modes with their own ids: ideogram/character/edit, ideogram/character/remix.
Run it
Quote the input, start the generation with the quote, then poll the job. Set RAYWAKE_API_KEY first; see Authentication.
# 1. Price the exact input (quotes are valid for up to 10 minutes)
curl -s https://api.raywake.com/v1/quotes \
-H "Authorization: Bearer $RAYWAKE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "ideogram/character",
"input": {
"prompt": "A red ceramic cup on a wooden table, soft morning light",
"reference_image_urls": [
"https://example.com/input.png"
]
}
}'
# 2. Start the generation with the quote_id from step 1
curl -s https://api.raywake.com/v1/generate \
-H "Authorization: Bearer $RAYWAKE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"model": "ideogram/character", "quote_id": "QUOTE_ID", "input": {"prompt":"A red ceramic cup on a wooden table, soft morning light","reference_image_urls":["https://example.com/input.png"]}}'
# 3. Poll until the status is terminal
curl -s https://api.raywake.com/v1/jobs/JOB_ID \
-H "Authorization: Bearer $RAYWAKE_API_KEY"Input
| Name | Type | Description |
|---|---|---|
image_urls | array of image URLs | A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format |
rendering_speed | string (enum) | The rendering speed to use. |
style_codes | array of strings | A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style |
style | string (enum) | The style type to generate with. Cannot be used with style_codes. |
enable_prompt_expansion | boolean | Determine if MagicPrompt should be used in generating the request or not. |
num_images | integer | Number of images to generate. |
seed | integer | Seed for the random number generator |
sync_mode | boolean | If `True`, the media will be returned as a data URI and the output data won't be available in the request history. |
promptrequired | string | The prompt to fill the masked part of the image. |
image_size | string (enum) | The resolution of the generated image |
negative_prompt | string | Description of what to exclude from an image. Descriptions in the prompt take precedence to descriptions in the negative prompt. |
reference_image_urlsrequired | array of image URLs | A set of images to use as character references. Currently only 1 image is supported, rest will be ignored. (maximum total size 10MB across all character references). The images should be in JPEG, PNG or WebP format |
reference_mask_urls | array of image URLs | A set of masks to apply to the character references. Currently only 1 mask is supported, rest will be ignored. (maximum total size 10MB across all character references). The masks should be in JPEG, PNG or WebP format |
Output
A succeeded job lists its results under outputs, stored on our side. See Jobs for every field.
"outputs": [
{ "type": "image", "url": "https://…", "mime_type": "image/png", "thumbnail_url": "https://…" }
]Pricing
- Turbo$0.16/ image
- Balanced$0.24/ image
- Quality$0.32/ image
The exact charge for your input comes from a quote. How charges settle