
An image edit model specialized for Omniverse synthetic to photographic solder-light style captured at NVIDIA PCB inspection stations
Follow the steps below to download and run the NVIDIA NIM inference microservice for this model on your infrastructure of choice.
Export your personal credentials as environment variables:
export NGC_API_KEY=<PASTE_API_KEY_HERE>
Login to NVIDIA NGC so that you can pull the NIM container:
echo "$NGC_API_KEY" | docker login nvcr.io --username '$oauthtoken' --password-stdin
Pull and run the NIM with the command below.
# Create the cache directory on the host machine.
export LOCAL_NIM_CACHE=~/.cache/nim
mkdir -p "$LOCAL_NIM_CACHE"
chmod 777 $LOCAL_NIM_CACHE
docker run -it --rm --name=nim-server \
--runtime=nvidia --gpus='"device=0"' --shm-size=16GB \
-e NIM_MODEL_VERSION=qwen-image-edit-nvpcb-ovsl2sl \
-e NGC_API_KEY=$NGC_API_KEY \
-p 8000:8000 \
-v "$LOCAL_NIM_CACHE:/opt/nim/.cache/" \
nvcr.io/nim/qwen/qwen-image-edit:latest
When you run the preceding command, the container downloads the model, initializes a NIM inference pipeline, and performs a pipeline warm up.
A pipeline warm up typically requires up to three minutes. The warm up is complete when the container logs show Pipeline warmup: start/done.
invoke_url="http://localhost:8000/v1/infer"
input_image_path="input.png"
curl https://raw.githubusercontent.com/NVIDIA/physical-ai-data-factory/refs/heads/main/docs/workflows/physical-ai-defect-image-generation/media/paidf-computex26-media/component-0201_LARGE_H040.png > $input_image_path
image_b64=$(base64 -w 0 $input_image_path)
echo '{
"prompt": "Render this PCB component crop in the style of an NVPCB raked-solder-light photograph: dark reddish board with bright orange-red and blue specular highlights on the solder pads, photorealistic textures.",
"negative_prompt": " ",
"image": "data:image/jpeg;base64,'${image_b64}'",
"steps": 30,
"cfg_scale": 4.0,
"seed": 42
}' > payload.json
output_image_path="result.jpg"
response=$(curl -X POST $invoke_url \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d @payload.json )
response_body=$(echo "$response" | awk '/{/,EOF-1')
echo $response_body | jq .artifacts[0].base64 | tr -d '"' | base64 --decode > $output_image_path
For more details on getting started with this NIM including configuring using parameters, visit the Visual GenAI NIM docs.