P-Image Upscale

P-Image Upscale is an image upscaling model from Pruna that increases resolution using AI with a configurable target from 1 to 8 megapixels. It includes optional detail enhancement and realism enhancement controls for improving output quality, particularly effective on AI-generated images. It supports JPEG and PNG output formats with both synchronous and asynchronous processing.

API Reference
INTEGRATE
Complete technical specification for integration
RequestResponse
Examples4
CODE
Ready-to-use code snippets for common workflows
Pixelated Retro Diner Portrait

import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'prunaai:p-image@upscale',
settings: {
enhanceDetails: true,
realism: true
},
inputs: {
image: 'https://assets.runware.ai/assets/inputs/d8e51e60-71ae-4c86-b292-bb1a9a087202.jpg'
},
targetMegapixels: 4
})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": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": True,
"realism": True
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/d8e51e60-71ae-4c86-b292-bb1a9a087202.jpg"
},
"targetMegapixels": 4
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "upscale",
"taskUUID": "9eeb82b4-c854-4eab-a2d6-fbb96a79fc4f",
"model": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": true,
"realism": true
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/d8e51e60-71ae-4c86-b292-bb1a9a087202.jpg"
},
"targetMegapixels": 4
}
]'runware run prunaai:p-image@upscale \
settings.enhanceDetails=true \
settings.realism=true \
inputs.image=https://assets.runware.ai/assets/inputs/d8e51e60-71ae-4c86-b292-bb1a9a087202.jpg \
targetMegapixels=4{
"taskType": "upscale",
"taskUUID": "9eeb82b4-c854-4eab-a2d6-fbb96a79fc4f",
"model": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": true,
"realism": true
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/d8e51e60-71ae-4c86-b292-bb1a9a087202.jpg"
},
"targetMegapixels": 4
}{
"taskType": "imageUpscale",
"taskUUID": "9eeb82b4-c854-4eab-a2d6-fbb96a79fc4f",
"imageUUID": "e80af23c-e333-4934-a5df-6825fc16913a",
"imageURL": "https://im.runware.ai/image/os/a02d21/ws/2/ii/e80af23c-e333-4934-a5df-6825fc16913a.jpg",
"cost": 0.005,
"inputImageUUID": "8dc0e5d9-52db-4ae4-a3cf-3d3f59d3f6c2"
}Crumpled Flyer Shop Window

import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'prunaai:p-image@upscale',
settings: {
enhanceDetails: true,
realism: true
},
inputs: {
image: 'https://assets.runware.ai/assets/inputs/eb7fd6c0-1fb3-43bf-b99a-0a7266c3a680.jpg'
},
targetMegapixels: 4
})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": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": True,
"realism": True
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/eb7fd6c0-1fb3-43bf-b99a-0a7266c3a680.jpg"
},
"targetMegapixels": 4
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "upscale",
"taskUUID": "9ce756f4-f79b-4158-b209-4af309fc7ff1",
"model": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": true,
"realism": true
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/eb7fd6c0-1fb3-43bf-b99a-0a7266c3a680.jpg"
},
"targetMegapixels": 4
}
]'runware run prunaai:p-image@upscale \
settings.enhanceDetails=true \
settings.realism=true \
inputs.image=https://assets.runware.ai/assets/inputs/eb7fd6c0-1fb3-43bf-b99a-0a7266c3a680.jpg \
targetMegapixels=4{
"taskType": "upscale",
"taskUUID": "9ce756f4-f79b-4158-b209-4af309fc7ff1",
"model": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": true,
"realism": true
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/eb7fd6c0-1fb3-43bf-b99a-0a7266c3a680.jpg"
},
"targetMegapixels": 4
}{
"taskType": "imageUpscale",
"taskUUID": "9ce756f4-f79b-4158-b209-4af309fc7ff1",
"imageUUID": "cf6a91a8-906b-4a08-8ac7-d2db4b04fd3d",
"imageURL": "https://im.runware.ai/image/os/a23d05/ws/3/ii/cf6a91a8-906b-4a08-8ac7-d2db4b04fd3d.jpg",
"cost": 0.005,
"inputImageUUID": "10e42164-ef77-49cd-8516-c2cb052a6d7d"
}Porcelain Masked Violin Prodigy

