MODEL IDrunware:controlnet-preprocess@normalbae
live

ControlNet Preprocess NormalBae

ControlNet Preprocess NormalBae predicts a surface normal map from an input image for ControlNet conditioning. It is well suited to workflows that need stronger preservation of 3D form, object volume, and orientation cues beyond what a flat edge map or line map can provide.

ControlNet Preprocess NormalBae
surface-normal-estimation

Underwater ROV Compositing Normal Pass

Underwater ROV Compositing Normal Pass
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@normalbae',
  inputs: {
    image: 'https://assets.runware.ai/assets/inputs/7fc1818f-e33e-4e7d-96e6-491cea764259.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@normalbae",
            "inputs": {
                "image": "https://assets.runware.ai/assets/inputs/7fc1818f-e33e-4e7d-96e6-491cea764259.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": "449cfb99-e759-40c3-a72d-49f774b75716",
      "model": "runware:controlnet-preprocess@normalbae",
      "inputs": {
        "image": "https://assets.runware.ai/assets/inputs/7fc1818f-e33e-4e7d-96e6-491cea764259.jpg"
      }
    }
  ]'
runware run runware:controlnet-preprocess@normalbae \
  inputs.image=https://assets.runware.ai/assets/inputs/7fc1818f-e33e-4e7d-96e6-491cea764259.jpg
{
  "taskType": "controlNetPreprocess",
  "taskUUID": "449cfb99-e759-40c3-a72d-49f774b75716",
  "model": "runware:controlnet-preprocess@normalbae",
  "inputs": {
    "image": "https://assets.runware.ai/assets/inputs/7fc1818f-e33e-4e7d-96e6-491cea764259.jpg"
  }
}
Response
{
  "taskType": "imageControlNetPreProcess",
  "taskUUID": "449cfb99-e759-40c3-a72d-49f774b75716",
  "guideImageURL": "https://im.runware.ai/image/os/a08dlim3/ws/3/ii/75fdeb61-8f34-48fd-95cb-b0b82d15528d.jpg",
  "cost": 0.0013,
  "guideImageUUID": "75fdeb61-8f34-48fd-95cb-b0b82d15528d",
  "inputImageUUID": "13f979c9-7907-41ff-ae3e-c6a5394f105f"
}
surface-normal-estimation

Aviation Archive Restoration Normal Pass

Aviation Archive Restoration Normal Pass
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@normalbae',
  inputs: {
    image: 'https://assets.runware.ai/assets/inputs/224ccdee-5dd2-4362-9bdc-08d850f70102.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@normalbae",
            "inputs": {
                "image": "https://assets.runware.ai/assets/inputs/224ccdee-5dd2-4362-9bdc-08d850f70102.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": "beb0726c-d33a-40d9-8dcd-f8bdb62d9d68",
      "model": "runware:controlnet-preprocess@normalbae",
      "inputs": {
        "image": "https://assets.runware.ai/assets/inputs/224ccdee-5dd2-4362-9bdc-08d850f70102.jpg"
      }
    }
  ]'
runware run runware:controlnet-preprocess@normalbae \
  inputs.image=https://assets.runware.ai/assets/inputs/224ccdee-5dd2-4362-9bdc-08d850f70102.jpg
{
  "taskType": "controlNetPreprocess",
  "taskUUID": "beb0726c-d33a-40d9-8dcd-f8bdb62d9d68",
  "model": "runware:controlnet-preprocess@normalbae",
  "inputs": {
    "image": "https://assets.runware.ai/assets/inputs/224ccdee-5dd2-4362-9bdc-08d850f70102.jpg"
  }
}
Response
{
  "taskType": "imageControlNetPreProcess",
  "taskUUID": "beb0726c-d33a-40d9-8dcd-f8bdb62d9d68",
  "guideImageURL": "https://im.runware.ai/image/os/a09dlim3/ws/3/ii/7084affa-cffa-49b2-aaee-1d8027e38741.jpg",
  "cost": 0.0013,
  "guideImageUUID": "7084affa-cffa-49b2-aaee-1d8027e38741",
  "inputImageUUID": "5e35cf6b-e22c-40c1-971a-c1dffa671fc5"
}
Preprocess

