Ana içeriğe geç
sczhou avatarı

CodeFormer API

sczhou/codeformer

Bulanık, düşük çözünürlüklü, sıkıştırılmış ya da eski yüz fotoğraflarını restore edip keskin ve ayrıntılı bir görsele dönüştürün.

iyileştirme
görsel megapikseli başına 0.0021

Model girdisi

Input

URL of the photo to restore — works best on faces that are blurry, low-resolution, compressed, scanned, or otherwise degraded.

Min: 0 - Max: 1

Balance between restoration quality and identity preservation. Lower values (toward 0) enhance more aggressively; higher values (toward 1) stay closer to the original face.

Min: 1

Output enlargement ratio. The whole image is enlarged by this factor.

Additional Settings

Customize your input with more control.

Whether detected faces should be upscaled.

Set to true only when the input is an already face-aligned crop; leave false for normal photos so faces are detected and aligned automatically.

Restore only the central face instead of every detected face.

Random seed for reproducible generation.

You need to be logged in to run this model and view results.
Log in

Model çıktısı

Output

Loading
Generated in 5.294 seconds
Logs (1 lines)

Örnek istekler

Örnekler

Example output 1Example output 2Example output 3

CodeFormer API

CodeFormer is a image-to-image AI model by sczhou. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.0021 per megapixel.

POST https://queue.modelrunner.run/sczhou/codeformer

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/sczhou/codeformer \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "aligned": false,
    "fidelity": 0.6,
    "image_url": "https://media.modelrunner.ai/8pcFUT5tnUstG7ITVWXGH.png",
    "face_upscale": true,
    "upscale_factor": 2,
    "only_center_face": false,
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/sczhou/codeformer/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/sczhou/codeformer/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("sczhou/codeformer", {
  input: {
    "aligned": false,
    "fidelity": 0.6,
    "image_url": "https://media.modelrunner.ai/8pcFUT5tnUstG7ITVWXGH.png",
    "face_upscale": true,
    "upscale_factor": 2,
    "only_center_face": false
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/sczhou/codeformer",
    headers=headers,
    json={
      "aligned": false,
      "fidelity": 0.6,
      "image_url": "https://media.modelrunner.ai/8pcFUT5tnUstG7ITVWXGH.png",
      "face_upscale": true,
      "upscale_factor": 2,
      "only_center_face": false
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

Input parameters of CodeFormer
NameTypeRequiredDescription
image_urlstring (uri)yesURL of the photo to restore — works best on faces that are blurry, low-resolution, compressed, scanned, or otherwise degraded.
fidelitynumbernoBalance between restoration quality and identity preservation. Lower values (toward 0) enhance more aggressively; higher values (toward 1) stay closer to the original face. Default: 0.5.
upscale_factornumbernoOutput enlargement ratio. The whole image is enlarged by this factor. Default: 2.
face_upscalebooleannoWhether detected faces should be upscaled. Default: true.
alignedbooleannoSet to true only when the input is an already face-aligned crop; leave false for normal photos so faces are detected and aligned automatically. Default: false.
only_center_facebooleannoRestore only the central face instead of every detected face. Default: false.
seedintegernoRandom seed for reproducible generation.

Machine-readable: OpenAPI schema · llms.txt

Use CodeFormer from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and CodeFormer becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint sczhou/codeformer.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run sczhou/codeformer on ModelRunner to generate image”. MCP setup guide.

Model Detayları

Model Detayları

CodeFormer bir blind face restoration modelidir: bulanık, düşük çözünürlüklü, yoğun biçimde sıkıştırılmış, taranmış ya da yıllanmış tek bir bozulmuş portre verirsiniz; model temiz ve ayrıntılı yüz hatlarını yeniden oluşturur, isterseniz tüm görseli de upscale eder. Prompt gerektirmez: restorasyonun ne kadar agresif olacağını tek bir fidelity ayarıyla, görselin ne kadar büyütüleceğini de upscale çarpanıyla belirlersiniz. Asıl farkı gerçek dünyadaki hasarlara karşı dayanıklılığıdır: girdi ciddi biçimde bozulmuş olsa bile sadece gürültüyü keskinleştirmek yerine gözleri, cildi ve yüz yapısını inandırıcı biçimde geri kazandırır.

## En uygun olduğu işler - Yüz içeren eski, taranmış ya da solmuş aile ve arşiv fotoğraflarını temizlemek - Düşük çözünürlüklü, sıkıştırılmış ya da ekran görüntüsü kalitesindeki görsellerde yüzleri restore etmek - Bulanık ya da odağı kaçmış portreleri baskıya göndermeden ya da paylaşmadan önce netleştirmek - Yüzlerin dağılmış ve şekilsiz göründüğü yapay zekâ üretimi ya da aşırı küçültülmüş görselleri iyileştirmek - Prompt gerektirmeyen, çok az ince ayar isteyen, tek girdiyle hızlı bir restorasyon

## Şu durumlarda başka bir model seçin - Görselde yüz yoksa ve yalnızca genel bir çözünürlük artışı istiyorsanız — özel bir görsel upscaling modeli kullanın - Bir metin prompt’undan içeriği düzenlemek, sahneyi değiştirmek ya da fotoğrafı yeniden tarzlamak istiyorsanız — bir görsel düzenleme ya da image-to-image üretim modeli kullanın - Arka planı kaldırmanız ya da bir özneyi dekupe etmeniz gerekiyorsa — bir arka plan kaldırma modeli kullanın - Görselin derinlik haritasını ya da başka bir yapısal haritasını istiyorsanız — bir görsel ön işleme modeli kullanın

## İpuçları - `fidelity`, kimliği korumakla iyileştirme arasında denge kurar: düşük değerler (0’a doğru) daha agresif ve daha temiz bir restorasyona yönelir; yüksek değerler (1’e doğru) orijinal yüze daha yakın kalır. Varsayılan 0.5 dengeli bir başlangıç noktasıdır — restore edilen yüz kişiye benzemekten çıkıyorsa yükseltin, sonuç hâlâ bozuk görünüyorsa düşürün. - `upscale_factor` tüm çıktıyı büyütür (varsayılan 2). Çıktı alanı, dolayısıyla da maliyet, bu çarpanın karesiyle orantılı artar; bu yüzden çözünürlük ihtiyacınızı karşılayan en küçük çarpanı kullanın. - Görselde birden fazla yüz varsa ama yalnızca ana özneyle ilgileniyorsanız `only_center_face` değerini true yapın; algılanan her yüzü restore etmek için false bırakın. - `aligned` değerini yalnızca yüzü önceden hizalanmış bir kırpım verdiğinizde true yapın; normal fotoğraflarda false bırakın ki model yüzleri kendisi algılayıp hizalasın.

## Sınırlamalar - Aşırı küçük ya da tamamen kapanmış yüzler, gerçek kişiyle örtüşmeyen uydurma ayrıntılarla yeniden oluşturulabilir. - Ağır biçimde bozulmuş girdilerde çok yüksek bir fidelity değeri artefakt bırakabilir; çok düşük bir değer ise görüntüyü aşırı yumuşatabilir ya da kimliği değiştirebilir.

ModelRunner JavaScript client ile çalıştırmak için: ```js import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("sczhou/codeformer", { input: { image_url: "https://media.modelrunner.ai/8pcFUT5tnUstG7ITVWXGH.png", fidelity: 0.5, upscale_factor: 2, }, }); ```