こんにちは、パレイド技術部です。
Ollamaが1月20日付で画像生成モデルに対応したとのニュースがありました。
結論から言うと、まだ”experimental”と明記がある段階で、GUIから利用はCLI/API利用ができる方向けの実験用です。
とは言え今後の可能性を感じますので、早速試してみました。
試験段階でAPI利用者向け
Ollamaの良いところは手軽さやGUIでの管理ですが、CLIやAPIの利用が必要となるため現時点では文字通り実験的な対応と考えられます。
対応モデルは Z-Image Turbo、FLUX.2 Klein の2種類。高速生成向けと高品質寄りの2系統に分けているようです。公式の例は Z-Image Turbo を扱っているため、サイズがやや大きいですがこちらから試してみます。FLUX.2 Klein でもモデル名を変えるだけで動きます。
コマンドラインからモデルを指定してサーバーを起動するとダウンロードが始まります。もちろん事前に ollama pull してからでもOKです。
ollama run x/z-image-turbo
下記は公式API説明を参考にしたコード例です。
OpenAI 互換 API で、応答を確認するだけ公式のサンプルに少し手を加え、画像を保存できるようにして実行してみます。
from openai import OpenAI
client = OpenAI(
base_url='http://localhost:11434/v1/',
api_key='ollama', # required but ignored
)
response = client.images.generate(
model='x/z-image-turbo',
prompt='A cute robot learning to paint',
size='1024x1024',
response_format='b64_json',
)
# 公式ページのサンプルはbase64の冒頭のみ確認
# print(response.data[0].b64_json[:50] + '...')
# pngファイルとして保存するコードを追加
output_path = Path(__file__).parent / 'output.png'
image_data = base64.b64decode(response.data[0].b64_json)
output_path.write_bytes(image_data)
print(f'Image saved to {output_path}')
生成サンプル
上記のソースコードで生成したサンプルです。
OpenAI 互換の API で呼び出せるため、開発者などには便利な局面もあるでしょう。

まとめ
Ollamaの画像生成対応はまだ実験段階であり、GUIからの利用はできず、API・CLI前提の機能です。
既に SD 系や ComfyUI などをAPIで利用している場合は、無理に移行する必要はなさそうです。現時点では開発者や検証用途に限られるものの、OpenAI互換APIで扱える点は利点といえます。
対応モデルは2種類あり、迷った場合は 5.7GB と小さめの Flux2 から試してみると良いかもしれません。 (Z-Image Turbo は12GBほど)




