소개
MOSS-Image 텍스트→이미지는 OpenMOSS가 Apache-2.0으로 공개한 50억 파라미터 디퓨전 트랜스포머 MOSS-Image로, 글 프롬프트에서 이미지 한 장을 그립니다. 포스터, 잡지 표지, 광고, 간판처럼 정확한 글자가 많이 들어가는 그림을 위해 만들어졌습니다. 저희 테스트에서는 아주 긴 프롬프트도 끝까지 읽었고, NSFW 프롬프트도 약함부터 최대까지 모든 강도 단계에서 쓴 그대로 나왔습니다. 플랫폼은 콘텐츠 필터를 더하지 않습니다. 자신의 LoRA 파일을 쓰려면 MOSS-Image LoRA를 이용하십시오.
필요한 것에 따라 모델 고르기
| 필요한 것 | 모델 |
|---|---|
| 기본 모델의 정확한 글자, 긴 프롬프트, JSON 레이아웃 | MOSS-Image 텍스트→이미지 (현재 페이지) |
| 같은 모델에 자신의 LoRA를 최대 세 개까지 얹기 | MOSS-Image LoRA 텍스트→이미지 |
핵심 기능 및 하이라이트
쓴 그대로 나오는 글자
영화 포스터의 출연진과 감독 이름, 세 줄 표지 문구와 가격 표기가 있는 잡지 표지, 향수 로고, 네온 모텔 간판이 저희 테스트에서 모두 철자가 맞게 나왔습니다. OpenMOSS는 영어와 중국어 글자에서도 같은 수준이라고 밝히고 있습니다.
끝까지 읽는 프롬프트
프롬프트는 최대 12,000자까지 받습니다. 13,000자 프롬프트의 맨 마지막 문장에서만 언급한 빨간 우산도 왼쪽 아래 모서리에 그려졌습니다.
JSON 레이아웃
레이아웃 JSON을 프롬프트로 넣으면 글자 블록이나 사물마다 자기 박스를 얻습니다. 제목, 필기체 부제, 출연 목록, 댄서가 있는 클럽 전단에서 모든 요소가 박스가 있던 자리에 놓였습니다. OpenMOSS는 이 형식을 실험적인 것으로 표시하고 있습니다.
열다섯 가지 모양, 세 단계
1k, 1.5k, 2k 단계에서 1:3부터 3:1까지입니다. 16:9 이미지를 1.5k로 만들었을 때 2048 x 1152로, 9:16 이미지를 2k로 만들었을 때 1536 x 2720으로 나왔습니다.
무검열
저희 테스트에서는 약함부터 최대까지 어느 강도 단계에서도 거절되거나 수위가 낮춰진 것이 없었습니다. 들어올 때도 나갈 때도 아무것도 필터링되지 않습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 예 | 글자마다 따옴표를 붙이고 어디에 들어갈지 적으십시오. 최대 12,000자이며 영어가 잘 동작합니다. 1자 이상 · 12000자 이하 |
aspect_ratio | 아니요 | 1:3부터 3:1까지 15가지 모양이며 기본값은 1:1입니다. |
resolution | 아니요 | 1k(약 1메가픽셀, 기본값), 1.5k 또는 2k입니다. 단계가 가격을 정합니다. |
output_format | 아니요 | 기본은 JPEG이며 PNG나 WebP를 고를 수 있습니다. 형식은 가격을 바꾸지 않습니다. |
seed | 아니요 | 한 번에 문장 하나씩 바꾸면서 이미지를 비교할 수 있게 해 줍니다. 같은 픽셀을 보장하지는 않습니다. |
요금
해상도 단계(1k, 1.5k, 2k)별로 이미지당 과금됩니다. 화면비와 출력 형식은 가격을 바꾸지 않습니다. 실패한 요청에는 요금이 부과되지 않습니다.
| 사양 | 요금 |
|---|---|
| $0.024 / 장 |
| $0.048 / 장 |
| $0.096 / 장 |
활용 사례
포스터, 표지, 광고
제목, 태그라인, 출연진 이름과 날짜를 한 이미지에, 또는 제호와 표지 문구, 가격 표기를 담은 표지로. 글자마다 따옴표를 붙이고 자리를 정하십시오.
간판, 배너, 전단
글자가 그림을 이끄는 네온 간판, 행사 전단, 넓은 배너. 블록마다 박스를 원하면 JSON 레이아웃을 쓰십시오.
한 번의 요청에 긴 브리프 담기
장면, 의상, 빛, 렌즈, 그리고 모든 글자 줄을 포함한 전체 브리프를 몇 문장으로 줄이지 말고 그대로 붙여 넣으십시오.
프롬프트 가이드 및 실전 팁
글자는 따옴표로 묶고, 그다음 자리를 정하십시오
‘LAST CALL AT THE MERIDIAN’을 따옴표로 쓰고, 어디에 들어가며 어떻게 보일지 적으십시오. 예: 아래쪽 3분의 1에 걸친 금색 세리프 대문자. 줄이 바뀌어야 할 곳에는 따옴표 안에서 줄을 바꿔 쓰십시오.
JSON 레이아웃 쓰기
프롬프트는 전체 그림을 위한 summary(caption)와 items 목록을 가진 JSON 객체입니다. 각 항목에는 label(text 또는 object), caption, 선택 사항인 text, 그리고 bbox가 있습니다. bbox_format은 yxyx로, bbox_coord_space는 abs_centralized로 설정하십시오. 박스는 캔버스 중심에서 잰 픽셀로 [top, left, bottom, right]이며, x는 오른쪽으로, y는 아래쪽으로 갈수록 커집니다.
실제 크기로 계산하십시오
4:3 이미지를 1k로 만들면 1168 x 880이므로 x는 -584에서 584, y는 -440에서 440까지입니다. [-400, -560, -140, 40] 박스는 왼쪽 위의 제목 영역입니다. 박스를 놓기 전에 원하는 화면비와 단계에 맞는 출력 크기를 확인하십시오.
예비 seed를 준비하십시오
글자가 가끔 붙습니다. 한 향수 실행에서는 NOIR가 NOIIR로 읽혔습니다. seed를 바꿔 다시 실행하십시오. seed는 실행을 비교 가능하게 해 주지만 같은 픽셀을 보장하지는 않습니다.
필요한 것은 문장으로 더하십시오
네거티브 프롬프트나 가이던스는 없습니다. 피사체, 의상, 장소, 빛, 렌즈를 문장으로 묘사하고, 글자 줄은 고른 크기에서 읽힐 만큼 짧게 유지하십시오.
API 빠른 시작
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "openmoss/moss-image/text-to-image",
"input": {
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette",
"resolution": "1k",
"aspect_ratio": "1:1",
"output_format": "jpeg"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.




