4.x
This commit is contained in:
parent
c0b0a0a3bc
commit
1d278d7c65
@ -505,121 +505,3 @@ export function image4Options_0302(
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function image4Options(
|
|
||||||
model,
|
|
||||||
DRAFT_VERSION,
|
|
||||||
componentId,
|
|
||||||
prompt,
|
|
||||||
sampleStrength,
|
|
||||||
height,
|
|
||||||
width,
|
|
||||||
negativePrompt = '',
|
|
||||||
resolutionType = "2k",
|
|
||||||
generateCount = 4
|
|
||||||
){
|
|
||||||
const min_version = "3.0.2"
|
|
||||||
const version = "3.3.7"
|
|
||||||
const submit_id = util.uuid()
|
|
||||||
return {
|
|
||||||
params: {
|
|
||||||
da_version:version,
|
|
||||||
web_component_open_flag:1,
|
|
||||||
web_version:"7.5.0",
|
|
||||||
aigc_features:"app_lip_sync",
|
|
||||||
msToken:"",
|
|
||||||
a_bogus:"",
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
extend: {
|
|
||||||
root_model: model,
|
|
||||||
},
|
|
||||||
submit_id: submit_id,
|
|
||||||
metrics_extra: JSON.stringify({
|
|
||||||
promptSource: "custom",
|
|
||||||
generateCount: generateCount,
|
|
||||||
enterFrom: "click",
|
|
||||||
sceneOptions:JSON.stringify([
|
|
||||||
{
|
|
||||||
"type": "image",
|
|
||||||
"scene": "ImageBasicGenerate",
|
|
||||||
"modelReqKey": model,
|
|
||||||
"resolutionType": resolutionType,
|
|
||||||
"abilityList": [],
|
|
||||||
"benefitCount": 4,
|
|
||||||
"reportParams": {
|
|
||||||
"enterSource": "generate",
|
|
||||||
"vipSource": "generate",
|
|
||||||
"extraVipFunctionKey": model+"-"+resolutionType,
|
|
||||||
"useVipFunctionDetailsReporterHoc": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
isBoxSelect: false,
|
|
||||||
isCutout: false,
|
|
||||||
generateId: submit_id,
|
|
||||||
isRegenerate: false
|
|
||||||
}),
|
|
||||||
draft_content: JSON.stringify({
|
|
||||||
type: "draft",
|
|
||||||
id: util.uuid(),
|
|
||||||
min_version: min_version,
|
|
||||||
is_from_tsn: true,
|
|
||||||
version: version,
|
|
||||||
main_component_id: componentId,
|
|
||||||
component_list: [
|
|
||||||
{
|
|
||||||
type: "image_base_component",
|
|
||||||
id: componentId,
|
|
||||||
min_version: min_version,
|
|
||||||
generate_type: "generate",
|
|
||||||
aigc_mode: "workbench",
|
|
||||||
metadata: {
|
|
||||||
"type": "",
|
|
||||||
"id": util.uuid(),
|
|
||||||
"created_platform": 3,
|
|
||||||
"created_platform_version": "",
|
|
||||||
"created_time_in_ms": Math.floor(Date.now()/1000),
|
|
||||||
"created_did": ""
|
|
||||||
},
|
|
||||||
abilities: {
|
|
||||||
type: "",
|
|
||||||
id: util.uuid(),
|
|
||||||
generate: {
|
|
||||||
type: "",
|
|
||||||
id: util.uuid(),
|
|
||||||
core_param: {
|
|
||||||
type: "",
|
|
||||||
id: util.uuid(),
|
|
||||||
model,
|
|
||||||
prompt,
|
|
||||||
negative_prompt: negativePrompt,
|
|
||||||
seed: Math.floor(Math.random() * 100000000) + 2500000000,
|
|
||||||
sample_strength: sampleStrength,
|
|
||||||
image_ratio: 5,
|
|
||||||
large_image_info: {
|
|
||||||
type: "",
|
|
||||||
id: util.uuid(),
|
|
||||||
height,
|
|
||||||
width,
|
|
||||||
resolution_type: resolutionType,
|
|
||||||
},
|
|
||||||
intelligent_ratio: false
|
|
||||||
},
|
|
||||||
},
|
|
||||||
gen_option: {
|
|
||||||
"type": "",
|
|
||||||
"id": util.uuid(),
|
|
||||||
"gen_count": 4,
|
|
||||||
"generate_all": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}),
|
|
||||||
http_common_info: {
|
|
||||||
aid: Number(DEFAULT_ASSISTANT_ID),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -3,7 +3,7 @@ import _ from "lodash";
|
|||||||
import APIException from "@/lib/exceptions/APIException.ts";
|
import APIException from "@/lib/exceptions/APIException.ts";
|
||||||
import EX from "@/api/consts/exceptions.ts";
|
import EX from "@/api/consts/exceptions.ts";
|
||||||
import util from "@/lib/util.ts";
|
import util from "@/lib/util.ts";
|
||||||
import { getCredit, receiveCredit, request } from "./core.ts";
|
import { getCredit, receiveCredit, request, image3Options, image4Options_0302 } from "./core.ts";
|
||||||
import logger from "@/lib/logger.ts";
|
import logger from "@/lib/logger.ts";
|
||||||
import { ImagesTaskCache } from '@/api/ImagesTaskCache.ts';
|
import { ImagesTaskCache } from '@/api/ImagesTaskCache.ts';
|
||||||
|
|
||||||
@ -11,7 +11,9 @@ const DEFAULT_ASSISTANT_ID = "513695";
|
|||||||
export const DEFAULT_MODEL = "jimeng-3.0";
|
export const DEFAULT_MODEL = "jimeng-3.0";
|
||||||
const DRAFT_VERSION = "3.0.2";
|
const DRAFT_VERSION = "3.0.2";
|
||||||
const MODEL_MAP = {
|
const MODEL_MAP = {
|
||||||
|
"jimeng-4.5": "high_aes_general_v40l",
|
||||||
"jimeng-4.1": "high_aes_general_v41",
|
"jimeng-4.1": "high_aes_general_v41",
|
||||||
|
"jimeng-4.0": "high_aes_general_v40",
|
||||||
"jimeng-3.1": "high_aes_general_v30l_art_fangzhou:general_v3.0_18b",
|
"jimeng-3.1": "high_aes_general_v30l_art_fangzhou:general_v3.0_18b",
|
||||||
"jimeng-3.0": "high_aes_general_v30l:general_v3.0_18b",
|
"jimeng-3.0": "high_aes_general_v30l:general_v3.0_18b",
|
||||||
"jimeng-2.1": "high_aes_general_v21_L:general_v2.1_L",
|
"jimeng-2.1": "high_aes_general_v21_L:general_v2.1_L",
|
||||||
@ -34,11 +36,13 @@ export async function generateImages(
|
|||||||
height = 1024,
|
height = 1024,
|
||||||
sampleStrength = 0.5,
|
sampleStrength = 0.5,
|
||||||
negativePrompt = "",
|
negativePrompt = "",
|
||||||
|
generateCount = 4,
|
||||||
}: {
|
}: {
|
||||||
width?: number;
|
width?: number;
|
||||||
height?: number;
|
height?: number;
|
||||||
sampleStrength?: number;
|
sampleStrength?: number;
|
||||||
negativePrompt?: string;
|
negativePrompt?: string;
|
||||||
|
generateCount?: number;
|
||||||
},
|
},
|
||||||
refreshToken: string
|
refreshToken: string
|
||||||
) {
|
) {
|
||||||
@ -54,86 +58,114 @@ export async function generateImages(
|
|||||||
await receiveCredit(refreshToken);
|
await receiveCredit(refreshToken);
|
||||||
|
|
||||||
const componentId = util.uuid();
|
const componentId = util.uuid();
|
||||||
|
let isModel4 = model.startsWith("jimeng-4");
|
||||||
|
let options = {};
|
||||||
|
if(isModel4){
|
||||||
|
options = image4Options_0302(
|
||||||
|
model,
|
||||||
|
componentId,
|
||||||
|
prompt,
|
||||||
|
sampleStrength,
|
||||||
|
height,
|
||||||
|
width,
|
||||||
|
negativePrompt,
|
||||||
|
'2k',
|
||||||
|
generateCount,
|
||||||
|
);
|
||||||
|
}else{
|
||||||
|
options = image3Options(
|
||||||
|
model,
|
||||||
|
componentId,
|
||||||
|
prompt,
|
||||||
|
sampleStrength,
|
||||||
|
height,
|
||||||
|
width,
|
||||||
|
negativePrompt,
|
||||||
|
'1k',
|
||||||
|
generateCount,
|
||||||
|
);
|
||||||
|
}
|
||||||
const { aigc_data } = await request(
|
const { aigc_data } = await request(
|
||||||
"post",
|
"post",
|
||||||
"/mweb/v1/aigc_draft/generate",
|
"/mweb/v1/aigc_draft/generate",
|
||||||
refreshToken,
|
refreshToken,
|
||||||
{
|
options,
|
||||||
params: {
|
// {
|
||||||
babi_param: encodeURIComponent(
|
// params: {
|
||||||
JSON.stringify({
|
// babi_param: encodeURIComponent(
|
||||||
scenario: "image_video_generation",
|
// JSON.stringify({
|
||||||
feature_key: "aigc_to_image",
|
// scenario: "image_video_generation",
|
||||||
feature_entrance: "to_image",
|
// feature_key: "aigc_to_image",
|
||||||
feature_entrance_detail: "to_image-" + model,
|
// feature_entrance: "to_image",
|
||||||
})
|
// feature_entrance_detail: "to_image-" + model,
|
||||||
),
|
// })
|
||||||
},
|
// ),
|
||||||
data: {
|
// },
|
||||||
extend: {
|
// data: {
|
||||||
root_model: model,
|
// extend: {
|
||||||
template_id: "",
|
// root_model: model,
|
||||||
},
|
// template_id: "",
|
||||||
submit_id: util.uuid(),
|
// },
|
||||||
metrics_extra: JSON.stringify({
|
// submit_id: util.uuid(),
|
||||||
templateId: "",
|
// metrics_extra: JSON.stringify({
|
||||||
generateCount: 1,
|
// templateId: "",
|
||||||
promptSource: "custom",
|
// generateCount: 1,
|
||||||
templateSource: "",
|
// promptSource: "custom",
|
||||||
lastRequestId: "",
|
// templateSource: "",
|
||||||
originRequestId: "",
|
// lastRequestId: "",
|
||||||
}),
|
// originRequestId: "",
|
||||||
draft_content: JSON.stringify({
|
// }),
|
||||||
type: "draft",
|
// draft_content: JSON.stringify({
|
||||||
id: util.uuid(),
|
// type: "draft",
|
||||||
min_version: DRAFT_VERSION,
|
// id: util.uuid(),
|
||||||
is_from_tsn: true,
|
// min_version: DRAFT_VERSION,
|
||||||
version: DRAFT_VERSION,
|
// is_from_tsn: true,
|
||||||
main_component_id: componentId,
|
// version: DRAFT_VERSION,
|
||||||
component_list: [
|
// main_component_id: componentId,
|
||||||
{
|
// component_list: [
|
||||||
type: "image_base_component",
|
// {
|
||||||
id: componentId,
|
// type: "image_base_component",
|
||||||
min_version: DRAFT_VERSION,
|
// id: componentId,
|
||||||
generate_type: "generate",
|
// min_version: DRAFT_VERSION,
|
||||||
aigc_mode: "workbench",
|
// generate_type: "generate",
|
||||||
abilities: {
|
// aigc_mode: "workbench",
|
||||||
type: "",
|
// abilities: {
|
||||||
id: util.uuid(),
|
// type: "",
|
||||||
generate: {
|
// id: util.uuid(),
|
||||||
type: "",
|
// generate: {
|
||||||
id: util.uuid(),
|
// type: "",
|
||||||
core_param: {
|
// id: util.uuid(),
|
||||||
type: "",
|
// core_param: {
|
||||||
id: util.uuid(),
|
// type: "",
|
||||||
model,
|
// id: util.uuid(),
|
||||||
prompt,
|
// model,
|
||||||
negative_prompt: negativePrompt,
|
// prompt,
|
||||||
seed: Math.floor(Math.random() * 100000000) + 2500000000,
|
// negative_prompt: negativePrompt,
|
||||||
sample_strength: sampleStrength,
|
// seed: Math.floor(Math.random() * 100000000) + 2500000000,
|
||||||
image_ratio: 1,
|
// sample_strength: sampleStrength,
|
||||||
large_image_info: {
|
// image_ratio: 1,
|
||||||
type: "",
|
// large_image_info: {
|
||||||
id: util.uuid(),
|
// type: "",
|
||||||
height,
|
// id: util.uuid(),
|
||||||
width,
|
// height,
|
||||||
resolution_type: "1k",
|
// width,
|
||||||
},
|
// resolution_type: "1k",
|
||||||
},
|
// },
|
||||||
history_option: {
|
// },
|
||||||
type: "",
|
// history_option: {
|
||||||
id: util.uuid(),
|
// type: "",
|
||||||
},
|
// id: util.uuid(),
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
],
|
// },
|
||||||
}),
|
// ],
|
||||||
http_common_info: {
|
// }),
|
||||||
aid: Number(DEFAULT_ASSISTANT_ID),
|
// http_common_info: {
|
||||||
},
|
// aid: Number(DEFAULT_ASSISTANT_ID),
|
||||||
},
|
// },
|
||||||
}
|
// },
|
||||||
|
// }
|
||||||
);
|
);
|
||||||
const historyId = aigc_data.history_record_id;
|
const historyId = aigc_data.history_record_id;
|
||||||
if (!historyId)
|
if (!historyId)
|
||||||
|
|||||||
@ -68,7 +68,8 @@ export default {
|
|||||||
// .validate("body.negative_prompt", v => _.isUndefined(v) || _.isString(v))
|
// .validate("body.negative_prompt", v => _.isUndefined(v) || _.isString(v))
|
||||||
.validate("body.width", v => _.isUndefined(v) || _.isFinite(v))
|
.validate("body.width", v => _.isUndefined(v) || _.isFinite(v))
|
||||||
.validate("body.height", v => _.isUndefined(v) || _.isFinite(v))
|
.validate("body.height", v => _.isUndefined(v) || _.isFinite(v))
|
||||||
// .validate("body.sample_strength", v => _.isUndefined(v) || _.isFinite(v))
|
.validate("body.sample_strength", v => _.isUndefined(v) || _.isFinite(v))
|
||||||
|
.validate("body.generate_count", v => _.isUndefined(v) || _.isFinite(v))
|
||||||
.validate("body.response_format", v => _.isUndefined(v) || _.isString(v))
|
.validate("body.response_format", v => _.isUndefined(v) || _.isString(v))
|
||||||
.validate("headers.authorization", _.isString);
|
.validate("headers.authorization", _.isString);
|
||||||
// refresh_token切分
|
// refresh_token切分
|
||||||
@ -82,28 +83,31 @@ export default {
|
|||||||
// negative_prompt: negativePrompt,
|
// negative_prompt: negativePrompt,
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
// sample_strength: sampleStrength,
|
sample_strength,
|
||||||
|
generate_count,
|
||||||
response_format,
|
response_format,
|
||||||
} = request.body;
|
} = request.body;
|
||||||
const responseFormat = _.defaultTo(response_format, "url");
|
const responseFormat = _.defaultTo(response_format, "url");
|
||||||
logger.info(`\n图片生成: model: ${model}, task_id: ${task_id}, width: ${width}, height: ${height}, responseFormat: ${responseFormat}, \n prompt: ${prompt}`);
|
// logger.info(`\n图片生成: model: ${model}, task_id: ${task_id}, width: ${width}, height: ${height}, responseFormat: ${responseFormat}, \n prompt: ${prompt}`);
|
||||||
|
|
||||||
if (USE_DATABASE_MODE) {
|
if (USE_DATABASE_MODE) {
|
||||||
// 使用新的数据库方法
|
// 使用新的数据库方法
|
||||||
await DatabaseGenerationService.generateImagesV2(model||'jimeng-3.0', task_id, prompt, {
|
await DatabaseGenerationService.generateImagesV2(model||'jimeng-3.0', task_id, prompt, {
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
sampleStrength: 0.5,
|
sampleStrength: sample_strength || 0.5,
|
||||||
negativePrompt: "",
|
negativePrompt: "",
|
||||||
response_format: responseFormat
|
response_format: responseFormat,
|
||||||
|
generateCount: generate_count || 4,
|
||||||
}, token);
|
}, token);
|
||||||
} else {
|
} else {
|
||||||
// 使用原有方法(不等待结果)
|
// 使用原有方法(不等待结果)
|
||||||
generateImages(model||'jimeng-3.0', task_id, prompt, {
|
generateImages(model||'jimeng-3.0', task_id, prompt, {
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
sampleStrength: 0.5,
|
sampleStrength: sample_strength || 0.5,
|
||||||
negativePrompt: "",
|
negativePrompt: "",
|
||||||
|
generateCount: generate_count || 4,
|
||||||
}, token);
|
}, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -45,6 +45,7 @@ export class DatabaseGenerationService {
|
|||||||
sampleStrength?: number;
|
sampleStrength?: number;
|
||||||
negativePrompt?: string;
|
negativePrompt?: string;
|
||||||
response_format?: string;
|
response_format?: string;
|
||||||
|
generateCount?: number;
|
||||||
},
|
},
|
||||||
refreshToken: string
|
refreshToken: string
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
@ -74,7 +75,8 @@ export class DatabaseGenerationService {
|
|||||||
height: params.height || 1024,
|
height: params.height || 1024,
|
||||||
sample_strength: params.sampleStrength || 0.5,
|
sample_strength: params.sampleStrength || 0.5,
|
||||||
negative_prompt: params.negativePrompt || "",
|
negative_prompt: params.negativePrompt || "",
|
||||||
response_format: params.response_format
|
response_format: params.response_format,
|
||||||
|
generate_count: params.generateCount || 4,
|
||||||
},
|
},
|
||||||
internal_params: {
|
internal_params: {
|
||||||
refresh_token: refreshToken
|
refresh_token: refreshToken
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import logger from '@/lib/logger.js';
|
|||||||
import TOSService from '@/lib/tos/tos-service.js';
|
import TOSService from '@/lib/tos/tos-service.js';
|
||||||
import { generateImages as originalGenerateImages } from '@/api/controllers/images.js';
|
import { generateImages as originalGenerateImages } from '@/api/controllers/images.js';
|
||||||
import { generateVideo as originalGenerateVideo } from '@/api/controllers/video.js';
|
import { generateVideo as originalGenerateVideo } from '@/api/controllers/video.js';
|
||||||
import { request, image4Options_0302, image3Options, image4Options } from '@/api/controllers/core.js';
|
import { request, image4Options_0302, image3Options } from '@/api/controllers/core.js';
|
||||||
import EX from "@/api/consts/exceptions.ts";
|
import EX from "@/api/consts/exceptions.ts";
|
||||||
|
|
||||||
const timeZone = 'Asia/Shanghai';
|
const timeZone = 'Asia/Shanghai';
|
||||||
@ -774,7 +774,9 @@ export class TaskPollingService {
|
|||||||
|
|
||||||
// 映射模型
|
// 映射模型
|
||||||
const MODEL_MAP = {
|
const MODEL_MAP = {
|
||||||
|
"jimeng-4.5": "high_aes_general_v40l",
|
||||||
"jimeng-4.1": "high_aes_general_v41",
|
"jimeng-4.1": "high_aes_general_v41",
|
||||||
|
"jimeng-4.0": "high_aes_general_v40",
|
||||||
"jimeng-3.1": "high_aes_general_v30l_art_fangzhou:general_v3.0_18b",
|
"jimeng-3.1": "high_aes_general_v30l_art_fangzhou:general_v3.0_18b",
|
||||||
"jimeng-3.0": "high_aes_general_v30l:general_v3.0_18b",
|
"jimeng-3.0": "high_aes_general_v30l:general_v3.0_18b",
|
||||||
"jimeng-2.1": "high_aes_general_v21_L:general_v2.1_L",
|
"jimeng-2.1": "high_aes_general_v21_L:general_v2.1_L",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user