text2videoService.ts 11 KB
Newer Older
Administrator's avatar
Administrator committed
1 2 3 4
/**
 * 相关接口
 */
import request from '@/api/request'
5

Administrator's avatar
Administrator committed
6
export default {
7 8 9 10 11 12 13
  submitLLM(
    prompt: string,
    llm: string = 'gpt',
    history: Wm.PromptHistory[] = [],
    task_id: string = '-',
    encrypt: string = 'false'
  ): Promise<string> {
周成波's avatar
周成波 committed
14
    if (!prompt) {
15 16 17 18 19 20 21 22
      return Promise.reject('输入不能为空')
    }
    const post_data = {
      source_text: prompt,
      history: history,
      llm: llm,
      task_id: task_id,
      encrypt: encrypt
周成波's avatar
周成波 committed
23
    }
24 25
    return request
      .post('/text2video/text2llm', post_data)
周成波's avatar
周成波 committed
26 27 28
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
29
          return res.data.result.answer
周成波's avatar
周成波 committed
30
        } else {
31 32
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
周成波's avatar
周成波 committed
33 34 35
        }
      })
      .catch((err: any) => {
36
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
37
        try {
38
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
39
        } catch (e) {
40
          return Promise.reject(`与LLM通讯失败`)
Administrator's avatar
Administrator committed
41
        }
42
      })
周成波's avatar
周成波 committed
43 44 45
  },

  submitSD(
46 47 48 49 50 51 52 53 54 55 56 57 58
    task_id: string = '',
    img_idx: string = '',
    prompt: string = '',
    negative_prompt: string = '',
    width: string = '',
    height: string = '',
    sampler_index: string = '',
    seed: string = '',
    steps: string = '',
    cfg_scale: string = '',
    encrypt: string = 'false',
    model: string = ''
  ): Promise<{ domain_image_path: string; local_image_path: string }> {
周成波's avatar
周成波 committed
59
    if (!prompt) {
60
      return Promise.reject('SD提示词不能为空')
周成波's avatar
周成波 committed
61 62 63 64 65 66 67 68 69 70 71 72
    }
    const post_data = {
      task_id: task_id,
      img_idx: img_idx,
      prompt: prompt,
      negative_prompt: negative_prompt,
      sampler_index: sampler_index,
      seed: seed,
      steps: steps,
      width: width,
      height: height,
      cfg_scale: cfg_scale,
周成波's avatar
周成波 committed
73
      encrypt: encrypt,
74
      model: model
周成波's avatar
周成波 committed
75
    }
76 77
    return request
      .post('/text2video/text2img', post_data)
周成波's avatar
周成波 committed
78 79 80
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
81 82 83 84
          return {
            domain_image_path: res.data.result.domain_image_path,
            local_image_path: res.data.result.local_image_path
          }
周成波's avatar
周成波 committed
85
        } else {
86 87
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
周成波's avatar
周成波 committed
88 89 90
        }
      })
      .catch((err: any) => {
91
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
92
        try {
93
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
94
        } catch (e) {
95
          return Promise.reject(`与 stable-diffusion-webui Api 通讯失败`)
Administrator's avatar
Administrator committed
96
        }
97
      })
周成波's avatar
周成波 committed
98 99
  },

周成波's avatar
周成波 committed
100
  submitGenVideo(gen_video_param: any): Promise<string> {
周成波's avatar
周成波 committed
101
    if (!gen_video_param) {
102
      return Promise.reject('输入不能为空')
周成波's avatar
周成波 committed
103
    }
周成波's avatar
周成波 committed
104
    const post_data = gen_video_param
105 106
    return request
      .post('/text2video/gen_video', post_data)
周成波's avatar
周成波 committed
107 108 109
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
110
          return res.data.result.domain_video_path
周成波's avatar
周成波 committed
111
        } else {
112 113
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
周成波's avatar
周成波 committed
114 115 116
        }
      })
      .catch((err: any) => {
117
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
118
        try {
119
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
120
        } catch (e) {
121
          return Promise.reject(`gen_video接口通讯失败`)
Administrator's avatar
Administrator committed
122
        }
123
      })
