All Products
Search
Document Center

SuperApp:Kirim Tugas AIGC

Last Updated:Jun 28, 2025

1. Deskripsi Operasi API

Operasi ini bersifat asinkron. Setelah permintaan dikirim, sistem akan mengembalikan ID tugas dan menjalankan tugas di latar belakang. Anda dapat menggunakan ID tugas untuk memeriksa hasil dari tugas konten yang dihasilkan kecerdasan buatan (AIGC).

2. Endpoint

https://industrysolutions.alibabacloud.com

3. URI Operasi

/openapi/v1/aigc/submitTask

4. Metode Permintaan

POST (application/json)

5. Parameter Permintaan

Parameter

Tipe

Diperlukan

Deskripsi

workflow

string

ya

Pengenal algoritma AIGC:

"IMAGE2VIDEO" merepresentasikan gambar-ke-video;

"CATVTON" merepresentasikan penukaran pakaian;

"TEXT2IMAGE" merepresentasikan teks-ke-gambar.

version

string

ya

Versi algoritma AIGC, seperti 1.0.0.

algoInput

object

ya

Input algoritma AIGC. Input bervariasi berdasarkan algoritma. Untuk informasi lebih lanjut tentang input untuk penukaran pakaian, lihat bagian berikutnya.

6. Parameter algoInput

6.1. Algoritma Gambar-ke-Video

Parameter

Tipe

Diperlukan

Deskripsi

inputText

string

ya

Teks prompt, dengan panjang string ≤ 500

inputImage

string

ya

Gambar input, alamat gambar harus dapat diakses melalui Internet.

  • 5 KB ≤ Ukuran file gambar ≤ 5 MB

  • 150 ≤ Lebar dan tinggi gambar ≤ 4.096

  • Format yang didukung: JPG, PNG, JPEG, dan BMP

6.2. Algoritma Teks-ke-Gambar

Parameter

Tipe

Diperlukan

Deskripsi

inputText

string

ya

Teks prompt, dengan panjang string ≤ 500

width

int

ya

Lebar gambar

height

int

ya

Tinggi gambar

6.3. Algoritma Penukaran Pakaian

Parameter

Tipe

Diperlukan

Deskripsi

modelImage

string

ya

Gambar model. Alamat gambar harus dapat diakses melalui Internet.

  • 5 KB ≤ Ukuran file gambar ≤ 5 MB

  • 150 ≤ Lebar dan tinggi gambar ≤ 4.096

  • Format yang didukung: JPG, PNG, JPEG, dan BMP

garmentImage

string

ya

Gambar pakaian. Alamat gambar harus dapat diakses melalui Internet.

  • 5 KB ≤ Ukuran file gambar ≤ 5 MB

  • 150 ≤ Lebar dan tinggi gambar ≤ 4.096

  • Format yang didukung: JPG, PNG, JPEG, dan BMP

category

string

ya

Jenis penukaran pakaian. Nilai valid:

upper: menukar pakaian di atas pinggang. lower: menukar pakaian di bawah pinggang. overall: menukar pakaian pada seluruh tubuh

seed

int

ya

Nilai valid: 0 hingga 2147483647. Seed acak, yang digunakan untuk mengontrol keacakan selama proses pembuatan gambar. Anda dapat menyesuaikan nilai seed untuk mengubah gaya atau detail gambar. Kondisi input yang sama dan nilai seed yang sama menghasilkan gambar yang sama.

7. Parameter Respons

Parameter

Tipe

Deskripsi

success

boolean

Menunjukkan apakah permintaan berhasil. true: Permintaan berhasil. false: Permintaan gagal.

model

string

ID tugas, yang dapat digunakan untuk memeriksa hasil tugas.

errorCode

string

Kode kesalahan. Kode kesalahan dikembalikan jika permintaan gagal. Untuk informasi lebih lanjut tentang kode kesalahan dan pesan, lihat tabel di bagian "8. Pesan kesalahan umum" dari topik ini.

errorMsg

string

Pesan kesalahan. Pesan kesalahan dikembalikan jika operasi gagal.

8. Pesan kesalahan umum

Pesan kesalahan

Deskripsi

INTCNN_COMMON_AUTH_CHECK_ERROR

Kesalahan verifikasi tanda tangan.

INTCNN_COMMON_NOT_FOUND

Operasi API tidak ada.

INTCNN_COMMON_PARAM_VALID_ERROR

Kesalahan verifikasi parameter.

INTCNN_COMMON_SYS_ERROR

