LightCraft for your agent

Use LightCraft from your own agent. Inspect a photo and develop a copy with exposure, contrast and saturation adjustments. Supported input: DNG · JPEG · PNG · WebP.

Use LightCraft in your agent’s chat

  1. Connect once. Follow the MCP setup instructions to add all 13 toolsets to your agent.
  2. Provide the file. Give your agent a path it can read, or attach the file if your client supports uploads. The agent needs file access and HTTP transfer tools.
  3. Describe the task. In your agent’s chat, say which file to use, what to do and what result you want. Your agent calls the connected tool and returns the information or output file.

What to ask your agent

After connecting, replace the example filename with your own file and send this in your agent’s chat:

Brighten portrait.jpg by half a stop and give me a WebP with a long edge up to 1600 pixels.

No special command or required brand phrase. If your agent chooses another method, ask it to use the connected EasyRunCraft tools. Review the result before continuing.

Supported operations

Use editor_capabilities with editor: "light" to check supported operations. Pass the selected operation to process_light.

inspect
Read the photo’s format, dimensions and develop settings.
develop
Adjust exposure from −5 to 5 EV, contrast or saturation from −100 to 100, then export JPEG, PNG or WebP. Set long_edge from 64 to 3072 pixels.

Files, limits and results

Your assistant uses create_upload and sends the bytes to the upload URL with HTTP PUT. It then calls process_light with the uploaded file ID and a new request_id. Reuse the request ID only to retry the same request.

Each input and output file can be up to 20 MB for accounts without a subscription and Starter, or 100 MB on Creator and Studio. See plan file limits. Each account can have two active jobs and each native command has a 45-second limit. Developing supports images up to 40 megapixels. The output may be smaller than the requested maximum long edge.

Poll get_job at most once per second. Inspection data is in result; downloadable outputs are in file. Edits create a private copy. Open the LightCraft editor.

File storage and follow-up edits

MCP files are temporarily stored on EasyRunCraft servers for processing. Original uploads expire 4 hours after their upload request is created; outputs expire 4 hours after their processing task is created. Expired files cannot be accessed and are deleted automatically while the service is running. If the service is stopped, cleanup resumes on restart. Account and billing records are retained separately from file contents. Ask your agent to delete a file earlier when you no longer need it; other file versions are kept until deleted or expired.

Your agent receives a file_id and an expiry time. Before expiry, it can reuse the original ID or use an output file_id to continue from the latest edit without uploading again. Reusing an ID does not extend that file’s expiry. After expiry, upload your saved copy again. The agent manages these references; you do not need to enter them manually.

Uploads return file_id and file_expires_at. Completed outputs return file_id and expires_at; both expiry fields are Unix timestamps in milliseconds. The delete_at field gives the same deadline as an ISO date and time. Use a new request_id for a new edit, or the same request ID to retry the same task.

To remove a file sooner, ask your agent to call delete_file with that version’s file_id. Deletion has no separate credit charge. Other versions remain independent; a file in an active task must be released by finishing or cancelling that task first.

Upload and download links are valid for up to 10 minutes and stop working when the file expires. Your agent can call get_job for a fresh download link while the output is still available. Anyone holding a valid signed link can use it until it expires.

Tool-call example for agents and developers

Your agent handles the tool calls. For a direct integration, the arguments to process_light look like this:

{
  "file_id": "<uploaded file ID>",
  "request_id": "<new request ID>",
  "operation": {
    "type": "develop",
    "exposure": 0.5,
    "format": "webp",
    "long_edge": 1600
  }
}

Unsupported requests and feedback

Unsupported operation IDs return UNSUPPORTED_OPERATION. A supported operation can still fail on a particular file. Check the job's error before retrying.

Tell us what you wanted to do and what the assistant reported. You can include the task ID. Keep private files, signed links and access tokens out of the message.

Email LightCraft feedback