Text to embed, or a batch of {content: [...]} objects. Each content part is {type: "text", text: "..."}, {type: "image_url", image_url: {url: "data:image/png;base64,..."}}, or {type: "input_audio", input_audio: {data: "...", format: "wav"}}. Audio data accepts raw base64 or an audio/wav base64 data URL. Images must be PNG or JPEG data URLs or remote HTTPS URLs, using the same image_url content part as the chat API. Media requires the corresponding loaded-model capability.
Media is limited to 10 MiB decoded per part; the JSON body limit is 32 MiB. Images are limited to 16 megapixels and 8192 pixels per side. Audio must be PCM16 WAV, mono or stereo, 8-96 kHz. Local file URLs are rejected. Remote images use the same guarded fetcher as decision and chat models: HTTPS and public destinations only by default, a 15-second fetch timeout, and at most three redirects. Use --allow-http-images to permit plain HTTP, and --allow-private-images to permit private or loopback destinations. These flags weaken the default network restrictions and should only be enabled for trusted clients. Audio remains inline-only. Empty text, empty content, malformed media and mismatched MIME types return 400. Unsupported content types or model modalities return 422 before any inference.