MOSS Image LoRA Text to Image
moss-image/text-to-image-lora
Text-to-image with up to three custom LoRAs, Chinese and English text, 15 aspect ratios and 1K–2K output.
Examples
Parameters
| Name | Type | Default | Constraints | Description |
|---|---|---|---|---|
| prompt *Prompt | textarea | — | ≤ 5000 chars | The positive prompt for the generation. Supports long, detailed prompts and Chinese and English text rendering inside the image. |
| aspect_ratioAspect Ratio | select | 1:1 | 1:1 | 1:2 | 2:1 | 1:3 | 3:1 | 2:3 | 3:2 | 3:4 | … | The aspect ratio of the generated image. |
| resolutionResolution | select | 1k | 1k | 1.5k | 2k | Total output resolution tier: 1k (~1 megapixel), 1.5k (~2.4 megapixels) or 2k (~4 megapixels). |
| output_formatOutput Format | select | jpeg | jpeg | png | webp | The format of the output image. |
| lorasLoras | array<object> | — | 0–3 items | List of LoRAs to apply (max 3). |
| ↳path *Path | text | — | ≤ 500 chars | URL or path to the LoRA weights. |
| ↳scaleScale | slider | 1 | 0 ~ 4 · step 0.1 | |
| seedSeed | number | — | step 1 | The random seed. -1 means random. |
Output fields
| Field | Type | Description |
|---|---|---|
| images | array<string> |
API
Call this model through one unified REST API. Get a key on the API Keys page.
cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.namifusion.com/api/v1/marketplace/run/moss-image/text-to-image-lora" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "A modern tea house poster with a sign reading \"MOSS TEA HOUSE\", warm lighting and clean typography.",
"aspect_ratio": "1:1",
"resolution": "1k",
"output_format": "jpeg",
"loras": [],
"seed": -1
}
}'
# 2) Poll until status is "completed", then read the output URLs
curl "https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID" \
-H "Authorization: Bearer YOUR_API_KEY"Python
import time, requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1) Submit
resp = requests.post(
"https://www.namifusion.com/api/v1/marketplace/run/moss-image/text-to-image-lora",
headers=HEADERS,
json={
"input": {
"prompt": "A modern tea house poster with a sign reading \"MOSS TEA HOUSE\", warm lighting and clean typography.",
"aspect_ratio": "1:1",
"resolution": "1k",
"output_format": "jpeg",
"loras": [],
"seed": -1
}
},
)
resp.raise_for_status() # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()
# 2) Poll until a terminal state (completed / failed / cancelled).
# This model is allowed up to 1800s server-side.
deadline = time.time() + 1860
while task.get("status") not in ("completed", "failed", "cancelled"):
if time.time() > deadline:
raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
time.sleep(3)
poll = requests.get(f"https://www.namifusion.com/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
poll.raise_for_status()
task = poll.json()
print(task["status"], task.get("output"))JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };
// 1) Submit
const resp = await fetch("https://www.namifusion.com/api/v1/marketplace/run/moss-image/text-to-image-lora", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"prompt": "A modern tea house poster with a sign reading \"MOSS TEA HOUSE\", warm lighting and clean typography.",
"aspect_ratio": "1:1",
"resolution": "1k",
"output_format": "jpeg",
"loras": [],
"seed": -1
}
}),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();
// 2) Poll until a terminal state (completed / failed / cancelled).
// This model is allowed up to 1800s server-side.
const deadline = Date.now() + 1860 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
await new Promise((r) => setTimeout(r, 3000));
const poll = await fetch(`https://www.namifusion.com/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
task = await poll.json();
}
console.log(task.status, task.output);Documentation
MOSS Image LoRA Text to Image
moss-image/text-to-image-lora
Text-to-image with up to three custom LoRAs, Chinese and English text, 15 aspect ratios and 1K–2K output.
Input parameters
| Parameter | Type | Required | Default | Limits and description |
|---|---|---|---|---|
prompt | string | Yes | — | Maximum 5000 characters (platform limit); The positive prompt for the generation. Supports long, detailed prompts and Chinese and English text rendering inside the image. |
aspect_ratio | string | No | "1:1" | 1:1, 1:2, 2:1, 1:3, 3:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 9:21, 21:9; The aspect ratio of the generated image. |
resolution | string | No | "1k" | 1k, 1.5k, 2k; Total output resolution tier: 1k (~1 megapixel), 1.5k (~2.4 megapixels) or 2k (~4 megapixels). |
output_format | string | No | "jpeg" | jpeg, png, webp; The format of the output image. |
loras | array | No | — | 0–3 objects; optional, may be omitted or empty; List of LoRAs to apply (max 3). |
loras[].path | string | Yes | — | Maximum 500 characters (platform limit); URL or path to the LoRA weights. |
loras[].scale | number | No | 1 | 0–4 |
seed | integer | No | — | The random seed. -1 means random. |
Only prompt is required. seed must be an integer; -1 requests a random seed. Resolution is an output pixel-count tier, not a fixed width or height. This Nami endpoint returns an asynchronous task and image URLs; the upstream enable_sync_mode and enable_base64_output switches are not exposed.
Each LoRA object requires path (a URL/path to compatible LoRA weights); scale is optional, defaults to 1, and accepts numbers from 0 to 4, including 0. For hosted use, provide a provider-accessible URL. Leaving loras empty still uses the LoRA endpoint price.
Price per image
| Resolution | USD | Credits |
|---|---|---|
| 1k | $0.025 | 2.5 |
| 1.5k | $0.045 | 4.5 |
| 2k | $0.085 | 8.5 |
One image per request. List prices match WaveSpeed. USD 1 = 100 credits. Only resolution changes the price; aspect ratio, output format and seed add no fee. Account discounts apply separately.
The LoRA surcharge is included; adding up to three LoRAs does not add another charge.
API
curl -X POST https://www.namifusion.com/api/v1/marketplace/run/moss-image/text-to-image-lora \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"input": {
"prompt": "A modern tea house poster with a sign reading \"MOSS TEA HOUSE\", warm lighting and clean typography.",
"aspect_ratio": "1:1",
"resolution": "1k",
"output_format": "jpeg",
"seed": -1,
"loras": []
}
}'
curl 'https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID' \
-H "Authorization: Bearer $API_KEY"
Submit once, take task_uuid from the response, and poll until completed or failed. A completed response contains output.images, an array of image URLs.
Related models
z-image-spicy/text-to-image
Generate high-quality images from text with custom dimensions from 256 to 1536 pixels, intelligent prompt rewriting, and seed control for creative design and batch generation.
xAI Grok Imagine Image v2.0 Text to Image
xAI Grok Imagine Image V2.0 Text-to-Image generates high-quality images from text prompts, with configurable aspect ratio, resolution, and quality for creative visuals, social content, marketing assets, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Qwen Image 3.0 Pro Text to Image
Qwen Image 3.0 Pro is a professional-grade text-to-image model with superior quality and advanced prompt understanding. Up to 2k. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
ai/prefect-pony-xl
Prefect Pony XL delivers high-quality anime-style image generation for character art and illustrations. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
OpenAI GPT Image 2 Text-to-Image
OpenAI's GPT Image 2 Text-to-Image generates high-quality images from natural-language prompts. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
OpenAI GPT Image 2 Edit
OpenAI's GPT Image 2 Edit enables image editing from natural-language instructions with one or more reference images. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
OpenAI GPT Image 2.5 Sunburst Text-to-Image
High-fidelity image generation for detailed compositions and demanding production work, with up to 4K output.
OpenAI GPT Image 2.5 Flare Text-to-Image
Fast, balanced image generation from natural-language prompts, with up to 4K output.