fix: use grok-imagine-1.0-edit model for grok2 image editing with reference images
Some checks failed
Build & Push Docker Image / build-and-push (push) Has been cancelled
Some checks failed
Build & Push Docker Image / build-and-push (push) Has been cancelled
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
resolveOpenAICompatClientConfig,
|
||||
toUploadFile,
|
||||
} from './common'
|
||||
import { getProviderKey } from '@/lib/api-config'
|
||||
|
||||
type OpenAIImageResponseFormat = 'url' | 'b64_json'
|
||||
type OpenAIImageOutputFormat = 'png' | 'jpeg' | 'webp'
|
||||
@@ -154,13 +155,13 @@ export async function generateImageViaOpenAICompat(request: OpenAICompatImageReq
|
||||
const rawSize = resolveRawSize(options)
|
||||
const size = normalizeOpenAIImageSize(rawSize)
|
||||
|
||||
// Grok2 暂不支持图片编辑接口,忽略参考图
|
||||
const providerKey = providerId.split('-')[0]
|
||||
const shouldUseReferenceImages = referenceImages.length > 0 && providerKey !== 'grok2'
|
||||
// grok2 图片编辑需使用专用 edit 模型
|
||||
const providerKey = getProviderKey(providerId)
|
||||
const editModelId = providerKey === 'grok2' ? 'grok-imagine-1.0-edit' : normalizedModelId
|
||||
|
||||
if (shouldUseReferenceImages) {
|
||||
if (referenceImages.length > 0) {
|
||||
const response = await client.images.edit({
|
||||
model: normalizedModelId,
|
||||
model: editModelId,
|
||||
prompt,
|
||||
image: await Promise.all(referenceImages.map((image, index) => toUploadFile(image, index))),
|
||||
response_format: responseFormat,
|
||||
|
||||
Reference in New Issue
Block a user