周成波's avatar
周成波 committed
124
  },
125 126 127

  submitPwdCheck(pwd: string): Promise<string> {
    if (!pwd) {
128
      return Promise.reject('密码不能为空')
129 130
    }
    const post_data = { pwd: pwd }
131 132
    return request
      .post('/text2video/pwd_check', post_data)
133 134 135
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
136
          return res.data.result
137
        } else {
138 139
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
140 141 142
        }
      })
      .catch((err: any) => {
143
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
144
        try {
145
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
146
        } catch (e) {
147
          return Promise.reject(`与pwd_check接口通讯失败`)
Administrator's avatar
Administrator committed
148
        }
149
      })
150 151
  },

152 153 154 155 156
  submitTranslateToEn(
    input_string: string,
    task_id: string = '-',
    encrypt: string = 'false'
  ): Promise<string> {
157
    if (!input_string) {
158
      return Promise.reject('输入不能为空')
159
    }
周成波's avatar
周成波 committed
160
    const post_data = { input_string: input_string, task_id: task_id, encrypt: encrypt }
161 162
    return request
      .post('/text2video/translate_to_en', post_data)
163 164 165
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
166
          return res.data.result
167
        } else {
168 169
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
170 171 172
        }
      })
      .catch((err: any) => {
173
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
174
        try {
175
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
176
        } catch (e) {
177
          return Promise.reject(`与翻译接口通讯失败`)
Administrator's avatar
Administrator committed
178
        }
179
      })
180
  },
周成波's avatar
周成波 committed
181

182
  submitAddTextToImg(param: any): Promise<{ domain_image_path: string; local_image_path: string }> {
周成波's avatar
周成波 committed
183
    const post_data = param
184 185
    return request
      .post('/text2video/add_text_to_img', post_data)
周成波's avatar
周成波 committed
186 187 188
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
189 190 191 192
          return {
            domain_image_path: res.data.result.domain_image_path,
            local_image_path: res.data.result.local_image_path
          }
周成波's avatar
周成波 committed
193
        } else {
194 195
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
周成波's avatar
周成波 committed
196 197 198
        }
      })
      .catch((err: any) => {
199
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
200
        try {
201
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
202
        } catch (e) {
203
          return Promise.reject(`add_text_to_img接口通讯失败`)
Administrator's avatar
Administrator committed
204
        }
205
      })
周成波's avatar
周成波 committed
206
  },
周成波's avatar
周成波 committed
207 208 209

  submitTest(prompt: string): Promise<string> {
    const post_data = { source_text: prompt }
210 211
    return request
      .post('/text2video/test', post_data)
周成波's avatar
周成波 committed
212 213 214
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
215
          return res.data.result
周成波's avatar
周成波 committed
216
        } else {
217 218
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
周成波's avatar
周成波 committed
219 220 221
        }
      })
      .catch((err: any) => {
222
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
223
        try {
224
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
225
        } catch (e) {
226
          return Promise.reject(`与Test Api通讯失败`)
Administrator's avatar
Administrator committed
227
        }
228
      })
周成波's avatar
周成波 committed
229
  },
230 231

  submitImgToText(param: any): Promise<string> {
232 233 234
    const post_data = param
    return request
      .post('/text2video/img2text', post_data)
235 236 237
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
238
          return res.data.result
239
        } else {
240 241
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
242 243 244
        }
      })
      .catch((err: any) => {
245
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
246
        try {
247
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
248
        } catch (e) {
249
          return Promise.reject(`与Img2Text Api通讯失败`)
Administrator's avatar
Administrator committed
250
        }
251
      })
