すべてのプロダクト
Search
ドキュメントセンター

SuperApp:AIGC タスク送信 API

最終更新日:Apr 21, 2026

1. API の説明

この API は、AIGC タスクを非同期で送信します。送信リクエストが成功すると、即座に taskId が返されます。この ID を使用して、AIGC タスクのクエリ API でタスクの結果を照会できます。

2. エンドポイント

https://industrysolutions.alibabacloud.com

3. API URI

/openapi/v1/aigc/submitTask

4. リクエストメソッド

POST (application/json)

5. リクエストパラメーター

パラメーター

タイプ

必須

説明

workflow

string

はい

AIGC アルゴリズムの識別子。有効な値:

"IMAGE2VIDEO":画像から動画へ

"CATVTON":服装の着せ替え

"TEXT2IMAGE":テキストから画像へ

version

string

はい

AIGC アルゴリズムのバージョン。例: "1.0.0"

algoInput

object

はい

AIGC アルゴリズムの入力オブジェクトです。パラメーターはアルゴリズムによって異なります。各アルゴリズムのパラメーター詳細については、以降のセクションをご参照ください。

6. algoInput パラメーター

6.1. 画像から動画へのアルゴリズム

パラメーター

タイプ

必須

説明

inputText

string

はい

プロンプト。文字列は 500 文字以内である必要があります。

inputImage

string

はい

入力画像。一般公開されている画像 URL である必要があります。

  • ファイルサイズ:5 KB~5 MB。

  • 辺の長さ:150~4,096 ピクセル。

  • サポートされているフォーマット:JPG、PNG、JPEG、BMP。

6.2. 服装の着せ替えアルゴリズム

パラメーター

タイプ

必須

説明

modelImage

string

はい

モデル画像。一般公開されている画像 URL である必要があります。

  • ファイルサイズ:5 KB~5 MB。

  • 辺の長さ:150~4,096 ピクセル。

  • サポートされているフォーマット:JPG、PNG、JPEG、BMP。

garmentImage

string

はい

服装画像。一般公開されている画像 URL である必要があります。

  • ファイルサイズ:5 KB~5 MB。

  • 辺の長さ:150~4,096 ピクセル。

  • サポートされているフォーマット:JPG、PNG、JPEG、BMP。

category

string

はい

衣装交換のタイプ。有効な値は次のとおりです。

upper:上半身の服装を置き換えます。 lower:下半身の服装を置き換えます。 overall:全身の服装を置き換えます。

seed

int

はい

値の範囲:0~2,147,483,647。画像生成のランダム性を制御します。同じシードと入力パラメーターを使用すると、再現可能な結果が生成されます。シードを調整して、さまざまなバリエーションを試すことができます。

6.3. テキストから画像へのアルゴリズム

パラメーター

タイプ

必須

説明

inputText

string

はい

プロンプト。文字列は 500 文字以内である必要があります。

width

int

はい

生成される画像の幅をピクセル単位で指定します。

height

int

はい

生成される画像の高さをピクセル単位で指定します。

7. レスポンスパラメーター

パラメーター

タイプ

説明

success

boolean

送信が受理されたかどうかを示します。true はリクエストが処理のために受理されたことを、false は失敗したことを意味します。

model

string

送信されたタスクの ID (taskId) です。この ID を使用して、タスクのステータスと結果を照会します。

errorCode

string

エラーコード。リクエストが失敗した場合にのみ返されます。詳細については、エラーコードのセクションをご参照ください。

errorMsg

string

説明的なエラーメッセージ。リクエストが失敗した場合にのみ返されます。

8. 共通エラーコード

エラーコード

説明

INTCNN_COMMON_AUTH_CHECK_ERROR

署名検証に失敗しました。

INTCNN_COMMON_NOT_FOUND

リクエストされた API は存在しません。

INTCNN_COMMON_PARAM_VALID_ERROR

パラメーター検証に失敗しました。

INTCNN_COMMON_SYS_ERROR

不明なサーバー側エラーが発生しました。

9. リクエスト例

