This commit is contained in:
jonathang4 2025-12-13 10:08:43 +08:00
parent 4e3365d9d5
commit af4abb772e
3 changed files with 188 additions and 128 deletions

View File

@ -257,6 +257,9 @@ export async function uploadFile(
export function checkResult(result: AxiosResponse) {
const { ret, errmsg, data } = result.data;
if (!_.isFinite(Number(ret))) return result.data;
if (ret !== '0') {
logger.error(`[Jimeng API Error] ret=${ret}, errmsg=${errmsg}, data=${JSON.stringify(data)}`);
}
if (ret === '0') return data;
if (ret === '5000')
throw new APIException(EX.API_IMAGE_GENERATION_INSUFFICIENT_POINTS, `[无法生成图像]: 即梦积分可能不足,${errmsg}`);

View File

@ -59,39 +59,11 @@ export async function generateImages(
await receiveCredit(refreshToken);
const componentId = util.uuid();
const { aigc_data } = await request(
"post",
"/mweb/v1/aigc_draft/generate",
refreshToken,
{
params: {
babi_param: encodeURIComponent(
JSON.stringify({
scenario: "image_video_generation",
feature_key: "aigc_to_image",
feature_entrance: "to_image",
feature_entrance_detail: "to_image-" + model,
})
),
},
data: {
extend: {
root_model: model,
template_id: "",
},
submit_id: util.uuid(),
metrics_extra: JSON.stringify({
templateId: "",
generateCount: 1,
promptSource: "custom",
templateSource: "",
lastRequestId: "",
originRequestId: "",
}),
draft_content: JSON.stringify({
const draftContent = {
type: "draft",
id: util.uuid(),
min_version: DRAFT_VERSION,
min_features: [],
is_from_tsn: true,
version: currentVersion,
main_component_id: componentId,
@ -100,8 +72,17 @@ export async function generateImages(
type: "image_base_component",
id: componentId,
min_version: DRAFT_VERSION,
gen_type: 1,
generate_type: "generate",
aigc_mode: "workbench",
metadata: {
type: "",
id: util.uuid(),
created_platform: 3,
created_platform_version: "",
created_time_in_ms: Date.now().toString(),
created_did: ""
},
abilities: {
type: "",
id: util.uuid(),
@ -124,22 +105,69 @@ export async function generateImages(
width,
resolution_type: resolutionType,
},
intelligent_ratio: false
},
history_option: {
type: "",
id: util.uuid(),
},
},
gen_option: {
type: "",
id: util.uuid(),
gen_count: 1,
generate_all: false
}
},
},
],
};
const payloadData = {
extend: {
root_model: model,
template_id: "",
},
submit_id: util.uuid(),
metrics_extra: JSON.stringify({
templateId: "0",
generateCount: 1,
promptSource: "custom",
templateSource: "",
lastRequestId: "",
originRequestId: "",
enterFrom: "use_bgimage_prompt",
isRegenerate: false,
isBoxSelect: false,
isCutout: false
}),
draft_content: JSON.stringify(draftContent),
http_common_info: {
aid: Number(DEFAULT_ASSISTANT_ID),
},
};
logger.info(`Jimeng Request Payload: ${JSON.stringify(payloadData)}`);
const { aigc_data } = await request(
"post",
"/mweb/v1/aigc_draft/generate",
refreshToken,
{
params: {
babi_param: encodeURIComponent(
JSON.stringify({
scenario: "image_video_generation",
feature_key: "aigc_to_image",
feature_entrance: "to_image",
feature_entrance_detail: "to_image-" + model,
})
),
},
data: payloadData,
}
);
logger.info(`Jimeng Response Data: ${JSON.stringify(aigc_data)}`);
const historyId = aigc_data.history_record_id;
if (!historyId)
throw new APIException(EX.API_IMAGE_GENERATION_FAILED, "记录ID不存在");

View File

@ -792,39 +792,11 @@ export class TaskPollingService {
const componentId = this.generateUUID();
const submitId = this.generateUUID();
const { aigc_data } = await request(
"post",
"/mweb/v1/aigc_draft/generate",
refreshToken,
{
params: {
babi_param: encodeURIComponent(
JSON.stringify({
scenario: "image_video_generation",
feature_key: "aigc_to_image",
feature_entrance: "to_image",
feature_entrance_detail: "to_image-" + mappedModel,
})
),
},
data: {
extend: {
root_model: mappedModel,
template_id: "",
},
submit_id: submitId,
metrics_extra: JSON.stringify({
templateId: "",
generateCount: 1,
promptSource: "custom",
templateSource: "",
lastRequestId: "",
originRequestId: "",
}),
draft_content: JSON.stringify({
const draftContent = {
type: "draft",
id: this.generateUUID(),
min_version: "3.0.2",
min_features: [],
is_from_tsn: true,
version: currentVersion,
main_component_id: componentId,
@ -833,8 +805,17 @@ export class TaskPollingService {
type: "image_base_component",
id: componentId,
min_version: "3.0.2",
gen_type: 1,
generate_type: "generate",
aigc_mode: "workbench",
metadata: {
type: "",
id: this.generateUUID(),
created_platform: 3,
created_platform_version: "",
created_time_in_ms: Date.now().toString(),
created_did: ""
},
abilities: {
type: "",
id: this.generateUUID(),
@ -857,23 +838,71 @@ export class TaskPollingService {
width,
resolution_type: resolutionType,
},
intelligent_ratio: false
},
history_option: {
type: "",
id: this.generateUUID(),
},
},
gen_option: {
type: "",
id: this.generateUUID(),
gen_count: 1,
generate_all: false
}
},
},
],
};
const payloadData = {
extend: {
root_model: mappedModel,
template_id: "",
},
submit_id: submitId,
metrics_extra: JSON.stringify({
templateId: "0",
generateCount: 1,
promptSource: "custom",
templateSource: "",
lastRequestId: "",
originRequestId: "",
enterFrom: "use_bgimage_prompt",
isRegenerate: false,
isBoxSelect: false,
isCutout: false
}),
draft_content: JSON.stringify(draftContent),
http_common_info: {
aid: Number(process.env.DEFAULT_ASSISTANT_ID || "513695"),
},
};
taskLog(`Jimeng Request Payload: ${JSON.stringify(payloadData)}`);
const { aigc_data } = await request(
"post",
"/mweb/v1/aigc_draft/generate",
refreshToken,
{
params: {
babi_param: encodeURIComponent(
JSON.stringify({
scenario: "image_video_generation",
feature_key: "aigc_to_image",
feature_entrance: "to_image",
feature_entrance_detail: "to_image-" + mappedModel,
})
),
},
data: payloadData,
}
);
taskLog(`Jimeng Response Data: ${JSON.stringify(aigc_data)}`);
const historyId = aigc_data.history_record_id;
if (!historyId) {
throw new Error('Failed to get history_record_id from image generation API');