Gyazo API
概要
Gyazo APIではGyazoの主要な機能(アップロード、画像一覧取得等)をプログラミング経由で使用することができます。GyazoAPIではHTTPリクエストによるRESTfulなAPIを提供し、JSON形式のレスポンスを返すので、ChatGPTやPerplexityなどのAPIを触ったことがある方なら馴染みのある形式ですぐにお使い頂けます!
準備
APIを使用するには、アクセストークンが必要です。以下の手順でアクセストークンを取得してください。
- ダッシュボードに移動
- 新しいアプリケーションを作成
- アプリケーションのアクセストークンを発行(これがあなたのAPI keyになります)
HTTPリクエスト
画像のアップロード
const formData = new FormData(); formData.append('imagedata', fileInput.files[0]); fetch('https://upload.gyazo.com/api/upload', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' }, body: formData }) .then(response => response.json()) .then(data => { console.log(data); // { // "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", // "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", // "thumb_url": "https://i.gyazo.com/thumb/180/afaiefnaf.png", // "url": "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png", // "type": "png" // } });
import requests files = {'imagedata': open('/home/gyazo/greatpicture.png', 'rb')} headers = {'Authorization': 'Bearer YOUR_ACCESS_TOKEN'} response = requests.post('https://upload.gyazo.com/api/upload', files=files, headers=headers) print(response.json()) # { # "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", # "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", # "thumb_url": "https://i.gyazo.com/thumb/180/afaiefnaf.png", # "url": "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png", # "type": "png" # }
$ curl -i https://upload.gyazo.com/api/upload \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -F "imagedata=@/home/gyazo/greatpicture.png" HTTP/1.1 200 OK { "image_id" : "8980c52421e452ac3355ca3e5cfe7a0c", "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", "thumb_url" : "https://i.gyazo.com/thumb/180/afaiefnaf.png", "url" : "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png", "type": "png" }
画像をクエリ検索
const params = new URLSearchParams({ query: 'cat', page: '1', per: '10' }); fetch(`https://api.gyazo.com/api/search?${params}`, { headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' } }) .then(response => response.json()) .then(data => { console.log(data); // { // "captures": [ // { // "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", // "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", // "url": "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png" // } // ], // "number_of_captures": 1, // "query": "cat" // } });
import requests params = { 'query': 'cat', 'page': '1', 'per': '10' } headers = {'Authorization': 'Bearer YOUR_ACCESS_TOKEN'} response = requests.get('https://api.gyazo.com/api/search', params=params, headers=headers) print(response.json()) # { # "captures": [ # { # "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", # "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", # "url": "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png" # } # ], # "number_of_captures": 1, # "query": "cat" # }
$ curl -i "https://api.gyazo.com/api/search?query=cat&page=1&per=10" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" HTTP/1.1 200 OK { "captures": [ { "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", "url": "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png" } ], "number_of_captures": 1, "query": "cat" }
API Endpoint
APIのエンドポイントは以下になります。
https://api.gyazo.com https://upload.gyazo.com (Upload API)
アップロードのAPIとそれ以外のAPIでエンドポイントが異なります。
Timestamp
全てのTimestampは以下の形式です
YYYY-MM-DDTHH:MM:SSZ
Policy
違法な画像、不適切な画像をアップロードした場合や、サービスに過度の負荷をかけるような利用があった場合、そのアプリケーションを停止することがあります。