meltflex-design — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited meltflex-design (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MeltFlex turns a real photo of a space into a redesigned, photorealistic result. This skill calls the MeltFlex REST API directly, so it works in any agent without installing anything else. (If the meltflex-mcp server is configured, prefer its generate_interior tool — it handles file I/O for you.)
To place specific furniture products into a room, use the companion skill /meltflex:furniture. For 3D output (a furniture GLB, a floorplan model, an explorable 3D world), use /meltflex:3d.
The user needs a MeltFlex API key (mf_sk_...), available on an active subscription at <https://www.meltflexai.com/settings>. Expect it in the MELTFLEX_API_KEY environment variable. If missing, ask them to set it:
export MELTFLEX_API_KEY="mf_sk_..."Each generation costs 10 credits, deducted upfront and auto-refunded on failure. Credits belong to the user's account.
POST https://www.meltflexai.com/api/v1/generate
Headers: Authorization: Bearer $MELTFLEX_API_KEY, Content-Type: application/json.
Body:
prompt (string, required) — the redesign instruction.imageUrl (string) or image (base64 data URL) — the source photo. Prefer imageUrl.resolution (string, optional) — output quality: "512", "1K", or "2K" (sharpest). Defaults to model auto.designLevel (string, optional) — "lite" (faster & cheaper, −2 credits), "quick" (default), or "pro" (most detailed, HIGH thinking, +5 credits).mask (boolean, optional) — region edit. When true, the source image must have the area to change painted solid red; the prompt is applied only to those red-marked regions and the rest is preserved. Use for "change only this part".variations (number, optional) — batch of 1–3 images in one call (default 1). Charged per image; failed variations are refunded.Response: { "success": true, "image": "data:...", "images": ["data:..."], "count": 1, "creditsUsed": 10 }.
Every mode is the same endpoint with a mode-tuned prompt. Pick the mode that matches the request and lead the prompt with it.
| Mode | What it's for | Prompt lead-in |
|---|---|---|
restyle | Change a room's style/theme | "Redesign this room in <style>: …" |
virtual_staging | Furnish an empty room | "Furnish this empty room as a <style> <room type>: …" |
layout_boost | Rearrange existing furniture | "Rearrange the existing furniture into a more open, functional layout; keep the same pieces" |
declutter | Clean up / depersonalize | "Declutter and tidy this room, keep the layout, neutral staging" |
exterior | Building facade / house exterior | "Redesign this house exterior in <style>, keep structure" |
garden | Landscaping / outdoor | "Redesign this garden: <plants, paving, mood>" |
wall_texture | Change wall material/finish | "Change the walls to <material/color>, keep everything else" |
floor_restyle | Change flooring | "Replace the floor with <material>, keep everything else" |
stairs | Restyle a staircase in place | "Restyle the staircase (<treads, railing>), keep its position and surroundings" |
doors | Swap interior doors | "Replace the doors with <style>, keep the walls and flooring" |
windows | Swap window frames/glazing | "Change the windows to <frame/glazing>, keep the wall openings" |
kitchen | Whole kitchen redesign | "Redesign this kitchen in <style>, keep the footprint and plumbing" |
bathroom | Whole bathroom redesign | "Redesign this bathroom in <style>, keep the layout and plumbing" |
photo_to_render | Draft / SketchUp → photo | "Turn this 3D draft into a photorealistic photograph, keep the geometry and camera" |
seasonal | Lighting / season variation | "Show this room at <time of day / season> with <lighting>" |
region_edit | Change only one marked area | Send mask: true with the region painted solid red in the image; "Put <thing> in the red area, keep the rest" |
For surface- and fixture-swap modes (wall_texture, floor_restyle, stairs, doors, windows), you can attach the target material or product as a reference image (referenceImageUrls) to match it exactly — see /meltflex:furniture for the reference mechanic.
Always preserve room structure (walls, windows, doors, flooring) unless the mode is explicitly about changing it.
Use a small script so you can decode the base64 result to a file (Python example):
import os, base64, requests
resp = requests.post(
"https://www.meltflexai.com/api/v1/generate",
headers={"Authorization": f"Bearer {os.environ['MELTFLEX_API_KEY']}"},
json={
"imageUrl": "https://your-cdn.com/empty-room.jpg",
"prompt": "Redesign in warm Scandinavian style: light oak floor, beige linen sofa, soft daylight. Preserve windows and walls.",
},
timeout=180,
)
data = resp.json()
if data.get("success"):
open("redesign.png", "wb").write(base64.b64decode(data["image"].split(",", 1)[1]))
print("Saved redesign.png")
else:
print("Error:", data.get("error") or data.get("message"))For a local source photo, send it as a data URL in image instead of imageUrl:
import base64, mimetypes
path = "living-room.jpg"
mime = mimetypes.guess_type(path)[0] or "image/jpeg"
b64 = base64.b64encode(open(path, "rb").read()).decode()
body = {"image": f"data:{mime};base64,{b64}", "prompt": "..."}The same account and API key unlock more endpoints. Use them when the request goes past a still redesign:
POST /api/v1/video with { imageUrl, durationSeconds: 4|8, aspectRatio: "16:9"|"9:16", prompt? } → { videoUrl, durationSeconds, aspectRatio, creditsUsed } (a hosted MP4). Costs 100 credits (4s) or 150 (8s). Allow up to ~5 minutes.
output: "render", 10 credits, ~20 s) or a downloadable GLB model (output: "model", 100 credits, ~3 min). POST /api/v1/floorplan-to-3d.POST /api/v1/furniture-3d, 75 credits, ~2–3 min.POST /api/v1/world, 30 credits (draft) or 200 (hd).The three 3D endpoints can answer HTTP 202 and need polling; the companion skill /meltflex:3d documents all of them with request/response shapes and a polling helper. Full reference: <https://www.meltflexai.com/api>.
imageUrl over base64 — avoids the 15 MB body limit and is faster.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.