
OpenMOSS text-to-image model that renders accurate English and Chinese text in signs, posters, and layouts, with aspect ratio and seed controls.
OpenMOSS text-to-image model that renders accurate English and Chinese text in signs, posters, and layouts, with aspect ratio and seed controls.
Also known as OpenMOSS MOSS-Image Turbo, MOSS-Image-Turbo
moss-image-turbo/v1/images/generationsLive pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
MOSS-Image Turbo runs through POST /v1/images/generations. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Or add "sync": true to skip polling: the request stays open and returns the finished OpenAI-style image response directly, so OpenAI SDKs work as-is. Get an API key from the EmpirioLabs dashboard.
curl https://api.empiriolabs.ai/v1/images/generations \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "moss-image-turbo",
"prompt": "Describe what you want MOSS-Image Turbo to generate."
}'curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY"import requests
response = requests.post(
"https://api.empiriolabs.ai/v1/images/generations",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
json={
"model": "moss-image-turbo",
"prompt": "Describe what you want MOSS-Image Turbo to generate.",
},
)
job = response.json()
# Generation runs as an async job. Poll until it completes.
import time
while True:
status = requests.get(
f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
).json()
if status.get("status") in ("completed", "failed"):
print(status)
break
time.sleep(5)Request parameters supported by the MOSS-Image Turbo API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| prompt | string | - | - | Text description of the image to generate, up to 4,000 characters. |
| aspect_ratio | enum | 1:1 | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3 | Output aspect ratio. Used when size, width and height are unset. |
| size | string | - | - | Explicit WIDTHxHEIGHT override. Each side is a multiple of 16 from 512 to 2048 pixels, and width x height is at most 1,048,576 pixels. Leave unset to use aspect_ratio. |
| width | number | - | 512 to 2048 | Output width in pixels, a multiple of 16. Set width and height together. Width x height must be at most 1,048,576 pixels. |
| height | number | - | 512 to 2048 | Output height in pixels, a multiple of 16. Set width and height together. Width x height must be at most 1,048,576 pixels. |
| seed | number | - | 0 to 2147483647 | Random seed. Leave unset for a random one; each image returns the seed it used. |
| num_images | number | 1 | 1 to 4 | How many images to generate (1-4). |
| format | enum | webp | webp, png, jpg, jpeg | Image file codec for the generated output. |
| response_format | enum | url | url, b64_json | Return a signed media URL by default, or base64 JSON when requested. |
| return_base64 | boolean | false | - | Compatibility alias for response_format=b64_json. |
Generates images from text, with accurate English and Chinese text in signs, posters, labels, and layouts.
Generated images pass an automated content-safety check. An image flagged as explicit is not returned. Because the image is generated before the check runs, a flagged generation is still billed.
On EmpirioLabs, MOSS-Image Turbo is billed pay as you go. The live rate card on this page always matches what the API charges.
MOSS-Image Turbo is served through POST /v1/images/generations on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs MOSS-Image Turbo in the browser with the same parameters the API exposes, so you can test prompts before writing code.
Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.
Check out our pricing or reach out if you want your own model deployed on our stack.