DokiDerg
DokiDerg
IImmich
Created by DokiDerg on 5/23/2025 in #help-desk-support
Machine Learning URL?
After updating to version 1.133.0, machine learning was disabled, i then enabled it, and it stopped working, i have tried the following urls (10.0.0.63 is local ip, port 6379 is redis, which google said it helps)
http://10.0.0.63:3003
http://10.0.0.63:6379
http://immich-machine-learning:3003
http://10.0.0.63:3003
http://10.0.0.63:6379
http://immich-machine-learning:3003
i then get the following error in the console
[Nest] 2945 - 05/23/2025, 12:03:23 AM ERROR [Microservices:{"id":"77033d19-5a8b-497d-bcf6-9ca92db9f0ca"}] Unable to run job handler (face-detection): Error: Machine learning request '{"facial-recognition":{"detection":{"modelName":"buffalo_l","options":{"minScore":0.4}},"recognition":{"modelName":"buffalo_l"}}}' failed for all URLs
Error: Machine learning request '{"facial-recognition":{"detection":{"modelName":"buffalo_l","options":{"minScore":0.4}},"recognition":{"modelName":"buffalo_l"}}}' failed for all URLs
at MachineLearningRepository.predict (/app/immich/server/dist/repositories/machine-learning.repository.js:98:15)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async MachineLearningRepository.detectFaces (/app/immich/server/dist/repositories/machine-learning.repository.js:107:26)
at async PersonService.handleDetectFaces (/app/immich/server/dist/services/person.service.js:232:52)
at async JobService.onJobStart (/app/immich/server/dist/services/job.service.js:166:28)
at async EventRepository.onEvent (/app/immich/server/dist/repositories/event.repository.js:126:13)
at async /app/immich/server/node_modules/bullmq/dist/cjs/classes/worker.js:526:32
at async Worker.retryIfFailed (/app/immich/server/node_modules/bullmq/dist/cjs/classes/worker.js:751:24)
[Nest] 2945 - 05/23/2025, 12:03:23 AM ERROR [Microservices:{"id":"77033d19-5a8b-497d-bcf6-9ca92db9f0ca"}] Unable to run job handler (face-detection): Error: Machine learning request '{"facial-recognition":{"detection":{"modelName":"buffalo_l","options":{"minScore":0.4}},"recognition":{"modelName":"buffalo_l"}}}' failed for all URLs
Error: Machine learning request '{"facial-recognition":{"detection":{"modelName":"buffalo_l","options":{"minScore":0.4}},"recognition":{"modelName":"buffalo_l"}}}' failed for all URLs
at MachineLearningRepository.predict (/app/immich/server/dist/repositories/machine-learning.repository.js:98:15)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async MachineLearningRepository.detectFaces (/app/immich/server/dist/repositories/machine-learning.repository.js:107:26)
at async PersonService.handleDetectFaces (/app/immich/server/dist/services/person.service.js:232:52)
at async JobService.onJobStart (/app/immich/server/dist/services/job.service.js:166:28)
at async EventRepository.onEvent (/app/immich/server/dist/repositories/event.repository.js:126:13)
at async /app/immich/server/node_modules/bullmq/dist/cjs/classes/worker.js:526:32
at async Worker.retryIfFailed (/app/immich/server/node_modules/bullmq/dist/cjs/classes/worker.js:751:24)
8 replies
IImmich
Created by DokiDerg on 5/19/2025 in #help-desk-support
Trouble when sending POST through API
I am trying to make a program to automatically sort my steam screenshots into respective folders, but am having trouble with uploading from c# currently it just returns "Field Name Missing" and 400 (bad request) in short, i double checked all the document required arguments, and have deviceAssetId, deviceId, fileCreatedAt, fileModifiedAt, isFavorite, assetData there is no errors in the console, and it seems if i change the filename for assetData to anything else, it gives an error for unsupported type, so i belive this is correct code (its sloppy because i was trying to get it to work before cleaning it) Init code
new Task(async () => {
await ImmichAPI.POSTHeaders("http://10.0.0.63:8089/api/assets?apiKey=<API KEY>", "C:\\Users\\dokid\\OneDrive\\Pictures\\Screenshots\\Screenshot 2025-05-18 210444.png", new Dictionary<string, string> {
// { "assetData", Convert.ToHexString(System.IO.File.ReadAllBytes("C:/Users/dokid/OneDrive/Pictures/1153105160697020576.webp")) },
// { "assetData", "atsrwqtr"},
{ "deviceAssetId", "web-Screenshot 2025-05-18 210444.png-1747624855719" },
{ "deviceId", "WEB" },
{ "fileCreatedAt", "2025-05-19T03:20:55.718Z" },
{ "fileModifiedAt", "2025-05-19T03:20:55.718Z" },
{ "isFavorite", "false" },
});
}).Start();
new Task(async () => {
await ImmichAPI.POSTHeaders("http://10.0.0.63:8089/api/assets?apiKey=<API KEY>", "C:\\Users\\dokid\\OneDrive\\Pictures\\Screenshots\\Screenshot 2025-05-18 210444.png", new Dictionary<string, string> {
// { "assetData", Convert.ToHexString(System.IO.File.ReadAllBytes("C:/Users/dokid/OneDrive/Pictures/1153105160697020576.webp")) },
// { "assetData", "atsrwqtr"},
{ "deviceAssetId", "web-Screenshot 2025-05-18 210444.png-1747624855719" },
{ "deviceId", "WEB" },
{ "fileCreatedAt", "2025-05-19T03:20:55.718Z" },
{ "fileModifiedAt", "2025-05-19T03:20:55.718Z" },
{ "isFavorite", "false" },
});
}).Start();
Post Code
public static async Task<string> POSTHeaders(Uri url, string path, Dictionary<string, string> postValues) {
MultipartFormDataContent content = new MultipartFormDataContent();
var fileContent = new StreamContent(File.OpenRead(path));
fileContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
content.Add(new FormUrlEncodedContent(postValues));
content.Add(fileContent, "assetData", "Screenshot 2025-05-18 210444.png");


using (HttpResponseMessage response = await client.PostAsync(
url,
content)) {
string responseString = await response.Content.ReadAsStringAsync();
Form1.Log($"{responseString}");
return responseString;
}
}
public static async Task<string> POSTHeaders(Uri url, string path, Dictionary<string, string> postValues) {
MultipartFormDataContent content = new MultipartFormDataContent();
var fileContent = new StreamContent(File.OpenRead(path));
fileContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
content.Add(new FormUrlEncodedContent(postValues));
content.Add(fileContent, "assetData", "Screenshot 2025-05-18 210444.png");


using (HttpResponseMessage response = await client.PostAsync(
url,
content)) {
string responseString = await response.Content.ReadAsStringAsync();
Form1.Log($"{responseString}");
return responseString;
}
}
36 replies
IImmich
Created by DokiDerg on 5/17/2025 in #help-desk-support
Custom Share URL
I would like, whenever i share a file, to put it in an isolated url, that does not depend on immich api, so i dont expose those calls to the public I was wondering if there was a way to copy shared files to a different directory, or some file i can parse for a custom solution, thank you
13 replies