Gyazo MCP Server

by yuiseki
Verified
# Gyazo API Specification ## Overview This document provides the specifications for the Gyazo API, including the Image, Search, and User APIs. ## Image API ### List The API request to get a list of a user’s saved images. **URL** ``` GET https://api.gyazo.com/api/images ``` **Parameters** | Parameter | Type | Required | Default | Description | |--------------|---------|----------|---------|------------------------------------| | access_token | string | ✓ | - | User's access token | | page | integer | - | 1 | Page number for pagination | | per_page | integer | - | 20 | Number of results per page (1-100) | **Response Header** ``` X-Total-Count: 350 X-Current-Page: 1 X-Per-Page: 20 X-User-Type: lite ``` **Response Body** ```json [ { "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", "thumb_url": "https://i.gyazo.com/thumb/afaiefnaf.png", "url": "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png", "type": "png", "created_at": "2014-05-21 14:23:10+0900", "metadata": { "app": null, "title": null, "url": null, "desc": "" }, "ocr": { "locale": "en", "description": "Gyazo\n" } } ] ``` ### Image The API request to get an image. **URL** ``` GET https://api.gyazo.com/api/images/:image_id ``` **Parameters** | Parameter | Type | Required | Default | Description | |--------------|--------|----------|---------|---------------------| | access_token | string | ✓ | - | User's access token | | image_id | string | ✓ | - | | **Response Body** ```json { "image_id": "27a9dca98bcf5cafc0bd84a80ee9c0a1", "permalink_url": null, "thumb_url": null, "type": "png", "created_at": "2018-07-24T07:33:24.771Z", "metadata": { "app": null, "title": null, "url": null, "desc": "" }, "ocr": { "locale": "en", "description": "Gyazo\n" } } ``` ### Upload The API request to upload an image. **URL** ``` POST https://upload.gyazo.com/api/upload ``` **Parameters** | Parameter | Type | Required | Default | Description | |--------------------|--------|----------|---------|-----------------------------------------------------------------------------| | access_token | string | ✓ | - | User's access token | | imagedata | binary | ✓ | - | Specify `filename` directive in Content-Disposition part in multipart/form-data. | | access_policy | string | - | anyone | Access policy for images (`anyone` or `only_me`) | | metadata_is_public | string | - | - | Boolean value about publish URL and title metadata | | referer_url | string | - | - | Referer site URL | | app | string | - | - | Application name | | title | string | - | - | Site title | | desc | string | - | - | Comment | | created_at | float | - | - | Image's created time, Unix time | | collection_id | string | - | - | Add image to collection | **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" } ``` ### Delete The API request to delete an image. **URL** ``` DELETE https://api.gyazo.com/api/images/:image_id ``` **Parameters** | Parameter | Type | Required | Default | Description | |-----------|--------|----------|---------|------------------------------| | image_id | string | ✓ | - | You can only delete your own images | **Response** ```json { "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", "type": "png" } ``` ### oEmbed This API provides the image's raw URL. **URL** ``` GET https://api.gyazo.com/api/oembed?url=:image_url ``` **Parameters** | Parameter | Type | Required | Default | Description | |-----------|--------|----------|---------|--------------------------------------------------| | url | string | ✓ | - | URL of Gyazo image page (http://gyazo.com/XXXXXXXXXXXX) | **Response** ```json { "version":"1.0", "type":"photo", "provider_name":"Gyazo", "provider_url":"https://gyazo.com", "url":"http://i.gyazo.com/8c9d9c8ec14dec4631b6ec77d1c85450_1.png", "width":617, "height":597 } ``` ## Search API ### Overview The API request to search through a user's saved images. **URL** ``` GET https://api.gyazo.com/api/search ``` **Parameters** | Parameter | Type | Required | Default | Description | |--------------|---------|----------|---------|------------------------------------| | access_token | string | ✓ | - | User's access token | | query | string | ✓ | - | Search query (max length: 200 characters) | | page | integer | - | 1 | Page number for pagination | | per | integer | - | 20 | Number of results per page (max: 100) | **Response** The API returns an array of image objects with the following structure: ```json [ { "image_id": "xxxxx", "permalink_url": "https://gyazo.com/xxxxx", "url": "https://i.gyazo.com/xxxxx.png", "access_policy": null, "type": "png", "thumb_url": "https://thumb.gyazo.com/thumb/200/xxxxx.jpg", "created_at": "2025-02-14T12:04:26+0000", "alt_text": "" } ] ``` ### Response Fields - `image_id`: Unique identifier for the image - `permalink_url`: Permanent URL to view the image on Gyazo - `url`: Direct URL to the image file - `access_policy`: Access policy settings for the image - `type`: Image file format - `thumb_url`: URL of the image thumbnail - `created_at`: Timestamp of when the image was created (UTC) - `alt_text`: Alternative text for the image ## User API ### Overview This API provides the information of the authenticated user. **URL** ``` GET https://api.gyazo.com/api/users/me ``` **Authentication required** **Response** ```json { "user": { "email": "gyazo@example.com", "name": "Gyazo Username", "profile_image": "https://thumb.gyazo.com/thumb/200/placeholder.jpg", "uid": "1234567890abcdefghijklmn" } } ``` ## Important Notes - The Search API is only available for Ninja users - The search query must be less than 200 characters - The maximum number of results per page is 100