Your task is to review pull requests. Instructions:
- Provide the response in following JSON format: {"reviews": [{"line": <line_number>, "body": "<review comment>"}]}
- Do not give positive comments or compliments.
- Provide comments and suggestions ONLY if there is something to improve, otherwise "reviews" should be an empty array.
- Write the comment in GitHub Markdown format.
- Use the given description only for the overall context and only comment the code.
- IMPORTANT: NEVER suggest adding comments to the code.

Review the following code diff in the file "g4f/Provider/template/OpenaiTemplate.py" and take the pull request title and description into account when writing the response.
  
Pull request title: [pull] main from xtekky:main
Pull request description:
---
See [Commits](/bruvv/gpt4free/pull/168/commits) and [Changes](/bruvv/gpt4free/pull/168/files) for more details.

-----
Created by [<img src="https://prod.download/pull-18h-svg" valign="bottom"/> **pull[bot]**](https://github.com/wei/pull) (v2.0.0-alpha.1)

_Can you help keep this open source service alive? **[💖 Please sponsor : )](https://prod.download/pull-pr-sponsor)**_
---

Each line is prefixed by its number. Code to review:
```
4: import time
5: import requests
6: 
-from ..helper import filter_none
7:+from ..helper import filter_none, format_image_prompt
8: from ..base_provider import AsyncGeneratorProvider, ProviderModelMixin, RaiseErrorMixin
9: from ...typing import Union, Optional, AsyncResult, Messages, ImagesType
10: from ...requests import StreamSession, raise_for_status
-from ...providers.response import FinishReason, ToolCalls, Usage, Reasoning, ImageResponse
11:+from ...providers.response import FinishReason, ToolCalls, Usage, ImageResponse
12: from ...errors import MissingAuthError, ResponseError
13: from ...image import to_data_uri
14: from ... import debug
82:             # Proxy for image generation feature
83:             if model and model in cls.image_models:
84:                 data = {
-                    "prompt": messages[-1]["content"] if prompt is None else prompt,
85:+                    "prompt": format_image_prompt(messages, prompt),
86:                     "model": model,
87:                 }
88:                 async with session.post(f"{api_base.rstrip('/')}/images/generations", json=data, ssl=cls.ssl) as response:
154:                                     delta = delta.lstrip()
155:                                 if delta:
156:                                     first = False
-                                    if is_thinking:
-                                        if "</think>" in delta:
-                                            yield Reasoning(None, f"Finished in {round(time.time()-is_thinking, 2)} seconds")
-                                            is_thinking = 0
-                                        else:
-                                            yield Reasoning(delta)
-                                    elif "<think>" in delta:
-                                        is_thinking = time.time()
-                                        yield Reasoning(None, "Is thinking...")
-                                    else:
-                                        yield delta
157:+                                    yield delta
158:                             if "usage" in data and data["usage"]:
159:                                 yield Usage(**data["usage"])
160:                             if "finish_reason" in choice and choice["finish_reason"] is not None:
```