Basalt Automaton Chess Shrine

Basalt Automaton Chess Shrine
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@normalbae',
  inputs: {
    image: 'https://assets.runware.ai/assets/inputs/9d11eab5-ac0f-417d-b707-69dfd60a606e.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@normalbae",
            "inputs": {
                "image": "https://assets.runware.ai/assets/inputs/9d11eab5-ac0f-417d-b707-69dfd60a606e.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": "9fdb6533-04eb-4721-880b-572a3ebb5b64",
      "model": "runware:controlnet-preprocess@normalbae",
      "inputs": {
        "image": "https://assets.runware.ai/assets/inputs/9d11eab5-ac0f-417d-b707-69dfd60a606e.jpg"
      }
    }
  ]'
runware run runware:controlnet-preprocess@normalbae \
  inputs.image=https://assets.runware.ai/assets/inputs/9d11eab5-ac0f-417d-b707-69dfd60a606e.jpg
{
  "taskType": "controlNetPreprocess",
  "taskUUID": "9fdb6533-04eb-4721-880b-572a3ebb5b64",
  "model": "runware:controlnet-preprocess@normalbae",
  "inputs": {
    "image": "https://assets.runware.ai/assets/inputs/9d11eab5-ac0f-417d-b707-69dfd60a606e.jpg"
  }
}
Response
{
  "taskType": "imageControlNetPreProcess",
  "taskUUID": "9fdb6533-04eb-4721-880b-572a3ebb5b64",
  "guideImageURL": "https://im.runware.ai/image/os/a09dlim3/ws/3/ii/f2d32766-c02e-4ae8-8a01-a172a2e0fb69.jpg",
  "cost": 0.0013,
  "guideImageUUID": "f2d32766-c02e-4ae8-8a01-a172a2e0fb69",
  "inputImageUUID": "75f95641-c299-415e-950e-6c09f8ef74de"
}
Preprocess

Folded Paper Rhino Study

Folded Paper Rhino Study
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@normalbae',
  inputs: {
    image: 'https://assets.runware.ai/assets/inputs/fee4f243-d956-403f-88aa-0dbeb1292841.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@normalbae",
            "inputs": {
                "image": "https://assets.runware.ai/assets/inputs/fee4f243-d956-403f-88aa-0dbeb1292841.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": "d5515e3e-4a0e-4dda-bc5f-3e174df4fd11",
      "model": "runware:controlnet-preprocess@normalbae",
      "inputs": {
        "image": "https://assets.runware.ai/assets/inputs/fee4f243-d956-403f-88aa-0dbeb1292841.jpg"
      }
    }
  ]'
runware run runware:controlnet-preprocess@normalbae \
  inputs.image=https://assets.runware.ai/assets/inputs/fee4f243-d956-403f-88aa-0dbeb1292841.jpg
{
  "taskType": "controlNetPreprocess",
  "taskUUID": "d5515e3e-4a0e-4dda-bc5f-3e174df4fd11",
  "model": "runware:controlnet-preprocess@normalbae",
  "inputs": {
    "image": "https://assets.runware.ai/assets/inputs/fee4f243-d956-403f-88aa-0dbeb1292841.jpg"
  }
}
Response
{
  "taskType": "imageControlNetPreProcess",
  "taskUUID": "d5515e3e-4a0e-4dda-bc5f-3e174df4fd11",
  "guideImageURL": "https://im.runware.ai/image/os/a01d21/ws/3/ii/ef2f6e83-6b6b-46fe-bbd6-8c5fd6310cf0.jpg",
  "cost": 0.0013,
  "guideImageUUID": "ef2f6e83-6b6b-46fe-bbd6-8c5fd6310cf0",
  "inputImageUUID": "e27bc861-e180-440e-b796-69f5b967e775"
}
Preprocess

