Ideogram Ai Ideogram Character
Playground
Try it on WavespeedAI!Generate consistent characters from a single reference image. Outputs can be in many styles. You can also use inpainting to add your character to an existing image.
Features
Ideogram Character
Ideogram Character is a character consistency model designed to generate variations of characters using a single reference image. The model maintains visual consistency across different scenes and contexts while preserving the core identity of the subject, working with both real and fictional characters.
Core Functionality
The model operates by taking a single reference photograph and generating variations of the character depicted. It maintains fidelity to the original character while adapting them to new environments, contexts, and artistic styles. Character definition is handled automatically through facial and hair detection algorithms that identify key features defining the character’s identity.
Technical Specifications
Input Requirements
- Single reference image with clear facial features
- Text prompts for scene description
Processing Method
The system processes input images by automatically detecting facial features and hair characteristics that form the core identity map. This map is preserved across all generated variations, ensuring character consistency regardless of the new context or style applied.
Applications and Limitations
The model excels at maintaining character consistency across varied scenarios, supporting contextual placement in new environments, artistic style transfers, and scene composition. Performance depends heavily on reference image quality, with clear facial features being essential for optimal results.
Complex poses, extreme viewing angles, or poor image quality may impact consistency. Additionally, aggressive style transfers may sometimes compromise fine detail preservation in favor of stylistic adaptation.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/ideogram-ai/ideogram-character" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"style": "Auto",
"rendering_speed": "Default",
"aspect_ratio": "1:1",
"enable_base64_output": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
Parameter | Type | Required | Default | Range | Description |
---|---|---|---|---|---|
prompt | string | Yes | - | The prompt to generate an image from. | |
image | string | Yes | - | An image to use as a character reference. | |
style | string | No | Auto | Auto, Fiction, Realistic | The character style type. Auto, Fiction, or Realistic. |
rendering_speed | string | No | Default | Default, Turbo, Quality | Rendering speed. Turbo for faster and cheaper generation, quality for higher quality and more expensive generation, default for balanced. |
aspect_ratio | string | No | 1:1 | 1:1, 16:9, 9:16, 4:3, 3:4 | The aspect ratio of the generated image. |
enable_base64_output | boolean | No | false | - | If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API. |
Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data.id | string | Unique identifier for the prediction, Task Id |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |
Result Query Parameters
Result Request Parameters
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
id | string | Yes | - | Task ID |
Result Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data | object | The prediction data object containing all details |
data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |