YOLOv8n Hand
YOLOv8n Hand is a lightweight image masking model for detecting hands in realistic 2D imagery and returning black-and-white masks for each detection. It is useful for automated hand-focused inpainting, hand detail enhancement, and batch masking workflows.

API Reference
INTEGRATE
Complete technical specification for integration
RequestResponse
Examples4
CODE
Ready-to-use code snippets for common workflows
Bicycle Repair Workbench Hands

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:35@3',
settings: {
confidence: 0.45,
maxDetections: 2,
maskPadding: 14,
maskBlur: 6
},
inputs: {
image: 'https://assets.runware.ai/assets/inputs/3fa019dd-0990-403f-9790-65a1d8cb3d60.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:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 6
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/3fa019dd-0990-403f-9790-65a1d8cb3d60.jpg"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "imageMasking",
"taskUUID": "721ca6d5-78c9-4c58-957d-e5b565a4a4d5",
"model": "runware:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 6
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/3fa019dd-0990-403f-9790-65a1d8cb3d60.jpg"
}
}
]'runware run runware:35@3 \
settings.confidence=0.45 \
settings.maxDetections=2 \
settings.maskPadding=14 \
settings.maskBlur=6 \
inputs.image=https://assets.runware.ai/assets/inputs/3fa019dd-0990-403f-9790-65a1d8cb3d60.jpg{
"taskType": "imageMasking",
"taskUUID": "721ca6d5-78c9-4c58-957d-e5b565a4a4d5",
"model": "runware:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 6
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/3fa019dd-0990-403f-9790-65a1d8cb3d60.jpg"
}
}{
"taskType": "imageMasking",
"taskUUID": "721ca6d5-78c9-4c58-957d-e5b565a4a4d5",
"maskImageURL": "https://im.runware.ai/image/os/a01d21/ws/4/ii/59e8fc80-83d1-4a52-be68-1852aa8228d0.jpg",
"detections": [
{
"x_min": 207,
"y_min": 272,
"x_max": 530,
"y_max": 513
},
{
"x_min": 419,
"y_min": 274,
"x_max": 620,
"y_max": 488
}
],
"cost": 0.0006,
"maskImageUUID": "59e8fc80-83d1-4a52-be68-1852aa8228d0"
}Dumpling Counter Hand Detection

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:35@3',
settings: {
confidence: 0.45,
maxDetections: 2,
maskPadding: 14,
maskBlur: 6
},
inputs: {
image: 'https://assets.runware.ai/assets/inputs/a816c7fd-60c9-46a6-bc2d-6766ca139410.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:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 6
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/a816c7fd-60c9-46a6-bc2d-6766ca139410.jpg"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "imageMasking",
"taskUUID": "cf50ee05-c494-4c9d-a956-cb3a53b2d986",
"model": "runware:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 6
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/a816c7fd-60c9-46a6-bc2d-6766ca139410.jpg"
}
}
]'runware run runware:35@3 \
settings.confidence=0.45 \
settings.maxDetections=2 \
settings.maskPadding=14 \
settings.maskBlur=6 \
inputs.image=https://assets.runware.ai/assets/inputs/a816c7fd-60c9-46a6-bc2d-6766ca139410.jpg{
"taskType": "imageMasking",
"taskUUID": "cf50ee05-c494-4c9d-a956-cb3a53b2d986",
"model": "runware:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 6
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/a816c7fd-60c9-46a6-bc2d-6766ca139410.jpg"
}
}{
"taskType": "imageMasking",
"taskUUID": "cf50ee05-c494-4c9d-a956-cb3a53b2d986",
"maskImageURL": "https://im.runware.ai/image/os/a07dlim3/ws/4/ii/afbe5f41-728b-4eba-97c2-c8ae91d4d7d9.jpg",
"detections": [
{
"x_min": 238,
"y_min": 204,
"x_max": 516,
"y_max": 477
},
{
"x_min": 480,
"y_min": 210,
"x_max": 699,
"y_max": 457
}
],
"cost": 0.0006,
"maskImageUUID": "afbe5f41-728b-4eba-97c2-c8ae91d4d7d9"
}Pottery Studio Hand Masking

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:35@3',
settings: {
confidence: 0.45,
maxDetections: 2,
maskPadding: 14,
maskBlur: 5
},
inputs: {
image: 'https://assets.runware.ai/assets/inputs/6695bd4f-e9c0-4cf9-b101-0802973be93a.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:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 5
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/6695bd4f-e9c0-4cf9-b101-0802973be93a.jpg"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "imageMasking",
"taskUUID": "7dd5cb6d-f2b2-4031-810b-cc6d5a0c5b18",
"model": "runware:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 5
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/6695bd4f-e9c0-4cf9-b101-0802973be93a.jpg"
}
}
]'runware run runware:35@3 \
settings.confidence=0.45 \
settings.maxDetections=2 \
settings.maskPadding=14 \
settings.maskBlur=5 \
inputs.image=https://assets.runware.ai/assets/inputs/6695bd4f-e9c0-4cf9-b101-0802973be93a.jpg{
"taskType": "imageMasking",
"taskUUID": "7dd5cb6d-f2b2-4031-810b-cc6d5a0c5b18",
"model": "runware:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 5
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/6695bd4f-e9c0-4cf9-b101-0802973be93a.jpg"
}
}{
"taskType": "imageMasking",
"taskUUID": "7dd5cb6d-f2b2-4031-810b-cc6d5a0c5b18",
"maskImageURL": "https://im.runware.ai/image/os/a10dlim3/ws/4/ii/2c3643c5-c686-4f68-93aa-61683b61771d.jpg",
"detections": [
{
"x_min": 261,
"y_min": 320,
"x_max": 546,
"y_max": 535
},
{
"x_min": 415,
"y_min": 304,
"x_max": 600,
"y_max": 519
}
],
"cost": 0.0006,
"maskImageUUID": "2c3643c5-c686-4f68-93aa-61683b61771d"
}Ballet Shoe Fitting Hands

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:35@3',
settings: {
confidence: 0.45,
maxDetections: 2,
maskPadding: 14,
maskBlur: 6
},
inputs: {
image: 'https://assets.runware.ai/assets/inputs/9f2b2e5a-990d-4e01-bdab-85ebf4a44bab.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:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 6
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/9f2b2e5a-990d-4e01-bdab-85ebf4a44bab.jpg"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "imageMasking",
"taskUUID": "04c7707e-edc7-49c5-a07e-1ed2b3414f23",
"model": "runware:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 6
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/9f2b2e5a-990d-4e01-bdab-85ebf4a44bab.jpg"
}
}
]'runware run runware:35@3 \
settings.confidence=0.45 \
settings.maxDetections=2 \
settings.maskPadding=14 \
settings.maskBlur=6 \
inputs.image=https://assets.runware.ai/assets/inputs/9f2b2e5a-990d-4e01-bdab-85ebf4a44bab.jpg{
"taskType": "imageMasking",
"taskUUID": "04c7707e-edc7-49c5-a07e-1ed2b3414f23",
"model": "runware:35@3",
"settings": {
"confidence": 0.45,
"maxDetections": 2,
"maskPadding": 14,
"maskBlur": 6
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/9f2b2e5a-990d-4e01-bdab-85ebf4a44bab.jpg"
}
}{
"taskType": "imageMasking",
"taskUUID": "04c7707e-edc7-49c5-a07e-1ed2b3414f23",
"maskImageURL": "https://im.runware.ai/image/os/a02d21/ws/4/ii/56bc7c3e-e878-4483-8a93-e4126459e920.jpg",
"detections": [
{
"x_min": 382,
"y_min": 265,
"x_max": 591,
"y_max": 466
},
{
"x_min": 582,
"y_min": 274,
"x_max": 827,
"y_max": 464
}
],
"cost": 0.0006,
"maskImageUUID": "56bc7c3e-e878-4483-8a93-e4126459e920"
}