開発者向け・無料API

無料の画像ホスティングAPI

アプリ、ボット、スクリプトから画像をアップロードできます。1回のリクエストで直接リンク、HTML、BBCode、Markdownが返されます。

APIキーを取得

認証

ダッシュボード → 設定 → APIキーでキーを作成し、すべてのリクエストに付けて送信します:

ヘッダー
Authorization: Bearer YOUR_API_KEY

キーはサーバー側で管理してください。キーを知っている人は誰でも、あなたのアカウントに画像をアップロードしたり、削除したりできます。

画像をアップロード

POST /api/v1/upload

フィールド説明
image画像ファイル(multipart)、最大4 MB
url代わりに取得する公開画像のURL、最大32 MB
name任意のタイトル。画像ページで使用されます
expiresIn任意の自動削除:1h (1時間), 1d (1日), 1w (1週間), 1m (1か月), 6m (6か月)
curl:ファイルをアップロード
curl -X POST https://imgsharehub.com/api/v1/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "[email protected]" \
  -F "name=Login error"
curl:URLからアップロード
curl -X POST https://imgsharehub.com/api/v1/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/photo.jpg", "expiresIn": "1w"}'
Node.js
import { readFile } from "node:fs/promises";

const form = new FormData();
form.append("image", new Blob([await readFile("photo.jpg")]), "photo.jpg");

const res = await fetch("https://imgsharehub.com/api/v1/upload", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.IMGSHAREHUB_KEY}` },
  body: form,
});
const { data } = await res.json();
console.log(data.direct_url);
Python
import os, requests

res = requests.post(
    "https://imgsharehub.com/api/v1/upload",
    headers={"Authorization": f"Bearer {os.environ['IMGSHAREHUB_KEY']}"},
    files={"image": open("photo.jpg", "rb")},
)
print(res.json()["data"]["direct_url"])

レスポンス(201)

JSON
{
  "success": true,
  "data": {
    "id": "a1b2c3",
    "url": "https://imgsharehub.com/a1b2c3",
    "direct_url": "https://imgsharehub.com/i/a1b2c3.webp",
    "html": "<a href=\"https://imgsharehub.com/a1b2c3\" target=\"_blank\"><img src=\"https://imgsharehub.com/i/a1b2c3.webp\" alt=\"Image hosted on ImgShareHub\" /></a>",
    "bbcode": "[url=https://imgsharehub.com/a1b2c3][img]https://imgsharehub.com/i/a1b2c3.webp[/img][/url]",
    "markdown": "[![Image](https://imgsharehub.com/i/a1b2c3.webp)](https://imgsharehub.com/a1b2c3)",
    "width": 1920,
    "height": 1080,
    "size": 284512,
    "private": false,
    "expires_at": null
  }
}

画像の取得・削除

キーのアカウントが所有する画像に対して使えます。GETではcreated_atとviewsも返されます。

取得
curl https://imgsharehub.com/api/v1/images/a1b2c3 \
  -H "Authorization: Bearer YOUR_API_KEY"
削除
curl -X DELETE https://imgsharehub.com/api/v1/images/a1b2c3 \
  -H "Authorization: Bearer YOUR_API_KEY"

制限とエラー

各キーでは1時間あたり100枚の画像アップロードと、その他のリクエストを1時間あたり1,000回まで行えます。すべてのレスポンスにX-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Resetヘッダーが含まれます。エラー時は{"success": false, "error": "..."}を返します。

ステータス意味
400画像がない、対応していないファイル、ファイルサイズが大きすぎる、またはURLを取得できない
401APIキーがない、不明、または無効化されている
404画像が見つからない、またはキーのアカウントの画像ではない
429レート制限に達しました。X-RateLimit-Resetヘッダーを確認してください
500サーバー側で問題が発生しました。しばらくしてから再試行してください

コード不要の方法

APIに関する質問

ImgShareHub APIは無料ですか?

はい。アカウント設定からキーを最大5個まで作成できます。各キーで1時間あたり100枚の画像をアップロードできます。

ファイルサイズの上限は?

リクエストで直接送信するファイルは最大4 MBです。32 MBまでの大きな画像は、公開画像のURLを送信すればImgShareHubがダウンロードします。

APIでアップロードした画像はどこに表示されますか?

キーを所有するアカウントのダッシュボードに、Webサイトでアップロードした画像と一緒に表示されます。

アップロードした画像を自動で削除できますか?

はい。expiresInに次のいずれかを指定してください:1h (1時間), 1d (1日), 1w (1週間), 1m (1か月), 6m (6か月)。有効期限が切れた画像はすぐに表示されなくなります。