Image
Dot. Manual
Image
Dot. Manual
Back to home

FAQ

How to Change NetworksCommon Pairing IssuesTap-to-Interact Launch Issues / App Clip Unavailable

Dot.

Install Dot. AppDiagnostic ToolKnown Issues

Quote

Quote/0
Pairing Quote/0How to TapShare with Family and FriendsHow to Charge
Update DeviceReset NetworkReset DeviceChangelog

Content & Services

Content Studio
RSS
Shortcuts
Co Create
Software
CastCardDiablo II Resurrected Terror Zone & Uber Diablo Alert ToolDot Calendar - Weather Calendar for Quote/0DotCanvasDotClientDot Crypto TickerDot MateIntelligent Poetry Weather Generation SystemMindReset Dot MCP (Lakphy)Quote/0 Send DemoQuote/0 + Calendar ShortcutQuote/0 Evening SummaryQuote/0 Flash NoteQuote/0 Health ReminderQuote/0 + Holiday ShortcutQuote/0 MCP (stvlynn)Quote/0 MCP (thomaszdxsn)Quote/0 + WAY 2 Reminder ShortcutQuote/0 Yearly Progress CalendarServer Status
Hardware
IKEA SKÅDIS MountQuote/0 Carry Case HangerQuote/0 Desktop Charging Mini StandQuote/0 Desktop Stand (Andrrrrrrija)Quote/0 Desktop Stand (MindReset)Quote/0 Desktop Mini StandQuote/0 Monitor Mount (Kiiko)Quote/0 Excerpt Mount (GLB_wegoo777)Quote/0 Monitor Mount (TLL)
Developer Platform
What is an APIGet API KeyGet Device Serial NumberGet Device ListGet Device StatusSwitch to Next ContentList Device TasksControl Text ContentControl Image Content
Roadmap

Explore More Possibilities

Request New ContentJoin Our Content Studio

Security

MSA-2025-08-001MSA-2025-09-001MSA-2025-09-002MSA-2025-10-001MSA-2025-10-002MSA-2025-10-003
Responsible Disclosure Policy

More

Privacy PolicyUser AgreementContact UsAbout MindReset
Content & ServicesDeveloper Platform
Image

Control Image Content

API Migration Notice

The legacy endpoint https://dot.mindreset.tech/api/open/image will be retired soon. To reduce migration effort, requests sent to the legacy endpoint will be automatically forwarded to the new API, but this compatibility behavior may be removed in the future.

We strongly recommend completing the following updates as soon as possible:

  • Update the request URL to the new endpoint: /api/authV2/open/device/:deviceId/image
  • Send parameters according to this document (e.g. refreshNow / image / link / border / ditherType / ditherKernel / taskKey)
  • If you rely on legacy response payloads or error codes, adapt your integration to the new API responses

Quick Guide

Prerequisites

  1. Make sure you have retrieved and saved your API key in the Dot. App;
  2. Make sure you own at least one device and have obtained its device serial number;
  3. Make sure your device is connected to power;
  4. Make sure your device is connected to the network;
  5. Make sure you've added the Image API content to the device task from the Content Studio in the Dot. App.

The API rate limit is 10 requests per second. With the API, you can control device behavior and responses more flexibly.

Placeholders wrapped in ‘{{variable}}’ indicate values you must replace. Fill them with your actual values and remove the ‘{{}}’ braces.

Request Examples

POST
/api/authV2/open/device/:deviceId/image

Get your API token from Dot. App

Generated Code
1curl --request POST \
2  --url https://dot.mindreset.tech/api/authV2/open/device/{{DEVICEID}}/image \
3  --header 'Authorization: Bearer {{API_KEY}}' \
4  --header 'Content-Type: application/json' \
5  --data '{"image":"{{IMAGE}}"}'

Response Example

{
	"code": 200,
	"message": "Device Image API content switched",
	"result": {
		"message": "Device ABCD1234ABCD Image API content switched"
	}
}

Reference Usage

  1. Simple image without immediate display
curl -X POST \
	  https://dot.mindreset.tech/api/authV2/open/device/{{deviceId}}/image \
  -H 'Authorization: Bearer dot_app_UlSpzXNEXhYZIAFakHLCkMVVBLbsBIWxaRMVaJZGUOYKhDoDRZwLLvLujAIwQxbY' \
  -H 'Content-Type: application/json' \
  -d '{
    "refreshNow": false,
    "image": "{{base64-encoded PNG image data}}",
    "link": "https://dot.mindreset.tech",
    "border": 0
  }'
  1. Complex image
curl -X POST \
	  https://dot.mindreset.tech/api/authV2/open/device/{{deviceId}}/image \
  -H 'Authorization: Bearer dot_app_UlSpzXNEXhYZIAFakHLCkMVVBLbsBIWxaRMVaJZGUOYKhDoDRZwLLvLujAIwQxbY' \
  -H 'Content-Type: application/json' \
  -d '{
    "image": "{{base64-encoded PNG image data}}",
    "link": "https://dot.mindreset.tech",
    "border": 1
  }'
  1. Text image

Use common image tools (e.g., Figma, Sketch, Adobe Photoshop) to convert text to PNG, then convert it to base64 data.

