Upload an image into a project from a public http(s) URL or a file attached in the chat, fetched server-side. Pass url for a public http(s) link, or file for a file the person attached in the chat (a host that supports file inputs, such as ChatGPT, fills file with a temporary download link itself; do not ask the person for a URL to something they have attached). The target is the URL you pass and nothing else: Morpha's Worker fetches it with a plain HTTP GET, following redirects, and identifies itself as "Morpha/1.0 (+https://morphareels.ai; hello@morphareels.ai)". No third-party API is involved. The worker downloads the .png/.jpg/.jpeg/.gif/.webp/.svg, stores it in the project's asset bucket under a new id, and returns { filename, name, sizeBytes, contentType, width, height }: pass the returned filename (the file's id, never shown to a person) to add_image_layer, and name is what people see; width and height are the picture's own pixel size (null when its header did not say), so size the layer from them or pass add_image_layer one side and let it keep the aspect. This tool does not search for images: pass a direct image file URL, such as one the person has given you, and respect the licence its source states. A url must be a direct, publicly-fetchable http(s) link (not an auth-walled page). SVGs are rejected if they carry a , an inline event handler, a , a javascript: URL, or an external resource reference — supply a static, self-contained SVG. Buffered in Worker memory, so capped at 16 MB. A file on the person's own disk is uploaded in the editor. Reference: https://morphareels.ai/docs/tools#uploadimageurl-file-name