As far as I'm aware, you need to have a material assigned, but you can change the image shader on that material. We do it here via scripting, specifically for elections. Each candidate has a photo on a drive in a specific location, saved as their last name as a .png. We then just use a script to grab their last name and add it to a filepath that will pull the picture and assign it to the shader.
dim pictag as xpTextObject
dim filepath as String
dim pic as xpBaseObject
dim picmat as xpMaterial
dim picshad as xpBaseShader
dim i as Integer
for i = 1 to 2
Self.GetObjectByName("Last " & i, pictag)
filepath="D:/!CURRENT/ELECTIONS/HEADSHOTS/" & pictag.Text & ".png" 'sets the filepath
Self.GetObjectByName("Pic " & i, pic) 'gets the quad object
pic.GetMaterial(0, picmat) 'gets the quad's material
picmat.GetShader(0, picshad) 'gets the quad's material's shader
picshad.SetFileName(filepath) 'sets the shader's filepath to the above filepath
next i#XPression