curl --request POST \
--url https://api.evolink.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "doubao-seedream-5.0-flash-layerize",
"image_urls": [
"https://example.com/poster.png"
],
"quality": "auto",
"output_format": "jpeg"
}
'{
"created": 1757165031,
"id": "task-unified-1757165031-seedream5flashlayerize",
"model": "doubao-seedream-5.0-flash-layerize",
"object": "image.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 60
},
"type": "image",
"usage": {
"billing_rule": "per_image",
"credits_reserved": 18.7272,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: doubao-seedream-5.0-flash-layerize",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}Seedream 5.0 Flash 레이어 분해
- Seedream 5.0 Flash 레이어 분해(doubao-seedream-5.0-flash-layerize)는 이미지 한 장을 베이스 이미지와 여러 개의 독립 레이어로 분리합니다. 각 레이어는 투명 채널이 있는 PNG이며, 베이스 이미지 형식은
output_format을 따릅니다 - 입력 이미지는 정확히 1장이어야 합니다.
prompt는 선택 사항이며, 지정하지 않으면 모델이 이미지 속 주요 요소를 모두 자동으로 인식해 하나씩 분리합니다 - 출력 장수는 분해 결과에 따라 결정되며(
1~17장) 요청 파라미터로 제어할 수 없습니다. 레이어 중 하나라도 실패하면 요청 전체가 실패하며, 부분 성공은 없고 실패 시 전액 환불됩니다 - 비동기 처리 모드, 반환된 작업 ID로 조회. 작업 상세의
result_data에서 각 이미지에는z_index(쌓임 순서, 베이스 이미지는0, 레이어는1부터 증가)가 포함되며, 레이어에는 추가로bounding_box(absolute는 베이스 이미지 좌표계의 픽셀 좌표,normalized는0~1000범위),name,description이 포함됩니다 - 이미지 장당 과금합니다. 베이스 이미지와 각 레이어를 각각 한 장으로 계산하며, 해상도 등급과 관계없이 단가는 같습니다. 입력 이미지는 무료입니다. 작업 생성 시 최대
17장에 해당하는 크레딧을 예약하고, 완료 후 실제 출력 장수에 따라 정산합니다. 초과 예약된 크레딧은 자동으로 반환됩니다 - 예상 처리 시간은 약
60초입니다 - 생성된 이미지 링크는 24시간 동안 유효하며, 즉시 저장해 주세요
curl --request POST \
--url https://api.evolink.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "doubao-seedream-5.0-flash-layerize",
"image_urls": [
"https://example.com/poster.png"
],
"quality": "auto",
"output_format": "jpeg"
}
'{
"created": 1757165031,
"id": "task-unified-1757165031-seedream5flashlayerize",
"model": "doubao-seedream-5.0-flash-layerize",
"object": "image.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 60
},
"type": "image",
"usage": {
"billing_rule": "per_image",
"credits_reserved": 18.7272,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: doubao-seedream-5.0-flash-layerize",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}인증
##모든 API는 Bearer Token 인증이 필요합니다##
API Key 받기:
API Key 관리 페이지를 방문하여 API Key를 받으세요
요청 헤더에 추가:
Authorization: Bearer YOUR_API_KEY
본문
이미지 생성 모델 이름
doubao-seedream-5.0-flash-layerize "doubao-seedream-5.0-flash-layerize"
분해할 이미지 URL (필수)
참고:
- 정확히
1장이 필요하며, 누락하거나2장 이상을 전달하면 오류가 발생합니다 - 지원 형식:
.png,.jpeg,.jpg(일반 생성보다 엄격하며 webp 등은 거부됩니다) - 이미지 크기: 최대
30MB - 총 픽셀 수:
[262144, 6000×6000], 즉 최소512×512(일반 생성보다 하한이 높음) - 가로세로 비율(가로/세로) 범위:
[1/16, 16] - 이미지 URL은 서버에서 직접 접근할 수 있거나 접근 시 바로 다운로드가 시작되어야 합니다(일반적으로
.png,.jpg같은 이미지 확장자로 끝납니다)
1 element["https://example.com/poster.png"]
분리할 요소 지정 (선택)
세 가지 사용 방법:
- 지정하지 않음: 모델이 이미지 속 주요 요소를 모두 인식해 하나씩 분리합니다
- 자연어: 예:
앵무새와 제목 텍스트를 분리해 줘. 의미를 해석해 요소를 판별하고 레이어로 나눕니다 - 좌표 지정:
<bbox>태그로 위치를 지정합니다. 예:제목 텍스트<bbox>179 58 809 197</bbox>. 정규화 좌표(0~1000) 사용을 권장합니다
"앵무새와 제목 텍스트를 분리해 주세요"
출력 등급. 기본값은 auto
옵션: auto, 1K, 1.5K, 2K
설명:
- 레이어 모드는 등급만 허용하며, 비율(
16:9등)이나 픽셀 지정(2048x2048등)을 전달하면 오류가 발생합니다 auto는 출력이 입력 이미지를 따른다는 뜻입니다. 원본 크기가[921600, 4624220]픽셀 범위 안이면 그대로, 1K 미만이면 1K로, 2K를 초과하면 2K로 출력됩니다- 각 레이어는 원본 이미지에서의 가로세로 비율을 각각 유지하며, 베이스 이미지의 비율은 입력 이미지와 같습니다
과금 안내: 해상도 등급과 관계없이 이미지 장당 과금합니다. 1K, 1.5K, 2K, auto의 단가는 같습니다.
auto, 1K, 1.5K, 2K "auto"
프롬프트 최적화 모드를 설정하는 최적화 전략
옵션:
standard: 표준 모드
참고: Seedream 5.0 Flash는 standard만 지원하며, fast를 전달하면 400을 반환합니다. Flash 자체가 더 빠르게 생성하는 버전이므로 별도의 빠른 모드를 제공하지 않습니다.
standard "standard"
출력 이미지 형식
옵션:
jpeg: JPEG 형식(기본값)png: PNG 형식
참고: 이 파라미터는 베이스 이미지만 제어합니다. 분리된 레이어는 항상 투명 채널이 있는 png이며 이 설정의 영향을 받지 않습니다.
jpeg, png "jpeg"
작업 완료 후 HTTPS 콜백 주소
콜백 타이밍:
- 작업이 완료, 실패 또는 취소될 때 트리거됨
- 과금 확인 완료 후 전송
보안 제한:
- HTTPS 프로토콜만 지원
- 내부 IP 주소로의 콜백 금지 (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x 등)
- URL 길이는
2048자를 초과할 수 없음
콜백 메커니즘:
- 타임아웃:
10초 - 실패 시 최대
3회 재시도 (1초/2초/4초 후 재시도) - 콜백 응답 본문 형식은 작업 조회 API 응답 형식과 동일
- 콜백 주소가 2xx 상태 코드를 반환하면 성공으로 간주, 다른 상태 코드는 재시도를 트리거
"https://your-domain.com/webhooks/image-task-completed"
응답
이미지 생성 작업이 성공적으로 생성되었습니다
작업 생성 타임스탬프
1757165031
작업 ID
"task-unified-1757165031-seedream5flashlayerize"
실제 사용된 모델 이름
"doubao-seedream-5.0-flash-layerize"
특정 작업 유형
image.generation.task 작업 진행률 (0-100)
0 <= x <= 1000
작업 상태
pending, processing, completed, failed "pending"
비동기 작업 정보
Show child attributes
Show child attributes
작업 출력 유형
text, image, audio, video "image"
사용량 및 과금 정보
Show child attributes
Show child attributes