> For the complete documentation index, see [llms.txt](https://docs.neuron-ai.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.neuron-ai.dev/neuron-v3-zh/ti-gong-fang/image.md).

# 图像

通常，纯 AI 音频服务不支持像工具和对话这样的完整代理能力。因此，你可以在代理工作流中将这些组件作为独立服务使用，或者将它们用于 Agent 内部，因为它们实现了 `AIProviderInterface` 接口。在这种情况下，你可以受益于诸如中间件和护栏之类的代理工作流功能。

这些组件可用于根据文本提示自动生成图像。

## Nano Banana（Google）

Google Gemini API 提供完整的多模态体验，因此你只需在 Gemini 提供者中更改默认模型，即可根据提示词生成图像。Neuron 还支持借助其多模态消息层和聊天历史管理，通过多轮对话对生成的图像进行迭代。

只需在 Google Gemini 提供者中配置其中一个图像生成模型：

```php
namespace App\Neuron;

use NeuronAI\Agent\Agent;
use NeuronAI\Chat\Messages\UserMessage;
use NeuronAI\Providers\AIProviderInterface;
use NeuronAI\Providers\Gemini\Gemini;

class MyAgent extends Agent
{
    protected function provider(): AIProviderInterface
    {
        return new Gemini(
            key: 'GEMINI_API_KEY',
            model: 'gemini-2.5-flash-image',
        );
    }
}

// 运行 Agent
$message = MyAgent::make()
    ->chat(new UserMessage("生成一张举办最佳 PHP 大会的场地图片！"))
    ->getMessage();

// 获取消息中的图像部分（它是 base64 格式）
$imageBase64 = $message->getImage()->getContent();

// 保存图像
file_put_contents(__DIR__.'/assets/cover.png', base64_decode($imageBase64));
```

## OpenAI 图像

### 作为 Agent 提供器

```php
namespace App\Neuron;

use NeuronAI\Agent\Agent;
use NeuronAI\Chat\Messages\UserMessage;
use NeuronAI\Providers\AIProviderInterface;
use NeuronAI\Providers\OpenAI\Image\OpenAIImage;

class MyAgent extends Agent
{
    protected function provider(): AIProviderInterface
    {
        return new OpenAIImage(
            key: 'OPENAI_API_KEY',
            model: 'gpt-image-1.5',
        );
    }
}

// 运行 Agent
$message = MyAgent::make()
    ->chat(new UserMessage("生成一张举办最佳 PHP 大会的场地图片！"))
    ->getMessage();

// 获取消息中的图像部分（它是 base64 格式）
$imageBase64 = $message->getImage()->getContent();

// 保存图像
file_put_contents(__DIR__.'/assets/cover.png', base64_decode($imageBase64));
```

### 直接使用

```php
use NeuronAI\Providers\OpenAI\Image\OpenAIImage;

$provider = new OpenAIImage(
    key: 'OPENAI_API_KEY',
    model: 'gpt-image-1.5',
);

// 从文本生成语音
$message = $provider->chat(new UserMessage("生成一张举办最佳 PHP 大会的场地图片！"));

// 获取消息中的图像部分（它是 base64 格式）
$imageBase64 = $message->getImage()->getContent();

// 保存图像
file_put_contents(__DIR__.'/assets/cover.png', base64_decode($imageBase64));
```

## ZAI 图像

### 作为代理提供者

```php
namespace App\Neuron;

use NeuronAI\Agent\Agent;
use NeuronAI\Chat\Messages\UserMessage;
use NeuronAI\Providers\AIProviderInterface;
use NeuronAI\Providers\ZAI\Image\ZAIImage;

class MyAgent extends Agent
{
    protected function provider(): AIProviderInterface
    {
        return new ZAIImage(
            key: 'ZAI_API_KEY',
            model: 'glm-image',
        );
    }
}

// 运行 Agent
$message = MyAgent::make()
    ->chat(new UserMessage("生成一张举办最佳 PHP 大会的场地图片！"))
    ->getMessage();

// 打印图像的 URL
echo $message->getImage()->getContent();

```

### 直接使用

```php
use NeuronAI\Providers\ZAI\Image\ZAIImage;

$provider = new ZAIImage(
    key: 'ZAI_API_KEY',
    model: 'glm-image',
);

// 从文本生成语音
$message = $provider->chat(new UserMessage("生成一张举办最佳 PHP 大会的场地图片！"));

// 打印图像的 URL
echo $message->getImage()->getContent();
```
