You've already forked Nano-Banana-AI-Image-Editor
新增 图片审查错误提示
This commit is contained in:
@@ -139,9 +139,9 @@ export class GeminiService {
|
|||||||
|
|
||||||
// 准备请求配置,包括abortSignal
|
// 准备请求配置,包括abortSignal
|
||||||
const generateContentParams: {
|
const generateContentParams: {
|
||||||
model: string;
|
model: string
|
||||||
contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }>;
|
contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }>
|
||||||
config?: { httpOptions: { abortSignal: AbortSignal } };
|
config?: { httpOptions: { abortSignal: AbortSignal } }
|
||||||
} = {
|
} = {
|
||||||
model: 'gemini-2.5-flash-image-preview',
|
model: 'gemini-2.5-flash-image-preview',
|
||||||
contents,
|
contents,
|
||||||
@@ -151,8 +151,8 @@ export class GeminiService {
|
|||||||
if (request.abortSignal) {
|
if (request.abortSignal) {
|
||||||
generateContentParams.config = {
|
generateContentParams.config = {
|
||||||
httpOptions: {
|
httpOptions: {
|
||||||
abortSignal: request.abortSignal
|
abortSignal: request.abortSignal,
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ export class GeminiService {
|
|||||||
if (candidate.finishReason === 'PROHIBITED_CONTENT') {
|
if (candidate.finishReason === 'PROHIBITED_CONTENT') {
|
||||||
throw new Error('内容被禁止:您的请求包含不允许的内容。请尝试其他提示。')
|
throw new Error('内容被禁止:您的请求包含不允许的内容。请尝试其他提示。')
|
||||||
}
|
}
|
||||||
if (candidate.finishReason === 'IMAGE_SAFETY') {
|
if (candidate.finishReason === 'IMAGE_SAFETY' || candidate.finishReason === 'IMAGE_OTHER') {
|
||||||
throw new Error('图像安全检查失败:请求的图像内容可能不安全。请尝试调整提示词。')
|
throw new Error('图像安全检查失败:请求的图像内容可能不安全。请尝试调整提示词。')
|
||||||
}
|
}
|
||||||
// 检查finishReason为STOP但没有inlineData的情况
|
// 检查finishReason为STOP但没有inlineData的情况
|
||||||
@@ -378,9 +378,9 @@ export class GeminiService {
|
|||||||
|
|
||||||
// 准备请求配置,包括abortSignal
|
// 准备请求配置,包括abortSignal
|
||||||
const generateContentParams: {
|
const generateContentParams: {
|
||||||
model: string;
|
model: string
|
||||||
contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }>;
|
contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }>
|
||||||
config?: { httpOptions: { abortSignal: AbortSignal } };
|
config?: { httpOptions: { abortSignal: AbortSignal } }
|
||||||
} = {
|
} = {
|
||||||
model: 'gemini-2.5-flash-image-preview',
|
model: 'gemini-2.5-flash-image-preview',
|
||||||
contents,
|
contents,
|
||||||
@@ -390,8 +390,8 @@ export class GeminiService {
|
|||||||
if (request.abortSignal) {
|
if (request.abortSignal) {
|
||||||
generateContentParams.config = {
|
generateContentParams.config = {
|
||||||
httpOptions: {
|
httpOptions: {
|
||||||
abortSignal: request.abortSignal
|
abortSignal: request.abortSignal,
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -403,7 +403,7 @@ export class GeminiService {
|
|||||||
if (candidate.finishReason === 'PROHIBITED_CONTENT') {
|
if (candidate.finishReason === 'PROHIBITED_CONTENT') {
|
||||||
throw new Error('内容被禁止:您的请求包含不允许的内容。请尝试其他提示。')
|
throw new Error('内容被禁止:您的请求包含不允许的内容。请尝试其他提示。')
|
||||||
}
|
}
|
||||||
if (candidate.finishReason === 'IMAGE_SAFETY') {
|
if (candidate.finishReason === 'IMAGE_SAFETY' || candidate.finishReason === 'IMAGE_OTHER') {
|
||||||
throw new Error('图像安全检查失败:请求的图像内容可能不安全。请尝试调整提示词。')
|
throw new Error('图像安全检查失败:请求的图像内容可能不安全。请尝试调整提示词。')
|
||||||
}
|
}
|
||||||
// 检查finishReason为STOP但没有inlineData的情况
|
// 检查finishReason为STOP但没有inlineData的情况
|
||||||
@@ -547,9 +547,9 @@ export class GeminiService {
|
|||||||
|
|
||||||
// 准备请求配置,包括abortSignal
|
// 准备请求配置,包括abortSignal
|
||||||
const generateContentParams: {
|
const generateContentParams: {
|
||||||
model: string;
|
model: string
|
||||||
contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }>;
|
contents: Array<{ text: string } | { inlineData: { mimeType: string; data: string } }>
|
||||||
config?: { httpOptions: { abortSignal: AbortSignal } };
|
config?: { httpOptions: { abortSignal: AbortSignal } }
|
||||||
} = {
|
} = {
|
||||||
model: 'gemini-2.5-flash-image-preview',
|
model: 'gemini-2.5-flash-image-preview',
|
||||||
contents: prompt,
|
contents: prompt,
|
||||||
@@ -559,8 +559,8 @@ export class GeminiService {
|
|||||||
if (request.abortSignal) {
|
if (request.abortSignal) {
|
||||||
generateContentParams.config = {
|
generateContentParams.config = {
|
||||||
httpOptions: {
|
httpOptions: {
|
||||||
abortSignal: request.abortSignal
|
abortSignal: request.abortSignal,
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -572,7 +572,7 @@ export class GeminiService {
|
|||||||
if (candidate.finishReason === 'PROHIBITED_CONTENT') {
|
if (candidate.finishReason === 'PROHIBITED_CONTENT') {
|
||||||
throw new Error('内容被禁止:您的请求包含不允许的内容。请尝试其他提示。')
|
throw new Error('内容被禁止:您的请求包含不允许的内容。请尝试其他提示。')
|
||||||
}
|
}
|
||||||
if (candidate.finishReason === 'IMAGE_SAFETY') {
|
if (candidate.finishReason === 'IMAGE_SAFETY' || candidate.finishReason === 'IMAGE_OTHER') {
|
||||||
throw new Error('图像安全检查失败:请求的图像内容可能不安全。请尝试调整提示词。')
|
throw new Error('图像安全检查失败:请求的图像内容可能不安全。请尝试调整提示词。')
|
||||||
}
|
}
|
||||||
// 检查finishReason为STOP但没有inlineData的情况
|
// 检查finishReason为STOP但没有inlineData的情况
|
||||||
|
|||||||
Reference in New Issue
Block a user