Ornate Soapstone Lizard Sarcophagus

Ornate Soapstone Lizard Sarcophagus
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@normalbae',
  inputs: {
    image: 'https://assets.runware.ai/assets/inputs/0d76cbf3-f1e3-4b4f-ae84-9c33a322dca8.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@normalbae",
            "inputs": {
                "image": "https://assets.runware.ai/assets/inputs/0d76cbf3-f1e3-4b4f-ae84-9c33a322dca8.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": "c470ebf6-5af2-44b5-aed2-1b7e54423b0b",
      "model": "runware:controlnet-preprocess@normalbae",
      "inputs": {
        "image": "https://assets.runware.ai/assets/inputs/0d76cbf3-f1e3-4b4f-ae84-9c33a322dca8.jpg"
      }
    }
  ]'
runware run runware:controlnet-preprocess@normalbae \
  inputs.image=https://assets.runware.ai/assets/inputs/0d76cbf3-f1e3-4b4f-ae84-9c33a322dca8.jpg
{
  "taskType": "controlNetPreprocess",
  "taskUUID": "c470ebf6-5af2-44b5-aed2-1b7e54423b0b",
  "model": "runware:controlnet-preprocess@normalbae",
  "inputs": {
    "image": "https://assets.runware.ai/assets/inputs/0d76cbf3-f1e3-4b4f-ae84-9c33a322dca8.jpg"
  }
}
Response
{
  "taskType": "imageControlNetPreProcess",
  "taskUUID": "c470ebf6-5af2-44b5-aed2-1b7e54423b0b",
  "guideImageURL": "https://im.runware.ai/image/os/a02d21/ws/3/ii/1d77213f-975f-4d96-8684-71d6d7143100.jpg",
  "cost": 0.0013,
  "guideImageUUID": "1d77213f-975f-4d96-8684-71d6d7143100",
  "inputImageUUID": "a7b65f64-3361-4b80-acc1-a77752ad5d48"
}
Preprocess

Ceramic Kraken Fountain Maquette

Ceramic Kraken Fountain Maquette
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@normalbae',
  inputs: {
    image: 'https://assets.runware.ai/assets/inputs/71669b1f-247a-4ad2-ab3f-f46582986bee.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@normalbae",
            "inputs": {
                "image": "https://assets.runware.ai/assets/inputs/71669b1f-247a-4ad2-ab3f-f46582986bee.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": "835aafbf-2a92-443f-9baa-29f425dc1883",
      "model": "runware:controlnet-preprocess@normalbae",
      "inputs": {
        "image": "https://assets.runware.ai/assets/inputs/71669b1f-247a-4ad2-ab3f-f46582986bee.jpg"
      }
    }
  ]'
runware run runware:controlnet-preprocess@normalbae \
  inputs.image=https://assets.runware.ai/assets/inputs/71669b1f-247a-4ad2-ab3f-f46582986bee.jpg
{
  "taskType": "controlNetPreprocess",
  "taskUUID": "835aafbf-2a92-443f-9baa-29f425dc1883",
  "model": "runware:controlnet-preprocess@normalbae",
  "inputs": {
    "image": "https://assets.runware.ai/assets/inputs/71669b1f-247a-4ad2-ab3f-f46582986bee.jpg"
  }
}
Response
{
  "taskType": "imageControlNetPreProcess",
  "taskUUID": "835aafbf-2a92-443f-9baa-29f425dc1883",
  "guideImageURL": "https://im.runware.ai/image/os/a08dlim3/ws/3/ii/55372ba8-6541-470d-9c40-aa979f0cdeea.jpg",
  "cost": 0.0026,
  "guideImageUUID": "55372ba8-6541-470d-9c40-aa979f0cdeea",
  "inputImageUUID": "c4b54505-8c4b-46b7-9f38-8913fa48c3fd"
}
surface-normal-estimation

