画像を拡大
このエンドポイントは画像を受け取り、より大きなピクセル寸法へ再サンプリングします。小さいファイルを、より大きなサイズ向けに作られたレイアウトに収めたいときのための機能です。細部を作り直すアップスケーラーではなく、品質の良い通常の拡大です。元画像になかった情報を足すことはないため、拡大した写真はそのサイズで撮影したものより甘く見えます。現在はご利用いただけず、ジョブも受け付けていません。理由は下記のとおりで、ここに表示するエンドポイントと料金は、再開する場合に用いるものです。
このタスクは現在ご利用いただけないため、購入できません。料金は一切発生しません。
API仕様を見る通常の拡大にできることとできないこと
画像を拡大するとは再サンプリングすることです。既存のピクセルをより大きなキャンバスに広げ、隙間を補間で埋めます。小さい画像を必要なサイズに届かせるにはこれで十分ですが、補間では元が記録していない情報を足すことはできません。倍率が上がるほど、細い輪郭は甘くなり、小さな文字はにじみ、質感は平坦になります。4倍拡大は2倍拡大よりこれが顕著です。失われた細部を「復元する」とうたうツールは、より重いGPU依存のモデルを指しており、このエンドポイントはそれを実行しません。
この機能が今ご利用いただけない理由
細部を本当に作り直す拡大器には、ニューラルの超解像モデルが必要で、それらを妥当なコストで動かすにはGPUが要ります。このエンドポイントの基盤はCPUのみを提供するため、CPUでの再サンプリングにできる以上を約束しない、正直な版のこのツールは、まだ作り直しの途中です。それまではジョブを受け付けず、実行できないタスクに対して課金は発生しません。
通常の拡大でも役立つ場面
細部を足さなくても、より大きなサイズへの再サンプリングには実用的な用途があります。テンプレートの最小ピクセル寸法を満たす、小さな図版を決まった物理サイズで印刷する、寸法がまちまちの画像群を一つの解像度にそろえる、といった場面です。いずれも価値はサイズの変更にあり、新たな精細さにあるわけではありません。結果は元画像を大きな縮尺で見たものになり、多くのレイアウトや印刷の作業ではそれがまさに必要なものです。
対応形式と動作の想定
入力には一般的なラスター形式を受け付け、出力形式はお選びいただけます。再開時には非同期で動作します。画像と目標倍率を送信するとtask_idが返り、拡大したファイルが完了と同時に署名付きリンクで届きます。混在したカタログを共通の最小サイズにそろえるなど、拡大がより大きな処理の一段階である場合に便利です。
活用例
テンプレートの最小サイズを満たす
出品テンプレートが最小ピクセルサイズを要求し、より小さい元画像を拡大して合わせます。結果は鮮明になるのではなく甘くなることを前提とした使い方です。
固定サイズでの印刷
小さなロゴや図版を、印刷レイアウトが所定の物理サイズで想定するピクセル寸法まで拡大します。
混在した画像群をそろえる
サイズがまちまちの画像の一群を、レイアウト前に一つの共通解像度へ再サンプリングします。細部を足すとはうたいません。
より大きな枠を埋める
小さなアバターを拡大し、より大きな枠で使い回します。甘い結果でも許容できる場合の用途です。
よくある質問
apiで画像を拡大するにはどうすればよいですか?
この機能はまだご利用いただけません。再開時には、元画像と目標倍率(2倍または4倍)を付けて /image/upscale にPOSTすると、task_idと、Webhookまたは署名付きリンクで拡大画像を受け取れます。
2倍と4倍の違いは何ですか?
2倍は幅と高さを2倍に、4倍は4倍にします。通常の拡大では細部を足せないため、倍率が高いほど結果は甘く見えます。
ぼやけた写真は鮮明になりますか?
いいえ。通常の拡大は画像をより大きなサイズへ再サンプリングするだけで、記録されていなかった細部は復元できません。ぼやけた、あるいは強く圧縮された元画像は甘いままで、大きくはなっても鮮明にはなりません。
画像拡大apiに無料枠はありますか?
無料枠はありません。無料枠は悪用され、全体を遅くします。ご利用はForHosting KITのプリペイド残高で行います。$10.00からチャージでき(有効期限はありません)、各リクエストは表示価格で課金されるため、残高がない状態での呼び出しはHTTP 402を返します。サブスクリプションはなく、トークンや架空のクレジットもなく、失敗したタスクは課金されません。
画像の拡大にはいくらかかりますか?
1リクエストあたり$0.061に画像1枚ごと$0.0041が加算され、課金されるのは完了したタスクのみです。
画像拡大apiはもう公開されていますか?
いいえ。CPUの再サンプリングでは出せない細部を約束しないよう作り直している間、一時的に取り下げています。ここに表示するエンドポイントと料金は、再開する場合に用いるものです。
どの画像形式を拡大できますか?
入力には一般的なラスター形式を受け付け、拡大結果の出力形式はお選びいただけます。
大量の画像を一度に拡大できますか?
はい。このエンドポイントをバッチ処理APIと組み合わせれば、多数の画像を1回の呼び出しで拡大でき、それぞれ個別に課金されます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
One authenticated POST creates the task; the result comes back by webhook or a signed link. This capability is currently available through the API, not as an interactive Web tool.
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/image/upscale \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://example.com/photo.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/upscale", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://example.com/photo.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/upscale",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://example.com/photo.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/upscale", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://example.com/photo.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://example.com/photo.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/upscale", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"image": "https://example.com/photo.jpg"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.upscale",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_mb | 15 |
max_megapixels | 12 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
501 | coming_soon | この機能は近日公開予定で、まだ利用できません。 |