Dev LoRA API Reference

Endpoint

POST https://api.muapi.ai/api/v1/flux_dev_lora_image

Submit 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.

Parameters

NameTypeRequiredDescription
promptstringYesText prompt describing the image. The length of the prompt must be between 2 and 3000 characters.
model_idarrayYesThe 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).
widthintNoWidth of the output image. The value must be divisible by 64, eg: 128...512, 576, 640...2048.Default: 1024
heightintNoHeight of the output image. The value must be divisible by 64, eg: 128...512, 576, 640...2048.Default: 1024
num_imagesintNoNumber of images generated in single request. Each number will charge separatelyDefault: 1

cURL example

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"

Python example

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.