Kesalahan tidak dikenal di server.

9. Contoh permintaan

9.1. Gambar-ke-Video

curl --location 'https://industrysolutions.alibabacloud.com/openapi/v1/aigc/submitTask' \
--header 'X-Access-Key: 501711*****45218' \
--header 'X-Request-Sign: YmM4Yzg4ZTc3Z****************FkODdlYTRmMWFiOTBmYTMwMw==' \
--header 'X-Request-Timestamp: 1741855077857' \
--header 'x-acs-request-id: 893e87bb-6083-4249-aedd-a376cac24bee' \
--header 'Content-Type: application/json' \
--data '{
    "workflow": "IMAGE2VIDEO",
    "version": "1.0.0",
    "algoInput": {
        "inputText": "Seseorang sedang berjalan di sepanjang jalan sempit, dikelilingi oleh alam.",
        "inputImage": "https://img.alicdn.com/imgextra/i2/O1CN01DspKG11ZLZjy0JKAf_!!6000000003178-0-tps-999-750.jpg"
    }
}'

9.1. Teks-ke-Gambar

curl --location 'https://industrysolutions.alibabacloud.com/openapi/v1/aigc/submitTask' \
--header 'X-Access-Key: 501711*****45218' \
--header 'X-Request-Sign: YmM4Yzg4ZTc3Z****************kODdlYTRmMWFiOTBmYTMwMw==' \
--header 'X-Request-Timestamp: 1741855077857' \
--header 'x-acs-request-id: 893e87bb-6083-4249-aedd-a376cac24bee' \
--header 'Content-Type: application/json' \
--data '{
    "workflow": "TEXT2IMAGE",
    "version": "1.0.0",
    "algoInput": {
        "inputText": "seekor kucing",
        "width": 1024, 
        "height": 1024
    }
}'

9.2. Penukaran Pakaian

curl --location 'https://industrysolutions.alibabacloud.com/openapi/v1/aigc/submitTask' \
--header 'x-acs-request-id: 51843d00-ef53-47f8-ac03-6bfc219ba1eb' \
--header 'X-Access-Key: 5017114*******' \
--header 'X-Request-Sign: NjcxNTQy**************wMjZjZWU1YjQxZTcwYQ==' \
--header 'X-Request-Timestamp: 1739518571992' \
--header 'Content-Type: application/json' \
--data '{
    "workflow": "CATVTON", 
    "version": "1.0.0", 
    "algoInput":{ 
        "modelImage": "https://gw.alicdn.com/imgextra/i4/O1CN0162LlIZ1HJ8VZPst5A_!!6000000000736-2-tps-789-987.png",
        "garmentImage": "https://gw.alicdn.com/imgextra/i1/O1CN01M2oIt71KIAWJhtK8f_!!6000000001140-2-tps-789-987.png",
        "category": "overall",
        "seed": 43
    }
}'

10. Contoh respons

{
 "success": true,
 "model": "28fdf560-249a-4712-adcc-906c0346602b",
 "errorCode": null,
 "errorMsg": null
}

11. Tanda tangan permintaan

Untuk mencegah pemalsuan data, pemanggil API harus menandatangani permintaan dan server harus menggunakan tanda tangan untuk memverifikasi identitas pemanggil API. Penggunaan tanda tangan memastikan keamanan interaksi antara pengembang dan Platform Aplikasi Bisnis SuperApp.

11.1 Elemen tanda tangan

11.1.1. URI Permintaan

Asumsikan bahwa URL permintaan adalah https://{domainName}/openapi/v1/a/b.

Dalam hal ini, URI permintaan adalah /openapi/v1/a/b.

11.1.2. Metode Permintaan

Metode permintaan HTTP.

11.1.3. Header Permintaan

Tabel berikut menjelaskan bidang dalam header permintaan. Bidang bersifat peka huruf besar-kecil.

Header

Diperlukan

Deskripsi

Contoh kode

X-Request-Sign

Ya

String tanda tangan yang dihitung untuk permintaan ini. Metode enkripsi default dari string tanda tangan adalah HMAC-SHA1.

X-Request-Sign: ****

X-Access-Key

Ya

Pair AccessKey yang mewakili identitas pemanggil API.

X-Access-Key: Pair AccessKey yang diberikan kepada pemanggil API oleh Alibaba Cloud. Untuk mendapatkan ID AccessKey dan Rahasia AccessKey Anda, hubungi insinyur operasi Platform Aplikasi Bisnis SuperApp.

