POST https://api.muapi.ai/api/v1/flux_dev_lora_imageSubmit a job with your MuApi API key in the x-api-key header, then poll https://api.muapi.ai/api/v1/predictions/{request_id}/result until status is completed.
| Name | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | Text prompt describing the image. The length of the prompt must be between 2 and 3000 characters. |
| model_id | array | Yes | The unique identifier of a LoRA model hosted on Civitai, used by the Flux Dev image generation system. This ID tells Flux Dev which specific LoRA model to apply during generation. You can find the model ID in the Civitai model URL (e.g., model_id: civitai:1642876@1864626). |
| width | int | No | Width of the output image. The value must be divisible by 64, eg: 128...512, 576, 640...2048.Default: 1024 |
| height | int | No | Height of the output image. The value must be divisible by 64, eg: 128...512, 576, 640...2048.Default: 1024 |
| num_images | int | No | Number of images generated in single request. Each number will charge separatelyDefault: 1 |
REQUEST_ID=$(curl -s -X POST https://api.muapi.ai/api/v1/flux_dev_lora_image \
-H "x-api-key: $MUAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"<prompt>","model_id":[]}' | jq -r .request_id)
curl -s https://api.muapi.ai/api/v1/predictions/$REQUEST_ID/result -H "x-api-key: $MUAPI_API_KEY"import os, time, requests
API = "https://api.muapi.ai/api/v1"
headers = {"x-api-key": os.environ["MUAPI_API_KEY"]}
r = requests.post(f"{API}/flux_dev_lora_image", headers=headers, json={"prompt":"<prompt>","model_id":[]})
request_id = r.json()["request_id"]
while True:
res = requests.get(f"{API}/predictions/{request_id}/result", headers=headers).json()
if res["status"] == "completed":
print(res["outputs"]); break
if res["status"] == "failed":
raise RuntimeError(res.get("error"))
time.sleep(3)Full docs and agent/MCP integration: llms.txt. Get an API key at muapi.ai/access-keys.