9.1. 画像から動画へ

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": "A person is walking.",
        "inputImage": "https://img.alicdn.com/imgextra/i2/O1CN01DspKG11ZLZjy0JKAf_!!6000000003178-0-tps-999-750.jpg"
    }
}'

9.2. 服の交換

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
    }
}'

9.3. テキストから画像へ

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": "a cat",
        "width": 1024, 
        "height": 1024
    }
}'

10. レスポンス例

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

11. API 署名

伝送中のデータ改ざんを防ぐため、API リクエストに署名する必要があります。サーバーは署名を検証することで、各リクエストを認証します。

11.1. 署名要素

11.1.1. リクエスト URI

リクエスト URL が https://{domainName}/openapi/v1/a/b の場合、リクエスト URI は /openapi/v1/a/b です。

11.1.2. リクエストメソッド

HTTP リクエストメソッド。

11.1.3. リクエストヘッダー

リクエストヘッダーには、大文字と小文字を区別する以下のフィールドが含まれます。

ヘッダー

必須

説明

X-Request-Sign

はい

リクエストに対して生成された署名。デフォルトのアルゴリズムは HMAC-SHA1 です。

X-Request-Sign: ****

X-Access-Key

はい

呼び出し元を識別する AccessKey。AccessKey とシークレットキーを取得するには、SuperApp オープンプラットフォーム運用チームにお問い合わせください。

501711*****45218

X-Request-Timestamp

はい

リクエストのタイムスタンプ (ミリ秒単位)。

X-Request-Timestamp: 1740471900061

x-acs-request-id

はい

リクエスト ID。

トレースとトラブルシューティングに使用されるランダムに生成された UUID。例: 51843d00-ef53-47f8-ac03-6bfc219ba1eb

11.1.4. リクエストボディ

JSON 形式のリクエストボディ。詳細なリクエスト情報が含まれます。フィールドは API によって異なります。

11.2. 署名方法

  1. 以下の要素から署名対象文字列を構築します:

    • HTTP リクエスト URI: 例: /openapi/v1/a/b

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

    • X-Request-Timestamp: 例: 1676904384074

    • HTTP リクエストボディ:

{
	"appId": "223232323****",
	"authClientId": "7230000****",
	"grantType": "authorization_code",
	"authCode": "1cc19911172e4f8aaa509c8fb5d1****"
}
  1. 次の形式を使用して、これらの要素を 1 つの文字列に結合します: <HTTP_METHOD> <HTTP_URI>\n<HTTP_BODY>.<X-Request-Timestamp>.<X-Access-Key>。URI の後には改行文字 (\n) が必要です。例:

POST /openapi/v1/a/b
{
	"appId": "223232323****",
	"authClientId": "7230000****",
	"grantType": "authorization_code",
	"authCode": "1cc19911172e4f8aaa509c8fb5d1****"
}.1676904384074.46b1cac78ed94ca4b99ad6de550afb68
  1. HMAC-SHA1 アルゴリズムを使用して、生成された文字列をシークレットキーで署名します。以下の Java コードは実装例です。


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. リクエストの送信

リクエストに X-Access-KeyX-Request-Timestamp、および X-Request-Sign ヘッダーを追加します。例:

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 'X-Request-Sign: KrwDE9tAPJYBb4cUZU6ALJxGIZgwDXn5UkFPMip09n%2FkYKPhEIII%2Fki2rYY2lPtuKVgMNz%2BtuCU%2FjzRpohDbrOd8zYriiukpGAxBQDIVbatGI7WYOcc9YVQwdCR6ROuRQvr%2FD1AfdhHd6waAASu5Xugow9w1OW7Ti93LTd0tcyEWQYd2S7c3A73sHOJNYl8DC1PjasiBozZ%2FADgb7ONsqHo%2B8fKHsLygX9cuMkQYTGIRBQsvfgICnJhh%2BzXV8AQoecJBTrv6p%xxxx' \
  -d '{
	"appId": "223232323****",
	"authClientId": "7230000****",
	"grantType": "authorization_code",
	"authCode": "1cc19911172e4f8aaa509c8fb5d1****"
}'