ControlNet Preprocess MLSD
ControlNet Preprocess MLSD extracts major straight line segments from an input image for ControlNet conditioning. It is especially effective for buildings, interiors, product shots, and other compositions where rigid linear structure matters more than texture or organic detail.

API Reference
INTEGRATE
Complete technical specification for integration
RequestResponse
Examples4
CODE
Ready-to-use code snippets for common workflows
Angular Alpine Cableway Station

import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'runware:controlnet-preprocess@mlsd',
inputs: {
image: 'https://assets.runware.ai/assets/inputs/fe4ecda7-e49f-4f36-9af5-d79673fa24e5.jpg'
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/fe4ecda7-e49f-4f36-9af5-d79673fa24e5.jpg"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "controlNetPreprocess",
"taskUUID": "afbc3f80-52a6-496a-97ee-94503fd74750",
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/fe4ecda7-e49f-4f36-9af5-d79673fa24e5.jpg"
}
}
]'runware run runware:controlnet-preprocess@mlsd \
inputs.image=https://assets.runware.ai/assets/inputs/fe4ecda7-e49f-4f36-9af5-d79673fa24e5.jpg{
"taskType": "controlNetPreprocess",
"taskUUID": "afbc3f80-52a6-496a-97ee-94503fd74750",
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/fe4ecda7-e49f-4f36-9af5-d79673fa24e5.jpg"
}
}{
"taskType": "imageControlNetPreProcess",
"taskUUID": "afbc3f80-52a6-496a-97ee-94503fd74750",
"guideImageURL": "https://im.runware.ai/image/os/a01d21/ws/3/ii/cba36a2f-cb94-47ff-b5e7-b0ff9eace748.jpg",
"cost": 0.0006,
"guideImageUUID": "cba36a2f-cb94-47ff-b5e7-b0ff9eace748",
"inputImageUUID": "68a744f2-0bf1-4ea6-abf0-ce9941912c4f"
}Geometric Archive Stack Aisle

import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'runware:controlnet-preprocess@mlsd',
inputs: {
image: 'https://assets.runware.ai/assets/inputs/6f52bb9b-3436-4910-9c89-c6751633f71a.jpg'
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/6f52bb9b-3436-4910-9c89-c6751633f71a.jpg"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "controlNetPreprocess",
"taskUUID": "f37e1cf6-b0b9-4b95-9d34-3841ff858d5d",
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/6f52bb9b-3436-4910-9c89-c6751633f71a.jpg"
}
}
]'runware run runware:controlnet-preprocess@mlsd \
inputs.image=https://assets.runware.ai/assets/inputs/6f52bb9b-3436-4910-9c89-c6751633f71a.jpg{
"taskType": "controlNetPreprocess",
"taskUUID": "f37e1cf6-b0b9-4b95-9d34-3841ff858d5d",
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/6f52bb9b-3436-4910-9c89-c6751633f71a.jpg"
}
}{
"taskType": "imageControlNetPreProcess",
"taskUUID": "f37e1cf6-b0b9-4b95-9d34-3841ff858d5d",
"guideImageURL": "https://im.runware.ai/image/os/a03d21/ws/3/ii/387489a4-da39-4e64-abf5-a6d5ce950a0c.jpg",
"cost": 0.0006,
"guideImageUUID": "387489a4-da39-4e64-abf5-a6d5ce950a0c",
"inputImageUUID": "ea4ee2de-0634-41f5-9558-3cc700911222"
}Brutalist Transit Hall Geometry

import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'runware:controlnet-preprocess@mlsd',
inputs: {
image: 'https://assets.runware.ai/assets/inputs/ca82fff0-4476-46fd-aed5-4a94619ddb7f.jpg'
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/ca82fff0-4476-46fd-aed5-4a94619ddb7f.jpg"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "controlNetPreprocess",
"taskUUID": "3d44c40f-8745-4e4b-9db7-04550f88f5eb",
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/ca82fff0-4476-46fd-aed5-4a94619ddb7f.jpg"
}
}
]'runware run runware:controlnet-preprocess@mlsd \
inputs.image=https://assets.runware.ai/assets/inputs/ca82fff0-4476-46fd-aed5-4a94619ddb7f.jpg{
"taskType": "controlNetPreprocess",
"taskUUID": "3d44c40f-8745-4e4b-9db7-04550f88f5eb",
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/ca82fff0-4476-46fd-aed5-4a94619ddb7f.jpg"
}
}{
"taskType": "imageControlNetPreProcess",
"taskUUID": "3d44c40f-8745-4e4b-9db7-04550f88f5eb",
"guideImageURL": "https://im.runware.ai/image/os/a03d21/ws/3/ii/f594a585-c3f3-4923-bd73-db83b3decf73.jpg",
"cost": 0.0006,
"guideImageUUID": "f594a585-c3f3-4923-bd73-db83b3decf73",
"inputImageUUID": "6bf585bc-ee0b-4dce-a2ac-4af1702da7c1"
}Gantry Crane Drydock Grid

import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'runware:controlnet-preprocess@mlsd',
inputs: {
image: 'https://assets.runware.ai/assets/inputs/406e00c7-d6d9-4fa9-b12b-f8f9a39d21ba.jpg'
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/406e00c7-d6d9-4fa9-b12b-f8f9a39d21ba.jpg"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "controlNetPreprocess",
"taskUUID": "110d7f79-bd62-4da7-8681-0acb01b23e09",
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/406e00c7-d6d9-4fa9-b12b-f8f9a39d21ba.jpg"
}
}
]'runware run runware:controlnet-preprocess@mlsd \
inputs.image=https://assets.runware.ai/assets/inputs/406e00c7-d6d9-4fa9-b12b-f8f9a39d21ba.jpg{
"taskType": "controlNetPreprocess",
"taskUUID": "110d7f79-bd62-4da7-8681-0acb01b23e09",
"model": "runware:controlnet-preprocess@mlsd",
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/406e00c7-d6d9-4fa9-b12b-f8f9a39d21ba.jpg"
}
}{
"taskType": "imageControlNetPreProcess",
"taskUUID": "110d7f79-bd62-4da7-8681-0acb01b23e09",
"guideImageURL": "https://im.runware.ai/image/os/a02d21/ws/3/ii/419b16e5-23d6-4d41-82d3-d8a5962db354.jpg",
"cost": 0.0006,
"guideImageUUID": "419b16e5-23d6-4d41-82d3-d8a5962db354",
"inputImageUUID": "71a58f98-7467-49a2-a569-a930bd218b40"
}