Assistants api - invalid image

I am using assistants api and I upload some image files to get comment on them. Everything works fine. But until the image is no more accessible…

If the image is deleted from storage, or the image is on a http url and that url is no more accesible, all runs on that thread get “invalid image” error.

I want to be able to continue the thread even if the images are deleted. Is this not possible ?
I am looking for an “ignore” parameter that can be set on the “thread” or “run”

I’d really appreciate if someone has an answer…


Is there a reason the images are being deleted?

Might be as intended?

Images are mostly generated by Dall-E (generations api) , and they expire , become unavailable.
But this is not the issue. Image can be anything on web and can expire/get deleted. Why the thread becomes broken ?

The messages with image attachment are still going to refer to URL or image ID, still contained in the thread.

Should it not throw an error if you cannot supply the full contents of the message again for context and continued answering?

You can track the messages that have image contents that were damaged by deleting, and then delete those user messages by ID out of the thread as part of the reason why you are deleting. That should allow continuation.

yes that seems a solution. But I would prefer to have a “ignore deleted” option on the thread. Current api implementation is a pretty dumb one. We can only understand that it is broken after trying to send a message.

so there is no good solution to this ? Only doable solution seems to be deleting the messages with deleted images. But that’s a really unnecessary effort.

The good solution to almost any Assistants problem topic in this forum is not to use Assistants. Even my last half-assed solution offered can be better realized by writing one’s own code.

well, I don’t understand. If I won’t use assistants, what do you propose ? completions endpoint ?
But I need an assistant to follow up with a user for the purpose of my app.

Append your previous conversations and pass it as context for LLM to follow-up and gather context from history.

which endpoint do you mean by that ?