Edensign API for Developer
API Endpoint
https://developer.edensign.io
Limits
- The API enforces a 60-second timeout. If the GPU cannot complete processing within this time, please retry your request.
Authorization
To authorize API requests, create an API key on the "API Keys" page. Then, include your API key as a Bearer token in the Authorization header when calling the API.
Example:
Authorization: Bearer YOUR_API_KEY
Create a Render
Create a new render task.
Request
POST /v1/renders
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
Request Body
{
"image_url": "https://example.com/image.jpg",
"variation_count": 3,
"config": {
"type": "staging",
"remove_furniture": {
"mode": "auto",
"mask_url": "https://example.com/mask.png",
"room_type": "living"
},
"add_furniture": {
"style": "modern",
"room_type": "living"
}
}
}
Parameters
image_url(required): URL of the image to processvariation_count(optional): Number of variations to generate, defaults to 3config.type: Configuration type, currently only supports"staging"config.remove_furniture.mode: Furniture removal mode"on": Enable"off": Disable"auto": Automatic
config.remove_furniture.mask_url(optional): Mask image URLconfig.remove_furniture.room_type: Room type- Available values:
living,bed,kitchen,dining,bathroom,home_office,kids_room
- Available values:
config.add_furniture(optional): Add furniture configurationstyle: Decoration style, available values:standard,modern,scandinavian,industrial,midcentury,luxury,farmhouse,coastalroom_type: Room type:living,bed,kitchen,dining,bathroom,home_office,kids_room
Response
{
"id": "123456789",
"images": [{ "url": "https://edensign.io/images/original.jpg" }],
"variationCount": 3,
"createdAt": "2025-10-13T12:00:00.000Z",
"variations": [
{
"id": "987654321",
"renderId": "123456789",
"images": [{ "url": "https://edensign.io/images/result-1.jpg" }],
"type": "staging",
"style": "modern",
"roomType": "living",
"createdAt": "2025-10-13T12:00:00.000Z",
"completedAt": "2025-10-13T12:01:30.000Z"
}
]
}
Create Variations
Create additional variations for an existing render.
Request
POST /v1/renders/:renderId/variations
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
Path Parameters
renderId: Render task ID
Request Body
{
"variation_count": 2,
"config": {
"type": "staging",
"remove_furniture": {
"mode": "auto",
"room_type": "living"
},
"add_furniture": {
"style": "scandinavian",
"room_type": "living"
}
}
}
Limits
- Maximum of 20 variations per render task
- If the limit is exceeded, an
OUT_OF_RANGEerror will be returned
Response
{
"data": [
{
"id": "111222333",
"renderId": "123456789",
"images": [
{
"url": "https://edensign.io/images/result-2.jpg"
}
],
"type": "staging",
"style": "scandinavian",
"roomType": "living",
"createdAt": "2025-10-13T12:05:00.000Z",
"completedAt": null
}
]
}
Get Render by ID
Retrieve detailed information about a render task by ID, including all variations.
Request
GET /v1/renders/:renderId
Authorization: Bearer YOUR_API_KEY
Path Parameters
renderId: Render task ID
Response
{
"id": "123456789",
"images": [{ "url": "https://edensign.io/images/original.jpg" }],
"variationCount": 3,
"createdAt": "2025-10-13T12:00:00.000Z",
"variations": [
{
"id": "987654321",
"renderId": "123456789",
"images": [{ "url": "https://edensign.io/images/result-1.jpg" }],
"type": "staging",
"style": "modern",
"roomType": "living",
"createdAt": "2025-10-13T12:00:00.000Z",
"completedAt": "2025-10-13T12:01:30.000Z"
}
]
}
List Renders
Paginated query for render task list.
Request
GET /v1/renders?limit=10&next=CURSOR_TOKEN
Authorization: Bearer YOUR_API_KEY
Query Parameters
limit(optional): Number of items per page, defaults to 20next(optional): Next page cursorprev(optional): Previous page cursor
Response
{
"data": [
{
"id": "123456789",
"images": [{ "url": "https://edensign.io/images/original.jpg" }],
"variationCount": 3,
"createdAt": "2025-10-13T12:00:00.000Z",
"variations": [...]
}
],
"paging": {
"next": "NEXT_CURSOR_TOKEN",
"prev": "PREV_CURSOR_TOKEN"
}
}
Delete Render
Permanently delete a render task and all its variations.
Request
DELETE /v1/renders/:renderId
Authorization: Bearer YOUR_API_KEY
Path Parameters
renderId: Render task ID
Response
{}
Delete Variation
Delete a single variation. If no variations remain after deletion, the entire render task will also be deleted.
Request
DELETE /v1/renders/-/variations/:variationId
Authorization: Bearer YOUR_API_KEY
Path Parameters
variationId: Variation ID
Response
{}
Error Codes
The API uses standard HTTP status codes and returns structured error information:
400 Bad Request: Invalid request parameters401 Unauthorized: Unauthorized or invalid API key403 Forbidden: Permission denied to access the resource404 Not Found: Resource not found416 Range Not Satisfiable: Variation count limit exceeded500 Internal Server Error: Internal server error
Error Response Example
{
"error": {
"code": "OUT_OF_RANGE",
"message": "variation limit reached",
"details": [
{
"type": "ERROR_INFO",
"reason": "MAX_VARIATIONS_EXCEEDED"
}
]
}
}