X-Request-Timestamp

Ya

Timestamp permintaan. Unit: milidetik.

X-Timestamp: timestamp. Contoh: 1740471900061.

x-acs-request-id

Ya

ID Permintaan

x-acs-request-id: ID Permintaan, UUID yang dibuat secara acak. Contoh: 51843d00-ef53-47f8-ac03-6bfc219ba1eb

11.1.4. Body Permintaan

Body permintaan dalam format JSON. Bidang dalam body permintaan bervariasi berdasarkan operasi API.

11.2 Metode tanda tangan

  1. Buat dan enkode string-to-sign. Sertakan parameter berikut dalam permintaan:

    • HTTP_URI: seperti /openapi/v1/a/b

    • X-Access-Key: seperti 46b1cac78ed94ca4b99ad6de550a****

    • X-Request-Timestamp: seperti 1676904384074

    • HTTP_BODY: Blok kode berikut menunjukkan contoh body:

{
	"appId": "223232323****",
	"authClientId": "7230000****,
	"grantType": "authorization_code",
	"authCode": "1cc19911172e4f8aaa509c8fb5d1****"
}
  1. Konfigurasikan {Content_To_Be_Signed} dalam format berikut untuk menyusun string-to-sign: <HTTP_METHOD> <HTTP_URI> <Client-Id>.<Request-Time>.<Access-Key>

POST /openapi/v1/a/b
{
	"appId": "223232323****",
	"authClientId": "7230000****",
	"grantType": "authorization_code",
	"authCode": "1cc19911172e4f8aaa509c8fb5d1****"
}.1676904384074.46b1cac78ed94ca4b99ad6de550afb68
  1. Contoh kode berikut menunjukkan cara menghasilkan tanda tangan untuk string-to-sign menggunakan algoritma HmacSHA1.


public String sign(String accessKey,String secretKey,String timestamp,String uri,byte[] bodyBytes) {
    String content = String.format("POST %s\n%s.%s.%s", uri, new String(bodyBytes), timestamp, accessKey);
    String signed = generateSign(content, secretKey, "HmacSHA1");
    return Base64.getEncoder().encodeToString(signed.getBytes(StandardCharsets.UTF_8));
}


public static String generateSign(String content, String key, String algorithm) {
    if (!StringUtils.isEmpty(algorithm) && !StringUtils.isEmpty(content) && null != key) {
        try {
            SecretKeySpec signinKey = new SecretKeySpec(key.getBytes(), algorithm);
            Mac mac = Mac.getInstance(algorithm);
            mac.init(signinKey);
            byte[] rawHmac = mac.doFinal(content.getBytes());
            return convertToHex(rawHmac);
        } catch (InvalidKeyException | NoSuchAlgorithmException var6) {
            return "";
        }
    } else {
        return "";
    }
}


public static String convertToHex(byte[] bytes) {
    int len = bytes.length;
    StringBuilder buf = new StringBuilder(len * 2);

    for(int j = 0; j < len; ++j) {
        buf.append(HEX[bytes[j] >> 4 & 15]);
        buf.append(HEX[bytes[j] & 15]);
    }

    return buf.toString();
}

11.3 Kirim permintaan

Tambahkan bidang Client-Id, Request-Time, dan Signature ke header permintaan untuk menyusun permintaan berikut:

curl -X POST \
  https://example.com/openapi/v1/a/b \
  -H 'Content-Type: application/json' \
  -H 'X-Access-Key: 46b1cac78ed94ca4b99ad6de550afb68' \
  -H 'X-Request-Timestamp: 1676904384074' \
  -H 'Signature: KrwDE9tAPJYBb4cUZU6ALJxGIZgwDXn5UkFPMip09n%2FkYKPhEIII%2Fki2rYY2lPtuKVgMNz%2BtuCU%2FjzRpohDbrOd8zYriiukpGAxBQDIVbatGI7WYOcc9YVQwdCR6ROuRQvr%2FD1AfdhHd6waAASu5Xugow9w1OW7Ti93LTd0tcyEWQYd2S7c3A73sHOJNYl8DC1PjasiBozZ%2FADgb7ONsqHo%2B8fKHsLygX9cuMkQYTGIRBQsvfgICnJhh%2BzXV8AQoecJBTrv6p%xxxx' \
  -d '{
	"appId": "223232323****",
	"authClientId": "7230000****",
	"grantType": "authorization_code",
	"authCode": "1cc19911172e4f8aaa509c8fb5d1****"
}'