# `ReqLLM.Providers.OpenAI.ImagesAPI`
[🔗](https://github.com/agentjido/req_llm/blob/main/lib/req_llm/providers/openai/images_api.ex#L1)

OpenAI Images API driver.

A thin `ReqLLM.Providers.OpenAI.API` adapter over
`ReqLLM.Images.OpenAICompatible`, which owns the encoding rules shared with
every provider that speaks the same wire format. Option translation,
validation, and body construction live there; this module only binds them to
the OpenAI provider's endpoint driver contract.

Streaming (`ReqLLM.stream_image/3`) is served by `attach_stream/4`, which
posts to `/images/generations` with `"stream": true`, and by
`decode_stream_event/2`, which delegates to the shared SSE decoder.

# `attach_stream`

Builds the Finch request for a streaming `/images/generations` call.

Expects options already processed by `ReqLLM.Provider.Options.process_stream!/5`
for the `:image` operation and already checked by
`ReqLLM.Images.OpenAICompatible.validate_stream_options/1`; the provider's
`attach_stream/4` does both before delegating here.

# `edit_image_form_multipart`

Builds the Req `:form_multipart` keyword list for the `/images/edits` endpoint.

This function keeps the existing OpenAI adapter API while the shared codec
owns the implementation.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