252 253 254
  },

  submitImgTextMatch(param: any): Promise<any[]> {
255 256 257
    const post_data = param
    return request
      .post('/text2video/img_text_match', post_data)
258 259 260
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
261
          return res.data.result
262
        } else {
263 264
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
265 266 267
        }
      })
      .catch((err: any) => {
268
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
269
        try {
270
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
271
        } catch (e) {
272
          return Promise.reject(`与ImgTextMatch Api通讯失败`)
Administrator's avatar
Administrator committed
273
        }
274
      })
275
  },
276 277

  submitCutOutImg(param: any): Promise<any> {
278 279 280
    const post_data = param
    return request
      .post('/text2video/cutout_from_img', post_data)
281 282 283
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
284
          return res.data.result
285
        } else {
286 287
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
288 289 290
        }
      })
      .catch((err: any) => {
291
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
292
        try {
293
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
294
        } catch (e) {
295
          return Promise.reject(`与 cutout_from_img Api 通讯失败`)
Administrator's avatar
Administrator committed
296
        }
297
      })
298 299 300
  },

  submitSDInPaint(
301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316
    task_id: string = '',
    img_idx: string = '',
    prompt: string = '',
    negative_prompt: string = '',
    width: string = '',
    height: string = '',
    sampler_index: string = '',
    seed: string = '',
    steps: string = '',
    cfg_scale: string = '',
    encrypt: string = 'false',
    model: string = '',
    base_img: string = '',
    mask: string = '',
    img_data_type: string = ''
  ): Promise<{ domain_image_path: string; local_image_path: string }> {
317
    if (!prompt || !base_img || !mask) {
318
      return Promise.reject('SD提示词、基础图、mask均不能为空')
319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336
    }
    const post_data = {
      task_id: task_id,
      img_idx: img_idx,
      prompt: prompt,
      negative_prompt: negative_prompt,
      sampler_index: sampler_index,
      seed: seed,
      steps: steps,
      width: width,
      height: height,
      cfg_scale: cfg_scale,
      encrypt: encrypt,
      model: model,
      base_img: base_img,
      mask: mask,
      img_data_type: img_data_type
    }
337 338
    return request
      .post('/text2video/img2img_inpaint', post_data)
339 340 341
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
342 343 344 345
          return {
            domain_image_path: res.data.result.domain_image_path,
            local_image_path: res.data.result.local_image_path
          }
346
        } else {
347 348
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
349 350 351
        }
      })
      .catch((err: any) => {
352
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
353
        try {
354
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
355
        } catch (e) {
356
          return Promise.reject(`与 img2img_inpaint Api 通讯失败`)
Administrator's avatar
Administrator committed
357
        }
358
      })
359
  },
Administrator's avatar
Administrator committed
360 361 362

  submitGenDigitHumanVideo(post_data: any): Promise<string> {
    if (!post_data) {
363
      return Promise.reject('输入不能为空')
Administrator's avatar
Administrator committed
364
    }
365 366
    return request
      .post('/text2video/gen_video_digithuman', post_data)
Administrator's avatar
Administrator committed
367 368 369
      .then((res: any) => {
        // console.log(res);
        if (res && res.code === 0) {
Administrator's avatar
Administrator committed
370
          if (res.data.result.final_video_oss) {
371
            return res.data.result.final_video_oss
Administrator's avatar
Administrator committed
372
          } else {
373
            return Promise.reject('视频合成失败')
Administrator's avatar
Administrator committed
374 375
          }
        } else {
376 377
          const errorMessage = res ? res.message : '未知错误'
          return Promise.reject(errorMessage)
Administrator's avatar
Administrator committed
378 379 380
        }
      })
      .catch((err: any) => {
381
        console.log(`err = ${JSON.stringify(err)}`)
Administrator's avatar
Administrator committed
382
        try {
383
          return Promise.reject(err.message)
Administrator's avatar
Administrator committed
384
        } catch (e) {
385
          return Promise.reject(`与后端 gen_video_digithuman 接口通讯失败`)
Administrator's avatar
Administrator committed
386
        }
387 388
      })
  }
Administrator's avatar
Administrator committed
389
}