Edit images with AI Portrait Stylist via the Muapi REST API. Pay per generation — no subscription needed.
POST https://api.muapi.ai/api/v1/portrait-stylistSubmit 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 |
|---|---|---|---|
| image_url | string | Yes | Upload a clear portrait photo. |
| name | string | Yes | Select the portrait effect to apply.Options: Voluminous Frizzy Hair, Platinum Blonde Hair, Deep Burgundy Hair, Jet Black Hair, Bold Hair Highlights, Bold Red Lipstick, Smokey Eye Makeup, Glossy Nude Makeup, Winged Eyeliner, Party Glam Makeup, Aviator Sunglasses, Oversized Sunglasses, Modern Transparent Glasses, Bold Fashion Hat, Bright Pink Outfit, Black Leather Jacket, White Formal Shirt, Neon Green Hoodie, Cinematic Lighting, Cyberpunk LightingDefault: "Voluminous Frizzy Hair" |
| aspect_ratio | string | No | Output aspect ratio.Options: auto, 1:1, 4:3, 3:4, 16:9, 9:16Default: "auto" |
REQUEST_ID=$(curl -s -X POST https://api.muapi.ai/api/v1/portrait-stylist \
-H "x-api-key: $MUAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"image_url":"https://example.com/your-image_url","name":"Voluminous Frizzy Hair"}' | 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}/portrait-stylist", headers=headers, json={"image_url":"https://example.com/your-image_url","name":"Voluminous Frizzy Hair"})
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.