Skip to content

HiDream O1 Image Dev

IMAGEFeaturedhidream-hidream-o1-image-dev

HiDream O1 Image Dev is a distilled unified image model from HiDream that handles text-to-image generation, instruction-based editing, and subject-driven personalization in a single native endpoint. It produces high-resolution stills up to about 2K with optional reference images for edits or multi-subject personalization, making it a fast path from concept prompts to refined game and product assets.

POST
/v2/workspaces/{workspace_id}/base-models/hidream-hidream-o1-image-dev/inferences
curl --request POST \
--url https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/hidream-hidream-o1-image-dev/inferences \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"prompt": "a knight standing in a snowy forest",
"aspect_ratio": "SQUARE_1K",
"guidance_file_init_image": [
{
"url": "<file_url>"
}
],
"guidance_file_reference_image": [
{
"url": "<file_url>"
}
]
}'
workspace_id
required
Workspace Id

Id of the workspace that owns the resource.

string format: uuid

Id of the workspace that owns the resource.

session_name
Any of:
string

Organize this run under a named session. A new session is created if none matches.

Media typeapplication/json
HiDream O1 Image Dev
object
prompt
required
Prompt
string
aspect_ratio
Aspect Ratio
string
default: SQUARE_1K
Allowed values: SQUARE_1K PORTRAIT_2_3_1K PORTRAIT_3_4_1K PORTRAIT_9_16_1K LANDSCAPE_3_2_1K LANDSCAPE_4_3_1K LANDSCAPE_16_9_1K SQUARE_2K PORTRAIT_2_3_2K PORTRAIT_3_4_2K PORTRAIT_9_16_2K LANDSCAPE_3_2_2K LANDSCAPE_4_3_2K LANDSCAPE_16_9_2K
seed
Seed

Advanced field.

integer
nullable
guidance_scale
Guidance Scale

Advanced field.

number
0 <= 20 multiple of 0.5
inference_steps
Inference Steps

Advanced field.

integer
default: 28 >= 1 <= 28 multiple of 1
guidance_file_init_image
Source image

The image to modify

Array<object>
InferenceFormFileRef

A single guidance/reference file supplied to a reference_image_list field.

The slot’s guidance type is fixed by the field it’s attached to; the caller supplies the file URL and, where the model supports per-file weighting, a weight.

object
url
required
Url
string
weight
Weight
number
nullable
guidance_file_reference_image
Reference image

Guides the edit

Array<object>
InferenceFormFileRef

A single guidance/reference file supplied to a reference_image_list field.

The slot’s guidance type is fixed by the field it’s attached to; the caller supplies the file URL and, where the model supports per-file weighting, a weight.

object
url
required
Url
string
weight
Weight
number
nullable
prompt_language
Prompt Language

Advanced field.

string
nullable
Example
{
"prompt": "a knight standing in a snowy forest",
"aspect_ratio": "SQUARE_1K",
"guidance_file_init_image": [
{
"url": "<file_url>"
}
],
"guidance_file_reference_image": [
{
"url": "<file_url>"
}
]
}

Successful Response

Media typeapplication/json
ExecuteForgeOutput
object
inference_id
required
Inference Id

Unique identifier for this forge run.

string format: uuid
status
required
InferenceStatus

Current status: IN_PROGRESS.

string
Allowed values: in_progress complete failed cancelled deleted
estimated_price_creative_units
Any of:
number
poll_interval_seconds
required
Poll Interval Seconds

Suggested polling interval in seconds.

integer
created_at
required
Created At

Timestamp of when the run was created.

string format: date-time
session_id
Any of:
string format: uuid
normalized_parameters
Any of:
NormalizedInferenceParameters

Inference parameters after model-specific normalization.

These reflect the actual values used for generation, including model defaults applied for any parameters not explicitly set.

object
width
Any of:
integer
height
Any of:
integer
batch_size
Any of:
integer
num_inference_steps
Any of:
integer
guidance_scale
Any of:
number
duration_seconds
Any of:
number
fps
Any of:
integer
Example
{
"status": "in_progress"
}

Unauthenticated — missing or invalid Bearer token.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Forbidden — insufficient permissions.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Resource not found.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Invalid input parameters.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Rate limited — too many concurrent requests.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Internal server error.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}