upres-cli について
upres-cli は upres.ai のコマンドラインツールと SDK で、画像、動画、音声の修復ジョブを送信します。MCP インターフェースではモデルやクレジットの照会、ジョブの送信と状態確認もできます。
主な機能
- 01画像の拡大と修復
- 02動画の拡大と処理
- 03音声のノイズ除去
- 04画像のバッチ処理
- 05Node.js と Python の SDK
- 06モデル、クレジット、ジョブ状態の照会
活用シーン
- 01商品画像の一括拡大
- 02スキャン画像や古い写真の修復
- 03AI 生成動画の処理
- 04音声のノイズ除去
MCP 対応
モデル一覧、クレジット確認、画像・動画の拡大ジョブ送信、音声強化、ジョブ状態取得の MCP ツールを提供します。CLI から MCP サーバーとして設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
upres-cli
upres.ai の公式 CLI と SDK です。画像、動画、音声を復元できます。1 つの API、14 個の公開エイリアス、最大 8K の出力に対応しています。
$ upres upscale photo.jpg --model flare --scale 4
Submitting job... model=flare
Job created: 550e8400-e29b-41d4-a716-446655440000 (status: pending)
Waiting for result.......
Downloading to photo_upscaled.jpg... done.
Result: photo_upscaled.jpg
開発の背景
- Topaz は年間 200 ドルで、デスクトップ専用、API も自動化機能もありません
- Upscayl は単発の処理には最適ですが、一括エクスポートや CI パイプラインには対応できません
- その他の SaaS アップスケーラーは、出力に透かしを入れるか、解像度を 2K に制限するか、月額プランなしで画像ごとに料金を請求します
upres.ai では、使いやすい REST API、14 個の公開エイリアス、バッチ処理に加え、Creator 向けローンチ特別プランで月額 9 ドルからの予測しやすい料金を提供しています。
クイックスタート
Node.js
npx upres-cli upscale photo.jpg
または、グローバルにインストールします。
npm install -g upres-cli
upres upscale photo.jpg --model lumen --scale 8 --output photo_8k.jpg
Python
pip install upres-ai
upres upscale photo.jpg --model flare --scale 4
認証
- upres.ai で登録します(無料 — 月 5 回までアップスケールできます)
- upres.ai/account/api-keys にアクセスします
- キーを生成します — キーが表示されるのは一度だけです
export UPRES_API_KEY=upres_yourkey
または、キーを永続的に保存します。
mkdir -p ~/.config/upres
echo '{"apiKey":"upres_yourkey"}' > ~/.config/upres/config.json
キーの解決順序:--api-key フラグ → UPRES_API_KEY 環境変数 → ~/.config/upres/config.json
コマンド
# Upscale a single image (local file or URL)
upres upscale photo.jpg --model flare --scale 4
upres upscale photo.jpg --model lumen --scale 8 --output out.jpg
upres upscale https://example.com/photo.jpg --model prism
# Upscale video (AI-generated video from Sora, Kling, Runway etc.)
upres upscale clip.mp4 --model motion --scale 4
# Batch upscale a folder
upres batch ./photos/ --model flare --output ./upscaled/ --concurrency 5
# List available models
upres models
# List recent jobs
upres jobs --limit 20 --status completed
# Account / quota info
upres account
Node.js SDK
import { UpresClient } from "upres-cli";
const client = new UpresClient(); // reads UPRES_API_KEY from env
// Upscale a local file
const job = await client.createJobFromFile("photo.jpg", {
model: "flare",
scale: 4,
});
// Wait for completion
const completed = await client.waitForJob(job.id);
// Download result
await client.downloadResult(completed, "photo_4k.jpg");
console.log("Done:", completed.result_url);
50 MB を超えるファイルは、TUS 再開可能プロトコルを使って自動的にアップロードされます。
Python SDK
from upres import UpresClient
with UpresClient() as client: # reads UPRES_API_KEY from env
job = client.create_job_from_file(
"photo.jpg",
model="flare",
scale=4,
)
completed = client.wait_for_job(job["id"])
client.download_result(completed, "photo_4k.jpg")
print("Done:", completed["result_url"])
Python SDK は httpx を使用しており、非同期処理に対応し、重い依存関係はありません。
使用例
| 例 | 説明 |
|---|---|
| batch-upscale-folder.js | 同時実行数を設定して、フォルダー内のすべての画像をアップスケールします |
| restore-photo-folder.py | Lumen で古い写真やスキャンした写真を復元します |
| ecommerce-pipeline.js | 商品画像のパイプライン:未加工の写真 → 4K → 公開可能な状態 |
| lightroom-export-hook.md | 後処理フックで Lightroom のエクスポートを自動アップスケールします |
| figma-plugin-stub.md | Figma プラグインの連携ガイド |
モデル
画像、動画、音声に対応する 14 個の公開エイリアスがあります。それぞれ、細部を生成するのか、元ファイルをそのまま保つのかが事前にわかります。拡大しないエイリアスでは、--scale は無視されます。
| エイリアス | 種類 | おすすめの用途 |
|---|---|---|
flare | 画像 | 日常の写真。最速のデフォルト |
prism | 画像 | テキスト、ロゴ、商品写真 — 輪郭を正確に保ちます |
lumen | 画像 | 印刷向けの最大限のディテール復元、最大 8 倍 |
mirage | 画像 | 新たなディテールを生成 — アートやメイン画像向け |
hush | 画像 | 元画像に忠実なノイズ除去。サイズは変わりません |
keen | 画像 | ブレ除去とシャープ化。サイズは変わりません |
visage | 画像 | 顔のみ。拡大しません |
atelier | 画像 | Hush を適用し、ポートレートの場合は Visage、その後 Lumen を適用します |
motion | 動画 | AI 動画をすばやく 4K に仕上げます |
motion-x | 動画 | 映画やコマーシャル向けの映画品質 |
still | 動画 | 時間方向のノイズ除去。解像度は変わりません |
cadence | 動画 | フレーム補間。拡大しません |
atelier-x | 動画 | Still を適用し、その後 Motion X を適用します |
voice | 音声 | 48 kHz の音声ノイズ除去。音楽には対応していません |
全モデルの一覧:upres.ai/models · ライブ仕様:api.upres.ai/v1/openapi.json
料金プラン
| プラン | 料金 | 内容 | API | 透かし |
|---|---|---|---|---|
| Free | $0 | 月5回のアップスケール | — | あり |
| Creator | $9/mo | 静止画50枚+月20分の4K動画 | — | なし |
| Studio | $39/mo | 静止画250枚+月90分の4K動画 | あり | なし |
Studio プランでは、完全な API、バッチ処理、出力時の透かしなしが利用できます。
プランを比較 → · Topaz との比較 → · Upscayl との比較 →
MCP(Claude、Cursor、Hermes)
claude mcp add upres -- npx -y github:auroracapital/upres-cli mcp
または、claude_desktop_config.json / Cursor で設定します。
{
"mcpServers": {
"upres": {
"command": "npx",
"args": ["-y", "github:auroracapital/upres-cli", "mcp"],
"env": { "UPRES_API_KEY": "upres_yourkey" }
}
}
}
ツール:upres_list_models、upres_get_credits、upres_upscale_image、upres_upscale_video、upres_enhance_audio、upres_get_job。
オープンソースプロジェクト向け無料プラン
API を利用してオープンソースのプロジェクトを開発している場合は、リポジトリへのリンクを添えて [email protected] までメールでお問い合わせください。条件を満たす OSS プロジェクトには、月500回の操作を提供しています。
エラー処理
SDK は以下のエラーを自動的に処理します。
| ステータス | 動作 |
|---|---|
401 | API キーのエラーとキー管理ページへのリンクを表示して終了します |
402 | クォータ超過と料金ページへのリンクを表示して終了します |
429 | レート制限メッセージ(60 req/min)を表示して終了します |
5xx | メッセージを含む UpresError をスローします |
Python では、AuthError、QuotaExceededError、または UpresError を発生させます。
コントリビューション
CONTRIBUTING.md をご覧ください。テストは次のコマンドで実行できます。
# Node
npm test
# Python
pip install -e ".[dev]"
pytest tests/test_client.py -v
ライセンス
MIT — LICENSE をご覧ください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。