import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'prunaai:p-image@upscale',
settings: {
enhanceDetails: true,
realism: true
},
inputs: {
image: 'https://assets.runware.ai/assets/inputs/54f26a61-79b3-4e6c-a469-65064293b404.jpg'
},
targetMegapixels: 6
})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": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": True,
"realism": True
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/54f26a61-79b3-4e6c-a469-65064293b404.jpg"
},
"targetMegapixels": 6
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "upscale",
"taskUUID": "28dd5224-2ec4-4581-b808-420178faaf0a",
"model": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": true,
"realism": true
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/54f26a61-79b3-4e6c-a469-65064293b404.jpg"
},
"targetMegapixels": 6
}
]'runware run prunaai:p-image@upscale \
settings.enhanceDetails=true \
settings.realism=true \
inputs.image=https://assets.runware.ai/assets/inputs/54f26a61-79b3-4e6c-a469-65064293b404.jpg \
targetMegapixels=6{
"taskType": "upscale",
"taskUUID": "28dd5224-2ec4-4581-b808-420178faaf0a",
"model": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": true,
"realism": true
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/54f26a61-79b3-4e6c-a469-65064293b404.jpg"
},
"targetMegapixels": 6
}{
"taskType": "imageUpscale",
"taskUUID": "28dd5224-2ec4-4581-b808-420178faaf0a",
"imageUUID": "3b728350-0b3c-4647-a619-f741b3b7d2d4",
"imageURL": "https://im.runware.ai/image/os/a01d21/ws/3/ii/3b728350-0b3c-4647-a619-f741b3b7d2d4.jpg",
"cost": 0.01,
"inputImageUUID": "fe60b053-52ec-43de-b3af-1f2cbca6e76f"
}Smudged Night Market Snapshot

import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'prunaai:p-image@upscale',
settings: {
enhanceDetails: true,
realism: true
},
inputs: {
image: 'https://assets.runware.ai/assets/inputs/2012ea91-a5d9-4590-ac8f-538059340901.jpg'
},
targetMegapixels: 4
})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": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": True,
"realism": True
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/2012ea91-a5d9-4590-ac8f-538059340901.jpg"
},
"targetMegapixels": 4
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "upscale",
"taskUUID": "2f50809f-8384-40b0-8e49-692f9928271d",
"model": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": true,
"realism": true
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/2012ea91-a5d9-4590-ac8f-538059340901.jpg"
},
"targetMegapixels": 4
}
]'runware run prunaai:p-image@upscale \
settings.enhanceDetails=true \
settings.realism=true \
inputs.image=https://assets.runware.ai/assets/inputs/2012ea91-a5d9-4590-ac8f-538059340901.jpg \
targetMegapixels=4{
"taskType": "upscale",
"taskUUID": "2f50809f-8384-40b0-8e49-692f9928271d",
"model": "prunaai:p-image@upscale",
"settings": {
"enhanceDetails": true,
"realism": true
},
"inputs": {
"image": "https://assets.runware.ai/assets/inputs/2012ea91-a5d9-4590-ac8f-538059340901.jpg"
},
"targetMegapixels": 4
}{
"taskType": "imageUpscale",
"taskUUID": "2f50809f-8384-40b0-8e49-692f9928271d",
"imageUUID": "6545ac4d-cf52-420c-80a7-a5f4a5cfc7a7",
"imageURL": "https://im.runware.ai/image/os/a15d18/ws/3/ii/6545ac4d-cf52-420c-80a7-a5f4a5cfc7a7.jpg",
"cost": 0.005,
"inputImageUUID": "e6f05b17-624a-4851-ad48-2e2e127beab7"
}