curl -X POST \
	  https://dot.mindreset.tech/api/authV2/open/device/{{deviceId}}/image \
  -H 'Authorization: Bearer dot_app_UlSpzXNEXhYZIAFakHLCkMVVBLbsBIWxaRMVaJZGUOYKhDoDRZwLLvLujAIwQxbY' \
  -H 'Content-Type: application/json' \
  -d '{
    "image": "{{base64-encoded PNG image data}}",
    "link": "https://dot.mindreset.tech",
    "border": 0,
    "ditherType": "NONE"
  }'

Image Dithering

Image dithering uses specific algorithms to reduce visual noise caused by color quantization, making images appear smoother. Common algorithms include Floyd–Steinberg, Atkinson, and Sierra. On e‑ink displays, dithering can further optimize black-and-white rendering so gray-level transitions look more natural.

When using the Image API, if you do not pass the ditherType parameter, the default is the error-diffusion Floyd–Steinberg algorithm. You can also disable it or adjust the dithering type and algorithm via parameters.

Enable Dithering

Error Diffusion (default)

Error diffusion distributes each pixel’s quantization error to neighboring pixels to reduce visual noise. It handles high-contrast areas effectively, yielding rich details and smooth gray transitions. Visually, it tends to look natural with no obvious grid and smooth gradients.

curl -X POST \
	  https://dot.mindreset.tech/api/authV2/open/device/{{deviceId}}/image \
  -H 'Authorization: Bearer dot_app_UlSpzXNEXhYZIAFakHLCkMVVBLbsBIWxaRMVaJZGUOYKhDoDRZwLLvLujAIwQxbY' \
  -H 'Content-Type: application/json' \
  -d '{
    "image": "{{base64-encoded PNG image data}}",
    "link": "https://dot.mindreset.tech",
    "border": 0,
    "ditherType": "DIFFUSION"
  }'
Supported Error-Diffusion Kernels

Different error-diffusion kernels produce different visual results. Pass the algorithm via "ditherKernel": "{{dither algorithm}}".

Ordered Dithering

Ordered dithering applies a fixed, periodic threshold matrix to image pixels, unlike error diffusion which propagates the error dynamically. It helps reduce large color patches and banding, creating a visually uniform dot pattern. Due to periodicity, ordered dithered images often show a noticeable regular grid.

curl -X POST \
	  https://dot.mindreset.tech/api/authV2/open/device/{{deviceId}}/image \
  -H 'Authorization: Bearer dot_app_UlSpzXNEXhYZIAFakHLCkMVVBLbsBIWxaRMVaJZGUOYKhDoDRZwLLvLujAIwQxbY' \
  -H 'Content-Type: application/json' \
  -d '{
    "image": "{{base64-encoded PNG image data}}",
    "link": "https://dot.mindreset.tech",
    "border": 0,
    "ditherType": "ORDERED"
  }'

Disable Dithering

If you primarily display text images via the Image API, we recommend disabling dithering to achieve sharper text.

curl -X POST \
	  https://dot.mindreset.tech/api/authV2/open/device/{{deviceId}}/image \
  -H 'Authorization: Bearer dot_app_UlSpzXNEXhYZIAFakHLCkMVVBLbsBIWxaRMVaJZGUOYKhDoDRZwLLvLujAIwQxbY' \
  -H 'Content-Type: application/json' \
  -d '{
    "image": "{{base64-encoded PNG image data}}",
    "link": "https://dot.mindreset.tech",
    "border": 0,
    "ditherType": "NONE"
  }'

Troubleshooting

Endpoint

/api/authV2/open/device/:deviceId/image

Method

POST

Request Schema

Prop

Type

Whether to display the content immediately (Control display timing)

Default

true

Base64-encoded PNG image data (296px×152px) (Image to render on screen)
http/https link or URL scheme (NFC tap redirect target)
0 = white border, 1 = black border (Screen border color)

Default

0

Dither type (DIFFUSION, ORDERED, NONE) (Control dithering behavior)

Default

DIFFUSION

Dither algorithm (THRESHOLD, ATKINSON, BURKES, FLOYD_STEINBERG, SIERRA2, STUCKI, JARVIS_JUDICE_NINKE, DIFFUSION_ROW, DIFFUSION_COLUMN, DIFFUSION_2D) (Control dither algorithm)

Default

FLOYD_STEINBERG

When multiple Image API contents exist on the device, use this taskKey to specify which content to update and switch. You can retrieve it via the 'List Device Tasks' API. If omitted, the first Image API content is used.

Response Schema

Prop

Type

Status code
Description

Status Codes

codeMeaningDescription
200SuccessImage API content switched / Data updated but content not switched
400Invalid parametersMissing or invalid device ID
Invalid image format
Invalid border (must be 0 or 1)
Invalid dither type
Invalid dither algorithm
403ForbiddenYou do not have permission to operate this device
404Not foundDevice not found or not registered
Image API content not added
500Device response failureFailed to switch Image API content

Did this solve your problem?

Join our community

Control Text Content

Previous

Roadmap

Explore Dot.’s future direction and the roadmap for core feature updates.

Contents

Quick GuidePrerequisitesRequest ExamplesResponse ExampleReference UsageImage DitheringEnable DitheringError Diffusion (default)Supported Error-Diffusion KernelsOrdered DitheringDisable DitheringTroubleshootingEndpointMethodRequest SchemaResponse SchemaStatus Codes