Marionette Photograph Restoration Normal Map

Marionette Photograph Restoration Normal Map
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@normalbae',
  inputs: {
    image: 'https://assets.runware.ai/assets/inputs/a4186a18-094c-4bc9-9292-f4e51f0ae5c3.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@normalbae",
            "inputs": {
                "image": "https://assets.runware.ai/assets/inputs/a4186a18-094c-4bc9-9292-f4e51f0ae5c3.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": "9612eb71-7210-4051-a4bc-c5184bb87ae7",
      "model": "runware:controlnet-preprocess@normalbae",
      "inputs": {
        "image": "https://assets.runware.ai/assets/inputs/a4186a18-094c-4bc9-9292-f4e51f0ae5c3.jpg"
      }
    }
  ]'
runware run runware:controlnet-preprocess@normalbae \
  inputs.image=https://assets.runware.ai/assets/inputs/a4186a18-094c-4bc9-9292-f4e51f0ae5c3.jpg
{
  "taskType": "controlNetPreprocess",
  "taskUUID": "9612eb71-7210-4051-a4bc-c5184bb87ae7",
  "model": "runware:controlnet-preprocess@normalbae",
  "inputs": {
    "image": "https://assets.runware.ai/assets/inputs/a4186a18-094c-4bc9-9292-f4e51f0ae5c3.jpg"
  }
}
Response
{
  "taskType": "imageControlNetPreProcess",
  "taskUUID": "9612eb71-7210-4051-a4bc-c5184bb87ae7",
  "guideImageURL": "https://im.runware.ai/image/os/a02d21/ws/3/ii/e5a9a0ba-0a05-4175-8815-fc523f9d5d4d.jpg",
  "cost": 0.0006,
  "guideImageUUID": "e5a9a0ba-0a05-4175-8815-fc523f9d5d4d",
  "inputImageUUID": "25b680f4-811d-4929-a04d-2b89706e01a8"
}
surface-normal-estimation

Pipe Organ Panorama Normal Guide

Pipe Organ Panorama Normal Guide
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@normalbae',
  inputs: {
    image: 'https://assets.runware.ai/assets/inputs/3930e218-6dec-41af-a888-c88ffd741591.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@normalbae",
            "inputs": {
                "image": "https://assets.runware.ai/assets/inputs/3930e218-6dec-41af-a888-c88ffd741591.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": "cd465cac-3cd1-4f3d-9082-6e9f8431989d",
      "model": "runware:controlnet-preprocess@normalbae",
      "inputs": {
        "image": "https://assets.runware.ai/assets/inputs/3930e218-6dec-41af-a888-c88ffd741591.jpg"
      }
    }
  ]'
runware run runware:controlnet-preprocess@normalbae \
  inputs.image=https://assets.runware.ai/assets/inputs/3930e218-6dec-41af-a888-c88ffd741591.jpg
{
  "taskType": "controlNetPreprocess",
  "taskUUID": "cd465cac-3cd1-4f3d-9082-6e9f8431989d",
  "model": "runware:controlnet-preprocess@normalbae",
  "inputs": {
    "image": "https://assets.runware.ai/assets/inputs/3930e218-6dec-41af-a888-c88ffd741591.jpg"
  }
}
Response
{
  "taskType": "imageControlNetPreProcess",
  "taskUUID": "cd465cac-3cd1-4f3d-9082-6e9f8431989d",
  "guideImageURL": "https://im.runware.ai/image/os/a07dlim3/ws/3/ii/4aa773c1-8a0e-4db1-b3fd-69153b248b59.jpg",
  "cost": 0.0013,
  "guideImageUUID": "4aa773c1-8a0e-4db1-b3fd-69153b248b59",
  "inputImageUUID": "56f906c6-eaec-4081-a46e-d15d33a68372"
}