fix(grok): 修复媒体模型请求负载中缺少enable_nsfw和aspect_ratio字段的问题
移除图像模型toolOverrides中冗余的disableNsfwFilter设置,统一在构建请求负载时处理NSFW逻辑。对于非视频的媒体模型,现在会正确添加enable_nsfw字段,并支持从请求体传递aspect_ratio参数。
This commit is contained in:
parent
3f3c9e1a45
commit
4715acf5db
2 changed files with 12 additions and 4 deletions
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
||||||
2.10.8
|
2.10.8.1
|
||||||
|
|
|
||||||
|
|
@ -378,7 +378,7 @@ export class GrokApiService {
|
||||||
const isMediaModel = modelLower.includes('imagine') || modelLower.includes('video') || modelLower.includes('edit');
|
const isMediaModel = modelLower.includes('imagine') || modelLower.includes('video') || modelLower.includes('edit');
|
||||||
const isNsfw = isGrokNsfwModel(rawModelId) || requestBody.nsfw === true || requestBody.disableNsfwFilter === true;
|
const isNsfw = isGrokNsfwModel(rawModelId) || requestBody.nsfw === true || requestBody.disableNsfwFilter === true;
|
||||||
|
|
||||||
return {
|
const payload = {
|
||||||
"deviceEnvInfo": { "darkModeEnabled": false, "devicePixelRatio": 2, "screenWidth": 2056, "screenHeight": 1329, "viewportWidth": 2056, "viewportHeight": 1083 },
|
"deviceEnvInfo": { "darkModeEnabled": false, "devicePixelRatio": 2, "screenWidth": 2056, "screenHeight": 1329, "viewportWidth": 2056, "viewportHeight": 1083 },
|
||||||
"disableMemory": false, "disableNsfwFilter": isNsfw, "disableSearch": false, "disableSelfHarmShortCircuit": false, "disableTextFollowUps": false,
|
"disableMemory": false, "disableNsfwFilter": isNsfw, "disableSearch": false, "disableSelfHarmShortCircuit": false, "disableTextFollowUps": false,
|
||||||
"enableImageGeneration": isMediaModel, "enableImageStreaming": isMediaModel, "enableSideBySide": true,
|
"enableImageGeneration": isMediaModel, "enableImageStreaming": isMediaModel, "enableSideBySide": true,
|
||||||
|
|
@ -387,6 +387,15 @@ export class GrokApiService {
|
||||||
"responseMetadata": { "requestModelDetails": { "modelId": mapping.name }, "modelConfigOverride": modelConfigOverride },
|
"responseMetadata": { "requestModelDetails": { "modelId": mapping.name }, "modelConfigOverride": modelConfigOverride },
|
||||||
"returnImageBytes": false, "returnRawGrokInXaiRequest": false, "sendFinalMetadata": true, "temporary": true, "toolOverrides": toolOverrides,
|
"returnImageBytes": false, "returnRawGrokInXaiRequest": false, "sendFinalMetadata": true, "temporary": true, "toolOverrides": toolOverrides,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (isMediaModel && !modelLower.includes('video')) {
|
||||||
|
payload.enable_nsfw = isNsfw;
|
||||||
|
if (requestBody.aspect_ratio || requestBody.aspectRatio) {
|
||||||
|
payload.aspect_ratio = requestBody.aspect_ratio || requestBody.aspectRatio;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return payload;
|
||||||
}
|
}
|
||||||
|
|
||||||
async generateContent(model, requestBody) {
|
async generateContent(model, requestBody) {
|
||||||
|
|
@ -545,8 +554,7 @@ export class GrokApiService {
|
||||||
requestBody.toolOverrides = { ...requestBody.toolOverrides, videoGen: true };
|
requestBody.toolOverrides = { ...requestBody.toolOverrides, videoGen: true };
|
||||||
}
|
}
|
||||||
} else if (isImageModel || isImageEditModel) {
|
} else if (isImageModel || isImageEditModel) {
|
||||||
const isNsfw = isGrokNsfwModel(rawModel) || requestBody.nsfw === true || requestBody.disableNsfwFilter === true;
|
requestBody.toolOverrides = { ...requestBody.toolOverrides, imageGen: true };
|
||||||
requestBody.toolOverrides = { ...requestBody.toolOverrides, imageGen: isNsfw ? { disableNsfwFilter: true } : true };
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let fileAttachments = requestBody.fileAttachments || [];
|
let fileAttachments = requestBody.fileAttachments || [];
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue