All Products
Search
Document Center

Platform For AI:Catatan Penggunaan SDK Analisis Multimedia untuk Python

Last Updated:Aug 20, 2025

Gunakan SDK Analisis Multimedia untuk Python yang disediakan oleh Platform for AI (PAI) untuk memanggil berbagai layanan berbasis algoritma. Dokumen ini menjelaskan cara menggunakan SDK tersebut untuk memanggil layanan model dan menyertakan contoh permintaan serta tanggapan.

Langkah 1: Instal SDK analisis multimedia untuk Python

Pastikan lingkungan Anda menggunakan Python 3 atau versi lebih baru. Jalankan perintah berikut untuk menginstal SDK:

pip install ai-service-python-sdk==1.1.5

Langkah 2: Inisialisasi klien

Jalankan perintah berikut untuk menginisialisasi klien:

from ai_service_python_sdk.client.api_client import ApiClient
client = ApiClient('<HOST>', '<YOUR-APPID>', '<YOUR-TOKEN>')

Sesuaikan parameter berikut sesuai kebutuhan bisnis Anda:

Parameter

Deskripsi

<HOST>

Alamat server: http://ai-service.ce8cc13b6421545749e7b4605f3d02607.cn-hangzhou.alicontainer.com.

<YOUR-APPID>

Setelah Anda mengaktifkan analisis multimedia, Anda dapat melihat AppID di halaman analisis multimedia. Untuk informasi lebih lanjut, lihat Analisis Multimedia.

<YOUR-TOKEN>

Setelah Anda mengaktifkan analisis multimedia, Anda dapat melihat Token di halaman analisis multimedia. Untuk informasi lebih lanjut, lihat Analisis Multimedia.

Contoh

Evaluasi kualitas gambar

Anda dapat mengevaluasi kualitas gambar. Layanan model mengembalikan bilangan titik mengambang antara 0 hingga 100. Contoh permintaan:

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# URL gambar. 
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# Nama model kustom. 
model_name = ''
# Pengaturan respons model. Jika model tidak memiliki parameter respons, Anda dapat menentukan kamus kosong. 
configure = {}
# Layanan model yang ingin Anda panggil. 
response = ai_service_api.image_qa(image_url, model_name, configure)
# ID permintaan. 
request_id = response.request_id
# Status permintaan. 
code = response.code
# Informasi status rinci tentang permintaan. 
message = response.message
# Nilai balik. 
data = response.data
# Tampilkan nilai balik. 
print(response)

Tabel berikut menjelaskan parameter dalam permintaan di atas:

Parameter

Tipe

Diperlukan

Deskripsi

image_url

STRING

Ya

URL gambar. Kami sarankan ukuran gambar tidak lebih besar dari 5 MB dan resolusi gambar sama dengan atau lebih tinggi dari 240 × 240.

model_name

STRING

Ya

Secara default, string kosong ditentukan untuk memanggil model tujuan umum.

Jika model tujuan umum tidak dapat memenuhi kebutuhan bisnis Anda, hubungi manajer akun Anda untuk mendapatkan model kustom. Anda dapat menentukan nama model kustom untuk memanggil model kustom.

configure

Dict

Ya

Pengaturan respons model. Tentukan kamus kosong untuk layanan model.

Contoh keluaran:

{
    "code":"OK",
    "data":{
        "image_height":214,
        "image_width":398,
        "iqa_result":66.88
    },
    "message":"success",
    "request_id":"1d4572a1-2800-4213-9e9c-33f9fa7e****"
}

Tabel berikut menjelaskan parameter respons:

Parameter

Deskripsi

request_id

ID permintaan, bertipe STRING.

code

Kode status permintaan, bertipe STRING.

message

Informasi status rinci tentang permintaan, bertipe STRING. Contoh keluaran:

  • success

  • Invalid Input - image data error - base64decode error: base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

Untuk informasi lebih lanjut, lihat Kode kesalahan.

data

Konten yang dikembalikan oleh layanan model, bertipe DICT. Deskripsi parameter:

  • image_height: tinggi gambar dalam piksel, bertipe INT.

  • image_width: lebar gambar dalam piksel, bertipe INT.

  • iqa_result: skor kualitas gambar, bertipe FLOAT. Nilainya akurat hingga dua tempat desimal.

Analisis atribut wajah

Anda dapat memperoleh atribut terkait wajah seperti bentuk wajah, warna rambut, gaya rambut, dan penampilan. Berikut adalah contoh permintaan:

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# URL gambar. 
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# Nama model kustom. 
model_name = ''
# Pengaturan respons model. Jika model tidak memiliki parameter respons, Anda dapat menentukan kamus kosong. 
configure = {}
# Layanan model yang ingin Anda panggil. 
response = ai_service_api.face_attr_image(image_url, model_name, configure)
# ID permintaan. 
request_id = response.request_id
# Status permintaan. 
code = response.code
# Informasi status rinci tentang permintaan. 
message = response.message
# Nilai balik. 
data = response.data
# Tampilkan nilai balik. 
print(response)

Tabel berikut menjelaskan parameter dalam permintaan di atas:

Parameter

Tipe

Diperlukan

Deskripsi

image_url

STRING

Ya

URL gambar. Bagian wajah dalam gambar harus memiliki resolusi lebih tinggi dari 100 × 100.

model_name

STRING

Ya

Secara default, string kosong ditentukan untuk memanggil model tujuan umum.

Jika model tujuan umum tidak dapat memenuhi kebutuhan bisnis Anda, hubungi manajer akun Anda untuk mendapatkan model kustom. Anda dapat menentukan nama model kustom untuk memanggil model kustom.

configure

Dict

Ya

Pengaturan respons model. Tentukan kamus kosong untuk layanan model.

Contoh keluaran. Beberapa parameter mungkin berisi teks Cina yang tidak diterjemahkan karena alasan teknis:

{'code': 'OK',
 'data': {'attr': [{'FaceShape': {'三角脸': 0.0013,
                                  '圆脸': 0.0147,
                                  '心形脸': 0.0405,
                                  '方形脸': 0.0001,
                                  '椭圆脸': 0.9266,
                                  '菱形脸': 0.0027,
                                  '长脸': 0.0141},
                    'FemaleHairStyle': {'BangsType': {'中分刘海': 0.5932,
                                                      '刘海编发': 0.0058,
                                                      '斜刘海': 0.0575,
                                                      '无刘海': 0.3078,
                                                      '空气刘海': 0.0143,
                                                      '齐刘海': 0.0213},
                                        'FemaleCurlyHairType': {'云朵卷': 0.1289,
                                                                '大波浪': 0.2526,
                                                                '小波浪': 0.084,
                                                                '氧气卷': 0.2027,
                                                                '空气卷': 0.1434,
                                                                '羊毛卷': 0.1539,
                                                                '蛋卷': 0.0345},
                                        'FemaleHairType': {'卷发': 0.1941,
                                                           '盘发': 0.0112,
                                                           '直发': 0.7947},
                                        'FemaleLongShortHair': {'中长发': 0.2807,
                                                                '短发': 0.0346,
                                                                '长发': 0.6846},
                                        '扎发': 0.3054,
                                        '编发': 0.3453},
                    'HairColor': {'其他颜色': 0.0001,
                                  '咖啡色': 0,
                                  '奶奶灰': 0,
                                  '栗色': 0.0025,
                                  '棕色': 0.0622,
                                  '渐变色': 0.0004,
                                  '酒红色': 0.0001,
                                  '金色': 0,
                                  '黄色': 0,
                                  '黑色': 0.9347},
                    'MaleHairStyle': {'分发': 0.9939,
                                      '圆寸': 0,
                                      '子弹头': 0.0033,
                                      '平头': 0,
                                      '板寸': 0.001,
                                      '毛寸': 0.0008,
                                      '碎发': 0,
                                      '背头': 0.0001,
                                      '莫西干': 0.0006},
                    'bbox': [91, 0, 430, 452],
                    'face_score': 3.2431,
                    'index': 0}]},
 'message': 'success',
 'request_id': '9b2f2c0e-d2c0-45f8-b922-058d00edc9ad'}

Tabel berikut menjelaskan parameter respons:

Parameter

Deskripsi

request_id

ID permintaan, bertipe STRING.

code

Kode status permintaan, bertipe STRING.

message

Informasi status rinci tentang permintaan, bertipe STRING. Contoh keluaran:

  • success

  • Invalid Input - image data error - base64decode error: base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

Untuk informasi lebih lanjut, lihat Kode kesalahan.

Data

Konten yang dikembalikan oleh layanan model, bertipe DICT. Untuk informasi lebih lanjut tentang parameter respons, lihat Parameter data.

Tabel 1. Parameter Data

Parameter

Deskripsi

attr

Konten atribut gambar, bertipe LIST. Setiap elemen dalam daftar menunjukkan satu atribut wajah.

Catatan

Jika daftar kosong, tidak ada wajah yang terdeteksi.

FaceShape

Bentuk wajah, bertipe DICT.

FemaleHairStyle

Tipe gaya rambut wanita, bertipe DICT.

BangsType

Tipe poni wanita, bertipe DICT.

FemaleCurlyHairType

Tipe rambut keriting wanita, bertipe DICT.

Jika parameter FemaleHairType kemungkinan besar diatur ke gaya rambut keriting, nilai parameter ini dibaca.

FemaleHairType

Tipe rambut wanita, bertipe DICT.

FemaleLongShortHair

Panjang rambut wanita, bertipe DICT.

Tied hair

Menentukan apakah rambut wanita diikat. Nilainya bertipe FLOAT.

Jika nilai parameter ini lebih besar dari atau sama dengan 0,5, rambut diikat.

Braided hair

Menentukan apakah rambut wanita dikepang. Nilainya bertipe FLOAT.

Jika nilai parameter ini lebih besar dari atau sama dengan 0,5, rambut dikepang.

HairColor

Warna rambut, bertipe DICT.

MaleHairStyle

Gaya rambut pria, bertipe DICT.

bbox

Bidang persegi panjang tempat wajah berada, bertipe LIST. Nilainya dalam format [xmin,ymin,xmax,ymax].

index

ID wajah dalam gambar. Nilainya bertipe INT dan dimulai dari 0.

Analisis usia

Anda dapat mengidentifikasi interval usia wajah utama dalam gambar.

Catatan

Model ini merupakan model kustom. Untuk menggunakannya, hubungi manajer akun Anda dan berikan AppId untuk konfigurasi.

Contoh permintaan:

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# URL gambar.
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# Nama model kustom.
model_name = 'fairface'
# Pengaturan respons model.
configure = {}
# Layanan model yang akan dipanggil.
response = ai_service_api.face_attr_image(image_url, model_name, configure)
# ID permintaan.
request_id = response.request_id
# Status permintaan.
code = response.code
# Informasi status rinci tentang permintaan.
message = response.message
# Nilai balik.
data = response.data
# Tampilkan nilai balik.
print(response)

Tabel berikut menjelaskan parameter utama:

Parameter

Tipe

Diperlukan

Deskripsi

image_url

STRING

Ya

URL gambar. Bagian wajah dalam gambar harus memiliki resolusi lebih tinggi dari 100 × 100.

model_name

STRING

Ya

Nama model kustom.

configure

Dict

Ya

Pengaturan respons model. Tentukan kamus kosong untuk layanan model.

Contoh tanggapan:

{
    "request_id":"10000",
    "code":"OK",
    "message":"success",
    "data":{
        "age_range":"3-9",
        "age_range_prob":0.9525
    }
}

Parameter

Deskripsi

request_id

ID permintaan, bertipe STRING.

code

Kode status permintaan, bertipe STRING.

message

Informasi status rinci tentang permintaan, bertipe STRING. Contoh keluaran:

  • success

  • Invalid Input-image data error - {error message}

data

Konten yang dikembalikan oleh layanan model, bertipe DICT. Parameter respons.

  • age_range: interval usia, bertipe STRING. Nilai yang mungkin adalah '0-2', '3-9', '10-19', '20-29', '30-39', '40-49', '50-59', '60-69', '70+'.

  • age_range_prob: probabilitas interval usia, bertipe FLOAT.

Beberapa label citra

Anda dapat menambahkan beberapa label ke sebuah citra. Layanan model mengembalikan K label teratas dengan probabilitas tertinggi beserta fitur berdimensi tinggi dari citra tersebut. Berikut adalah contoh permintaan:

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# URL dari citra. 
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# Nama model kustom. 
model_name = ''
# Pengaturan respons dari model. 
configure = {'tag_top_k': 5, 'output_embedding': False}
# Layanan model yang ingin Anda panggil. 
response = ai_service_api.multi_label_image_v2(image_url, model_name, configure)
# ID permintaan. 
request_id = response.request_id
# Status permintaan. 
code = response.code
# Informasi status detail tentang permintaan. 
message = response.message
# Nilai kembali. 
data = response.data
# Menampilkan nilai kembali. 
print(response)

Tabel berikut menjelaskan parameter dalam permintaan di atas:

Parameter

Tipe

Diperlukan

Deskripsi

image_url

STRING

Ya

URL dari citra. Kami merekomendasikan ukuran citra tidak lebih besar dari 5 MB dan resolusi citra sama dengan atau lebih tinggi dari 240 × 240.

model_name

STRING

Ya

Secara default, string kosong ditentukan untuk memanggil model tujuan umum.

Jika model tujuan umum tidak dapat memenuhi kebutuhan Anda, Anda dapat menghubungi dukungan teknis PAI untuk mendapatkan model kustom. Anda dapat menentukan nama model kustom untuk memanggil model kustom tersebut.

configure

Dict

Ya

Pengaturan respons dari model. Nilai default adalah None. Untuk informasi lebih lanjut, lihat Konfigurasi parameter.

Catatan

Jika configure diatur ke None, parameter dalam daftar konfigurasi menggunakan pengaturan default.

Konfigurasi Parameter

Parameter

Tipe

Diperlukan

Deskripsi

tag_top_k

INT

Tidak

K label teratas. Nilai valid K: 1 hingga 10. Nilai default: 10.

output_embedding

BOOL

Tidak

Tentukan apakah akan mengembalikan penyematan citra. Nilai valid:

  • True (default): mengembalikan fitur berdimensi tinggi dari citra.

  • False

Contoh keluaran. Beberapa parameter mungkin berisi teks Tiongkok yang tidak diterjemahkan karena alasan teknis:

{'code': 'OK',
 'data': {'image_height': 510,
          'image_width': 516,
          'tag_result': [{'score': 0.505, 'tag': '笑容'},
                         {'score': 0.493, 'tag': '女士'},
                         {'score': 0.475, 'tag': '美女'},
                         {'score': 0.438, 'tag': '微笑'},
                         {'score': 0.432, 'tag': '蜜茶棕'}]},
 'message': 'success',
 'request_id': 'c9e5aa33-4d8d-49ce-8991-bcbb5f12e43b'}

Tabel berikut menjelaskan parameter respons:

Parameter

Deskripsi

request_id

ID permintaan, yang bertipe STRING.

code

Kode status permintaan, yang bertipe STRING.

message

Informasi status detail tentang permintaan, yang bertipe STRING. Contoh keluaran:

  • success

  • Invalid Input - image data error - base64decode error: base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

Untuk informasi lebih lanjut, lihat Kode kesalahan.

data

Konten yang dikembalikan oleh layanan model, yang bertipe DICT. Untuk informasi lebih lanjut tentang parameter respons, lihat Parameter data.

Tabel 3. Parameter Data

Parameter

Deskripsi

tag_result

Hasil pelabelan, yang bertipe LIST. Label diurutkan berdasarkan skor (probabilitas) secara menurun.

Panjang daftar bervariasi berdasarkan nilai tag_top_k.

score

Probabilitas dari label, yang bertipe FLOAT. Nilainya akurat hingga tiga tempat desimal.

tag

Nama dari label, yang bertipe STRING.

embedding_result

Fitur 512-dimensi dari citra, yang bertipe STRING. Fitur dipisahkan oleh koma (,).

Parameter ini hanya dikembalikan ketika output_embedding diatur ke True.

image_height

Tinggi citra dalam piksel, yang bertipe INT.

image_width

Lebar citra dalam piksel, yang bertipe INT.

Memberi Label pada Lukisan AI

Anda dapat menambahkan beberapa label ke berbagai jenis gambar yang dihasilkan oleh model Stable Diffusion untuk meningkatkan performa pelatihan dalam pembuatan gambar. Output mencakup caption sintetis dan skor yang terkait dengan set label asli.

Penting

Model ini merupakan model kustom. Jika Anda ingin menggunakannya, berikan AppId kepada manajer akun Anda untuk mendapatkan dukungan teknis.

Blok kode berikut menunjukkan contoh permintaan:

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# URL dari gambar.
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# Nama dari model kustom.
model_name = 'tagger'
# Pengaturan respons dari model.
configure = {'threshold': 0.5, 'tagger_type': "SmilingWolf/wd-v1-4-convnextv2-tagger-v2"}
# Layanan model yang akan dipanggil.
response = ai_service_api.multi_label_image_v2(image_url, model_name, configure)
# ID dari permintaan.
request_id = response.request_id
# Status dari permintaan.
code = response.code
# Informasi status detail tentang permintaan.
message = response.message
# Nilai kembali.
data = response.data
# Menampilkan nilai kembali.
print(response)

Tabel berikut menjelaskan parameter-parameter utama:

Parameter

Deskripsi

Tipe

Diperlukan

image_url

URL dari gambar. Kami merekomendasikan ukuran gambar tidak lebih besar dari 5 MB dan resolusi gambar sama dengan atau lebih tinggi dari 240 × 240.

STRING

Ya

model_name

Nama dari model. Atur parameter ini menjadi tagger.

STRING

Ya

configure

Pengaturan respons dari model. Defaultnya adalah None. Untuk informasi lebih lanjut, lihat Konfigurasi parameter.

Dict

Ya

Konfigurasi Parameter

configure

Parameter

Deskripsi

Tipe

Diperlukan

Contoh

threshold

Ambang batas.

FLOAT

Tidak

0.5

tagger_type

Model labeling yang digunakan. Nilai valid:

  • SmilingWolf/wd-v1-4-convnext-tagger-v2

  • SmilingWolf/wd-v1-4-convnextv2-tagger-v2

  • SmilingWolf/wd-v1-4-vit-tagger-v2

  • SmilingWolf/wd-v1-4-swinv2-tagger-v2

  • RAM

  • BLIP

  • GIT

STR

Tidak

SmilingWolf/wd-v1-4-convnextv2-tagger-v2

Contoh tanggapan:

{
    "data": {
    	"caption": "sensitive, 1girl, solo, long hair, looking at viewer, smile, black hair, brown eyes, scarf, lips, realistic",
    	"probs": [1.1920928955078125e-07, ............, 3.5762786865234375e-07, 4.76837158203125e-07],
	}
    "request_id": "12***", 
    "code": "OK", 
    "message": "success"
}

Parameter

Deskripsi

Tipe

request_id

ID dari permintaan.

STRING

code

Kode status permintaan.

STRING

message

Informasi status detail tentang permintaan. Contoh:

  • success

  • Invalid Input - image data error - base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

STRING

data

Konten yang dikembalikan oleh layanan model. Untuk informasi lebih lanjut, lihat Parameter data.

Dict

Parameter Data

Parameter

Deskripsi

Tipe

caption

Hasil labeling, yang dipisahkan oleh koma (,).

STR

probs

Skor yang diperoleh dengan menggunakan model labeling tertentu.

List

Modifikasi figur potret

Anda dapat memodifikasi figur dalam gambar dengan mengunggah gambar potret dan menyesuaikan parameter degree untuk membuat figur tampak lebih besar atau lebih langsing. Sebagai contoh, atur parameter degree ke nilai lebih besar dari 0 untuk melangsingkan figur.

Penting

Model ini merupakan model kustom. Untuk menggunakan model ini, berikan AppId kepada manajer akun Anda guna mendapatkan dukungan teknis.

Contoh permintaan:

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# URL gambar.
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# Nama model yang ingin Anda gunakan.
model_name = 'body_reshaping'
# Jika Anda ingin memperbesar figur, kami sarankan untuk mengatur parameter degree ke nilai antara -2.5 dan -1.5.
configure = {'degree': -1.5}
# Layanan model yang akan dipanggil.
response = ai_service_api.multi_label_image_v2(image_url, model_name, configure)
# ID permintaan.
request_id = response.request_id
# Status permintaan.
code = response.code
# Informasi status rinci tentang permintaan.
message = response.message
# Nilai kembali.
data = response.data
# Menampilkan nilai kembali.
print(response)

Tabel berikut menjelaskan parameter permintaan.

Parameter

Deskripsi

Tipe

Diperlukan

image_url

URL gambar. Kami sarankan ukuran gambar tidak lebih besar dari 5 MB dan resolusi gambar sama dengan atau lebih tinggi dari 240 × 240.

STRING

Ya

model_name

Nama model. Atur nilainya ke body_reshaping.

STRING

Ya

configure

Pengaturan respons model. Defaultnya adalah None. Untuk informasi lebih lanjut, lihat Konfigurasikan parameter.

Dict

Ya

Konfigurasikan Parameter

Parameter

Deskripsi

Tipe

Diperlukan

degree

Tingkat modifikasi figur. Nilai yang lebih besar dari 0 menunjukkan untuk melangsingkan figur. Nilai default: -1.5.

FLOAT

Tidak

Contoh respons:

{
 "code":"OK",
 "data":"imByev+I3vrryTGN****",
 "message":"success",
 "request_id":"1d4572a1-2800-4213-9e9c-33********"
}

Tabel berikut menjelaskan parameter respons.

Parameter

Deskripsi

Tipe

request_id

ID permintaan.

STRING

code

Kode status permintaan.

STRING

message

Informasi status rinci tentang permintaan. Contoh:

  • success

  • Invalid Input - image data error - base64decode error: base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

STRING

data

Gambar yang dikodekan Base64 yang dikembalikan oleh layanan model.

STRING

Penghapusan Watermark

Masukkan gambar yang mengandung watermark untuk menghasilkan gambar tanpa watermark, dengan fokus utama pada watermark umum dari video dan platform media sosial.

Penting

Model ini merupakan model kustom. Untuk menggunakan model ini, berikan AppId kepada manajer akun Anda guna mendapatkan dukungan teknis.

Contoh permintaan:

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# URL dari gambar.
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# Nama model kustom.
model_name = 'watermark_remover'
# Tentukan kamus kosong.
configure = {}
# Layanan model yang akan dipanggil.
response = ai_service_api.multi_label_image_v2(image_url, model_name, configure)
# ID dari permintaan.
request_id = response.request_id
# Status dari permintaan.
code = response.code
# Informasi status detail tentang permintaan.
message = response.message
# Nilai kembali.
data = response.data
# Tampilkan nilai kembali.
print(response)

Tabel berikut menjelaskan parameter-parameter tersebut.

Parameter

Deskripsi

Tipe

Diperlukan

image_url

URL dari gambar. Kami merekomendasikan agar ukuran gambar tidak lebih besar dari 5 MB dan resolusi gambar sama dengan atau lebih tinggi dari 240 × 240.

STRING

Ya

model_name

Nama dari model. Tetapkan nilainya menjadi watermark_remover.

STRING

Ya

configure

Pengaturan tanggapan dari model. Defaultnya adalah None.

Dict

Ya

Contoh tanggapan:

{
 "code":"OK",
 "data":"imByev+I3vr****",
 "message":"success",
 "request_id":"1d4572a****"
}

Tabel berikut menjelaskan parameter yang dikembalikan.

Parameter

Deskripsi

Tipe

request_id

ID dari permintaan.

STRING

code

Kode status permintaan.

STRING

message

Informasi status detail tentang permintaan. Contoh:

  • success

  • Invalid Input - image data error - base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

STRING

data

Gambar yang di-Base64-encode yang dikembalikan oleh layanan model.

STRING

Kategorisasi dan pelabelan postingan

Anda dapat memberi label pada postingan multi-modal seperti konten yang terdiri dari teks dan gambar atau teks dan video untuk meningkatkan akurasi pelabelan. Layanan model juga mengembalikan hasil penyematan fitur berdimensi tinggi.

Catatan

Model ini merupakan model kustom. Untuk menggunakannya, hubungi manajer akun Anda dan berikan AppId untuk konfigurasi.

Contoh permintaan:

from ai_service_python_sdk.client.api.ai_service_video_api import AiServiceVideoApi

ai_service_api = AiServiceVideoApi(client)
# Nama model yang ingin Anda gunakan.
model_name = 'multi_modal_tag'
# URL video. Jika tidak ada URL video yang tersedia, tentukan string kosong.
video_url = 'https://YOUR_VIDEO.mp4'
# URL gambar. Jika tidak ada URL gambar yang tersedia, tentukan array kosong.
images = [
    'https://YOUR_IMAGE_0.jpg',
    'https://YOUR_IMAGE_1.jpg',
    'https://YOUR_IMAGE_2.jpg'
]
# Konten teks.
text ='Konten teks'
# Pengaturan respons model.
configure = {
    'output_classification': True, 
    'classification_top_k': 1,
    'output_tag': True,
    'tag_top_k': 5, 
    'output_embedding': True
}
# Layanan model yang akan dipanggil.
response = ai_service_api.multimodal_classify(video_url, images, text, model_name, configure)
# ID permintaan.
request_id = response.request_id
# Status permintaan.
code = response.code
# Informasi status rinci tentang permintaan.
message = response.message
# Konten yang dikembalikan oleh permintaan.
data = response.data
# id pekerjaan
job_id = response.data['job_id']
# Menampilkan nilai kembali.
print(response)

Tabel berikut menjelaskan parameter utama:

Parameter

Tipe

Diperlukan

Deskripsi

video_url

STRING

Ya

URL video. Jika tidak ada URL video yang tersedia, tentukan string kosong.

images

List[STRING]

Ya

URL gambar. Jika tidak ada URL gambar yang tersedia, tentukan array kosong. Pisahkan beberapa URL gambar dengan koma (,).

text

STRING

Ya

Konten teks, yang terdiri dari judul dan pengantar.

model_name

STRING

Ya

Nama model yang ingin Anda gunakan.

configure

Dict

Ya

Konfigurasi tambahan model, yang bertipe DICT. Untuk informasi lebih lanjut, lihat Konfigurasikan parameter.

Konfigurasikan Parameter

Parameter

Tipe

Diperlukan

Deskripsi

output_classification

BOOL

Tidak

Menentukan apakah akan mengembalikan hasil klasifikasi. Nilai default: True.

classification_top_k

INT

Tidak

Hasil K klasifikasi teratas. Nilainya berkisar antara 1 hingga 10. Nilai default: 1.

output_tag

BOOL

Tidak

Menentukan apakah akan mengembalikan hasil pelabelan. Nilai default: True.

tag_top_k

INT

Tidak

Hasil K pelabelan teratas. Nilainya berkisar antara 1 hingga 10. Nilai default: 5.

output_embedding

BOOL

Tidak

Menentukan apakah akan mengembalikan hasil penyematan konten multi-modal 32 dimensi. Nilai default: True.

Contoh respons:

{'code': 'OK',
 'data': {'job_id': 1134***},
 'message': 'success',
 'request_id': '49b0c9c2-06be-4f30-9b9f-f04baecf4577'}

Peroleh job_id dari hasil yang dikembalikan sebelumnya dan gunakan kode berikut untuk menanyakan hasilnya:

from ai_service_python_sdk.client.api.ai_service_job_api import AiServiceJobApi

ai_service_job_api = AiServiceJobApi(client)
# Hasil kueri.
result = ai_service_job_api.get_async_job(<YOUR-JOB-ID>)
# Menampilkan nilai kembali.
print(result)

Ganti <YOUR-JOB-ID> dengan job_id yang Anda peroleh.

Contoh respons:

  • Hasil berikut dikembalikan jika pekerjaan sedang berjalan:

    {'code': 'OK',
     'data': {'job': {'Result': '',
                      'app_id': 'YOUR_APPID',
                      'create_time': '2023-10-18T14:32:42.619+08:00',
                      'id': 1134206,
                      'message': 'video downloading',
                      'state': 1}},
     'message': 'success',
     'request_id': '49b0c9c2-06be-4f30-9b9f-f04baecf4577'}
  • Hasil berikut dikembalikan jika pekerjaan selesai. Beberapa parameter mungkin berisi teks Tiongkok yang tidak diterjemahkan karena alasan teknis:

    {
    'code': 'OK',
    'data': {'job': 
                {'Result': 
                            '{"classification_result":[{"class":"旅游","score":0.67}],
                            "duration":15.16,
                            "embedding_result":"0.915,0.882,0.943,0.978,1.027,1.181,1.066,1.029,0.866,0.716,0.628,1.203,0.689,0.533,0.734,1.038,0.98,0.613,0.96,0.88,0.586,0.702,1.515,0.697,0.987,0.699,1.179,4.274,0.757,0.89,0.805,0.901",
                            "tag_result":[{"score":0.56,"tag":"有字幕"},{"score":0.456,"tag":"航拍"},{"score":0.453,"tag":"西藏"},{"score":0.437,"tag":"交通工具"},{"score":0.429,"tag":"机械"}],
                            "video_height":918,
                            "video_width":552}',
                            'app_id': '202211140827340****',
                            'create_time': '2023-10-18T14:32:42.619+08:00',
                            'id': 113****,
                            'message': 'success',
                            'model_id': 0,
                            'request_id': '',
                            'state': 2,
                            'type': 'Video'
                }
            },
    'message': 'success',
    'request_id': '139a40ad-fdf6-45de-b760-161c52ff3f3c'
    }

Tabel berikut menjelaskan parameter respons:

Parameter

Tipe

Deskripsi

request_id

STRING

ID permintaan.

code

STRING

Kode status permintaan.

message

STRING

Informasi status rinci tentang permintaan. Nilai yang mungkin:

  • success

  • Invalid Input - video data error - load video failed

  • Invalid Input - json format error - json parse runtime exception

data

Dict

Konten yang dikembalikan oleh layanan model. Untuk informasi lebih lanjut, lihat Parameter data.

Parameter Data

Parameter

Tipe

Deskripsi

id

INT

ID pekerjaan.

app_id

STRING

AppId.

state

INT

Kode status pekerjaan. Nilai yang mungkin:

  • 0: Pekerjaan sedang diinisialisasi.

  • 1: Pekerjaan sedang berjalan.

  • 2: Pekerjaan selesai.

  • 3: Pekerjaan gagal.

message

STRING

Informasi eksekusi pekerjaan. Nilai yang mungkin:

  • success

  • video downloading

create_time

STRING

Waktu ketika pekerjaan dibuat.

Result

STRING

Hasil yang dikembalikan oleh layanan model. Untuk informasi lebih lanjut tentang parameter respons, lihat Parameter hasil.

Parameter Hasil

Parameter

Tipe

Deskripsi

classification_result

List

Hasil klasifikasi. Kelas diurutkan secara menurun berdasarkan skor. Panjang daftar bervariasi berdasarkan

classification_top_k. Setiap item bertipe DICT.

Parameter ini hanya dikembalikan jika Anda mengatur output_classification ke True.

tag_result

List

Hasil pelabelan. Label diurutkan secara menurun berdasarkan skor. Panjang daftar bervariasi berdasarkan tag_top_k. Setiap item bertipe DICT.

Parameter ini hanya dikembalikan jika Anda mengatur output_tag ke True.

score

FLOAT

Probabilitas label, yang akurat hingga tiga tempat desimal.

class

STRING

Nama kelas.

tag

STRING

Nama label.

embedding_result

STRING

Fitur multi-modal 32 dimensi. Pisahkan beberapa fitur dengan koma (,).

video_height

INT

Tinggi video dalam piksel. String kosong dikembalikan jika Anda menentukan string kosong untuk parameter video_url.

video_width

INT

Lebar video dalam piksel. String kosong dikembalikan jika Anda menentukan string kosong untuk parameter video_url.

duration

FLOAT

Durasi video. String kosong dikembalikan jika Anda menentukan string kosong untuk parameter video_url.

Evaluasi kualitas video

Anda dapat mengevaluasi kualitas video. Layanan model mengembalikan bilangan titik mengambang antara 0 hingga 100. Gunakan salah satu metode berikut untuk memanggil layanan model:

  • Evaluasi kualitas video tunggal. Berikut adalah contoh permintaan:

    from ai_service_python_sdk.client.api.ai_service_video_api import AiServiceVideoApi
    
    video_url = 'https://your_video_url.mp4'
    ai_service_api = AiServiceVideoApi(client)
    # Nama model kustom. 
    model_name = ''
    # Judul video. 
    video_title = ''
    # Pengaturan respons model. 
    configure = {}
    # Layanan model yang ingin Anda panggil. 
    response = ai_service_api.video_qa(video_url, model_name, video_title, configure)
    # ID permintaan. 
    request_id = response.request_id
    # Status permintaan. 
    code = response.code
    # Informasi status rinci tentang permintaan. 
    message = response.message
    # Konten yang dikembalikan oleh layanan model. 
    data = response.data
    # ID pekerjaan. 
    job_id = response.data['job_id']
    # Tampilkan nilai kembali. 
    print(response)

    Tabel berikut menjelaskan parameter dalam permintaan di atas:

    Parameter

    Tipe

    Diperlukan

    Deskripsi

    video_url

    STRING

    Ya

    URL video. Kami sarankan ukuran video tidak lebih besar dari 100 MB dan resolusi video sama dengan atau lebih tinggi dari 320 × 240.

    video_title

    STRING

    Ya

    Judul video. Tentukan string kosong karena layanan model tidak mengharuskan Anda untuk menentukan judul video.

    model_name

    STRING

    Ya

    Secara default, string kosong ditentukan untuk memanggil model tujuan umum.

    Jika model tujuan umum tidak dapat memenuhi kebutuhan bisnis Anda, hubungi manajer akun Anda untuk mendapatkan model kustom. Anda dapat menentukan nama model kustom untuk memanggil model kustom.

    configure

    Dict

    Ya

    Pengaturan respons model. Tentukan kamus kosong untuk layanan model.

    Contoh keluaran:

    {'code': 'OK',
     'data': {'job_id': 10**},
     'message': 'success',
     'request_id': '228235a6-db4f-466a-b20b-a4453f81****'}

    Peroleh job_id dari respons yang dikembalikan sebelumnya dan tentukan ID pekerjaan dalam kode berikut untuk menanyakan hasilnya:

    from ai_service_python_sdk.client.api.ai_service_job_api import AiServiceJobApi
    
    ai_service_job_api = AiServiceJobApi(client)
    # Menanyakan hasil. 
    result = ai_service_job_api.get_async_job(<YOUR-JOB-ID>)
    # Tampilkan nilai kembali. 
    print(result)

    Ganti <YOUR-JOB-ID> dengan nilai job_id yang dikembalikan oleh layanan model, bertipe INT.

    • Hasil berikut dikembalikan jika pekerjaan sedang berjalan:

      {'code': 'OK',
       'data': {'job': {'Result': '',
                        'app_id': '202209070402410****',
                        'create_time': '2022-09-07T14:03:33.8+08:00',
                        'id': 1012,
                        'message': 'video downloading',
                        'state': 1}},
       'message': 'success',
       'request_id': '5259ec57-e55c-4772-b01e-3deafd74****'}
    • Hasil berikut dikembalikan jika pekerjaan selesai:

      {'code': 'OK',
       'data': {'job': {'Result': '{"avg_fps":30,"duration":14,"height":1920,"single_img":0.74072265625,"video_score":20.57750291278764,"width":1080}',
                        'app_id': '202209290847310****',
                        'create_time': '2022-10-12T10:51:30.015+08:00',
                        'id': 1012,
                        'message': 'success',
                        'state': 2}},
       'message': 'success',
       'request_id': '0b4f658f-cd96-4606-8d81-d2fe0a6d****'}

    Tabel berikut menjelaskan parameter respons:

    Parameter

    Tipe

    Deskripsi

    request_id

    STRING

    ID permintaan, yang bertipe STRING.

    code

    STRING

    Kode status permintaan, yang bertipe STRING.

    message

    STRING

    Informasi status rinci tentang permintaan, yang bertipe STRING. Contoh keluaran:

    • success

    • Invalid Input - video data error - load video failed

    • Invalid Input - json format error - json parse runtime exception

    Untuk informasi lebih lanjut, lihat Kode kesalahan.

    data

    Dict

    Konten yang dikembalikan oleh layanan model, yang bertipe DICT. Untuk informasi lebih lanjut tentang parameter respons, lihat Parameter data.

    Tabel 4. Parameter Data

    Parameter

    Deskripsi

    id

    ID pekerjaan (job_id), yang bertipe INT.

    app_id

    AppId, yang bertipe INT.

    state

    Kode status pekerjaan, yang bertipe INT. Nilai valid:

    • 0: Pekerjaan sedang diinisialisasi.

    • 1: Pekerjaan sedang berjalan.

    • 2: Pekerjaan selesai.

    • 3: Pekerjaan gagal.

    message

    Informasi eksekusi pekerjaan, yang bertipe STRING. Nilai valid:

    • success

    • video downloading

    create_time

    Waktu ketika pekerjaan dibuat, yang bertipe STRING.

    Result

    Hasil yang dikembalikan oleh layanan model, yang bertipe STRING. Untuk informasi lebih lanjut, lihat Parameter hasil.

    Tabel 5. Parameter Hasil

    Parameter

    Deskripsi

    video_score

    Skor kualitas video, yang bertipe FLOAT. Nilai valid: 0 hingga 100.

    avg_fps

    Rata-rata laju frame video, yang bertipe INT.

    duration

    Durasi video, yang bertipe INT. Satuan: detik.

    single_img

    Perbedaan antara gambar dalam video, yang bertipe FLOAT. Nilai valid: 0 hingga 1. Nilai yang lebih kecil menunjukkan perbedaan yang lebih kecil. Ini berarti video dihasilkan berdasarkan gambar statis.

    height

    Tinggi video dalam piksel, yang bertipe INT.

    width

    Lebar video dalam piksel, yang bertipe INT.

  • Evaluasi kualitas beberapa video secara batch. Berikut adalah contoh permintaan:

    from ai_service_python_sdk.client.api.ai_service_video_api import AiServiceVideoApi
    from ai_service_python_sdk.client.models.batch_video_request_videos import BatchVideoRequestVideos
    
    ai_service_api = AiServiceVideoApi(client)
    
    # Buat permintaan pemrosesan batch (URL video + judul video). 
    videos = [
        BatchVideoRequestVideos('https://your_video_1_url.mp4', ''),
        BatchVideoRequestVideos('https://your_video_2_url.mp4', '')
        ]
    # Nama model kustom. 
    model_name = ''
    # Pengaturan respons model. 
    configure = {}
    # Layanan model yang ingin Anda panggil. 
    response = ai_service_api.batch_video_qa(videos, model_name, configure)
    # ID permintaan. 
    request_id = response.request_id
    # Status permintaan. 
    code = response.code
    # Informasi status rinci tentang permintaan. 
    message = response.message
    # Konten yang dikembalikan oleh layanan model. 
    data = response.data
    # ID pekerjaan batch. 
    batch_id = response.data['batch_id']
    # Tampilkan nilai kembali. 
    print(response)

    Contoh keluaran:

    {'code': 'OK',
     'data': {'batch_id': 14},
     'message': 'success',
     'request_id': '6d5ef1b5-c01f-4e63-9eec-150ddde9****'}

    Peroleh batch_id dari respons yang dikembalikan sebelumnya dan gunakan ID batch dalam kode berikut untuk menanyakan hasilnya:

    from ai_service_python_sdk.client.api.ai_service_job_api import AiServiceJobApi
    
    ai_service_job_api = AiServiceJobApi(client)
    # Menanyakan hasil. 
    result = ai_service_job_api.get_batch_job_with_id(<YOUR-BATCH-ID>)
    # Tampilkan nilai kembali. 
    print(result)

    Ganti <YOUR-BATCH-ID> dengan nilai batch_id yang dikembalikan oleh layanan model, bertipe INT.

    Hasil berikut dikembalikan:

    {'code': 'OK',
     'data': {'jobs': [{'Result': '{"avg_fps":30,"duration":14.633333333333333,"height":1280,"single_img":0.486328125,"video_score":55.3773279862801,"width":720}',
                        'app_id': '202209290847310****',
                        'batch_id': 14,
                        'create_time': '2022-10-26T19:44:47.501+08:00',
                        'id': 44**,
                        'message': 'success',
                        'object': 'https://your_video_1_url.mp4',
                        'state': 2},
                       {'Result': '{"avg_fps":30,"duration":18.2,"height":568,"single_img":0.5791015625,"video_score":67.21071975649835,"width":320}',
                        'app_id': '202209290847310****',
                        'batch_id': 14,
                        'create_time': '2022-10-26T19:44:47.501+08:00',
                        'id': 4484,
                        'message': 'success',
                        'object': 'https://your_video_2_url.mp4',
                        'state': 2}]},
     'message': 'success',
     'request_id': 'e99697ff-7d42-4c0a-a0a0-c6a0c0ba****'}

    Parameter data['jobs'] yang dikembalikan oleh pekerjaan batch adalah array. Tabel berikut menjelaskan parameter dalam array:

    Parameter

    Deskripsi

    id

    ID entri data dalam pekerjaan batch, yang bertipe INT.

    batch_id

    ID pekerjaan batch, yang bertipe INT.

    app_id

    AppId, yang bertipe INT.

    state

    Kode status pekerjaan, yang bertipe INT. Nilai valid:

    • 0: Pekerjaan sedang diinisialisasi.

    • 1: Pekerjaan sedang berjalan.

    • 2: Pekerjaan selesai.

    • 3: Pekerjaan gagal.

    message

    Informasi eksekusi pekerjaan, yang bertipe STRING. Nilai valid:

    • success

    • video downloading

    create_time

    Waktu ketika pekerjaan dibuat, yang bertipe STRING.

    object

    URL video, yang bertipe STRING.

    Result

    Hasil yang dikembalikan oleh layanan model, yang bertipe STRING.

    Catatan

    Parameter Result sama dengan parameter Result yang dikembalikan oleh layanan model yang digunakan untuk mengevaluasi kualitas video tunggal.

Klasifikasi video berdasarkan label

Anda dapat mengklasifikasikan video pendek dengan menambahkan label. Layanan model mengembalikan kelas video, K label teratas dengan probabilitas tertinggi, dan fitur berdimensi tinggi dari video. Gunakan salah satu metode berikut untuk memanggil layanan model:

  • Klasifikasikan satu video. Berikut adalah contoh permintaan:

    from ai_service_python_sdk.client.api.ai_service_video_api import AiServiceVideoApi
    
    video_url = 'https://your_video_url.mp4'
    ai_service_api = AiServiceVideoApi(client)
    # Nama model kustom. 
    model_name = ''
    # Judul video. 
    video_title = 'your_video_title'
    # Pengaturan respons model. 
    configure = {
        'output_classification': True,
        'classification_top_k': 1,
        'output_tag': True,
        'tag_top_k': 5,
        'output_embedding': True
        }
    # Layanan model yang ingin Anda panggil. 
    response = ai_service_api.classify_label_video(video_url, video_title, model_name, configure)
    # ID permintaan. 
    request_id = response.request_id
    # Status permintaan. 
    code = response.code
    # Informasi status rinci tentang permintaan. 
    message = response.message
    # Konten yang dikembalikan oleh layanan model. 
    data = response.data
    # ID pekerjaan. 
    job_id = response.data['job_id']
    # Tampilkan nilai kembali. 
    print(response)

    Tabel berikut menjelaskan parameter dalam permintaan di atas:

    Parameter

    Tipe

    Diperlukan

    Deskripsi

    video_url

    STRING

    Ya

    URL video. Kami merekomendasikan agar ukuran video tidak lebih besar dari 100 MB dan resolusi video sama dengan atau lebih tinggi dari 320 × 240.

    video_title

    STRING

    Ya

    Judul video. Jika video tidak memiliki judul, tentukan string kosong.

    model_name

    STRING

    Ya

    Secara default, string kosong ditentukan untuk memanggil model tujuan umum.

    Jika model tujuan umum tidak dapat memenuhi kebutuhan Anda, Anda dapat menghubungi dukungan teknis PAI untuk mendapatkan model kustom. Anda dapat menentukan nama model kustom untuk memanggil model kustom.

    configure

    Dict

    Ya

    Pengaturan respons model. Nilai default adalah None. Untuk informasi lebih lanjut, lihat Konfigurasi parameter.

    Catatan

    Jika configure diatur ke None, parameter dalam daftar konfigurasi menggunakan pengaturan default.

    Tabel 6. Konfigurasi Parameter

    Parameter

    Tipe

    Diperlukan

    Deskripsi

    output_classification

    BOOL

    Tidak

    Tentukan apakah akan mengembalikan hasil klasifikasi video. Nilai valid:

    • True (default)

    • False

    classification_top_k

    INT

    Tidak

    Kelas teratas K video. Nilai valid K: 1 hingga 10. Nilai default: 1.

    output_tag

    BOOL

    Tidak

    Tentukan apakah akan mengembalikan label video. Nilai valid:

    • True (default)

    • False

    tag_top_k

    INT

    Tidak

    Label teratas K video. Nilai valid K: 1 hingga 10. Nilai default: 5.

    output_embedding

    BOOL

    Tidak

    Tentukan apakah akan mengembalikan penyematan video 64 dimensi. Nilai valid:

    • True (default)

    • False

    Contoh keluaran:

    {'code': 'OK',
     'data': {'job_id': 5},
     'message': 'success',
     'request_id': '4f6caecb-e3d6-4997-89fe-26ac7536****'}

    Peroleh job_id dari respons yang dikembalikan sebelumnya dan tentukan ID pekerjaan dalam kode berikut untuk menanyakan hasilnya:

    from ai_service_python_sdk.client.api.ai_service_job_api import AiServiceJobApi
    
    ai_service_job_api = AiServiceJobApi(client)
    # Menanyakan hasil. 
    result = ai_service_job_api.get_async_job(<YOUR-JOB-ID>)
    # Tampilkan nilai kembali. 
    print(result)

    Ganti <YOUR-JOB-ID> dengan nilai job_id yang dikembalikan oleh layanan model, bertipe INT.

    • Hasil berikut dikembalikan jika pekerjaan sedang berjalan:

      {'code': 'OK',
       'data': {'job': {'Result': '',
                        'app_id': '202209070402410****',
                        'create_time': '2022-09-07T14:03:33.8+08:00',
                        'id': 5,
                        'message': 'video downloading',
                        'state': 1}},
       'message': 'success',
       'request_id': '5259ec57-e55c-4772-b01e-3deafd74****'}
      
    • Hasil berikut dikembalikan jika pekerjaan selesai. Beberapa parameter mungkin berisi teks Cina yang tidak diterjemahkan karena alasan teknis:

      {'code': 'OK',
       'data': {'job': {'Result':
          '{"classification_result":[
              {"class":"三农","score":0.997}
              ],
          "duration":14.633333333333333,
          "embedding_result":"-0.162,0.483,0.881,0.686,0.319,-1.569,0.266,0.227,-1.352,1.157,-0.784,-1.016,-0.987,-1.214,-0.493,-1.182,0.85,1.473,-1.27,-3.391,3.394,-0.471,-0.434,0.256,2.146,0.787,0.348,1.67,0.229,-0.878,0.299,0.392,-2.161,-0.756,-3.438,-0.158,0.713,-5.812,-1.248,0.253,-1.111,-0.165,2.644,-2.368,-1.636,-0.533,0.468,1.2,-1.431,-1.151,-1.276,-1.954,1.167,-0.938,-0.111,-2.636,-1.248,4.662,1.892,5.485,-1.137,1.589,-1.935,1.018",
          "tag_result":[
              {"score":0.728,"tag":"盆栽"},
              {"score":0.576,"tag":"植物"},
              {"score":0.539,"tag":"种植技术"},
              {"score":0.466,"tag":"农业技术"},
              {"score":0.458,"tag":"种植"}
              ],
          "video_height":1280,
          "video_width":720}\n',
        'app_id': '202209070402410****',
        'create_time': '2022-09-07T14:03:33.8+08:00',
        'id': 5,
        'message': 'success',
        'state': 2}},
       'message': 'success',
       'request_id': '9283066a-f414-40fd-8fd3-0f77c1ef****'}

    Tabel berikut menjelaskan parameter respons:

    Parameter

    Deskripsi

    request_id

    ID permintaan, yang bertipe STRING.

    code

    Kode status permintaan, yang bertipe STRING.

    message

    Informasi status rinci tentang permintaan, yang bertipe STRING. Contoh keluaran:

    • success

    • Invalid Input - video data error - load video failed

    • Invalid Input - json format error - json parse runtime exception

    Untuk informasi lebih lanjut, lihat Kode kesalahan.

    data

    Konten yang dikembalikan oleh layanan model, yang bertipe DICT. Untuk informasi lebih lanjut, lihat Data ['job'] parameters.

    Tabel 7. Data ['job'] Parameters

    Parameter

    Deskripsi

    id

    ID pekerjaan (job_id), yang bertipe INT.

    app_id

    AppId, yang bertipe INT.

    state

    Kode status pekerjaan, yang bertipe INT. Nilai valid:

    • 0: Pekerjaan sedang menginisialisasi.

    • 1: Pekerjaan sedang berjalan.

    • 2: Pekerjaan selesai.

    • 3: Pekerjaan gagal.

    message

    Informasi eksekusi pekerjaan, yang bertipe STRING. Nilai valid:

    • success

    • video downloading

    create_time

    Waktu ketika pekerjaan dibuat, yang bertipe STRING.

    Result

    Hasil yang dikembalikan oleh layanan model, yang bertipe STRING. Untuk informasi lebih lanjut, lihat Parameter Result.

    Tabel 8. Parameter Result

    Parameter

    Deskripsi

    classification_result

    Hasil klasifikasi, yang bertipe LIST. Kelas diurutkan secara menurun berdasarkan skor (probabilitas).

    Panjang daftar bervariasi berdasarkan classification_top_k.

    Parameter ini hanya dikembalikan ketika output_classification diatur ke True.

    tag_result

    Label video, yang diurutkan secara menurun berdasarkan skor (probabilitas).

    Panjang daftar bervariasi berdasarkan tag_top_k.

    Parameter ini hanya dikembalikan ketika output_tag diatur ke True.

    score

    Probabilitas label, yang bertipe FLOAT. Nilainya akurat hingga tiga tempat desimal.

    class

    Alias dari kelas, yang bertipe STRING.

    tag

    Nama label, yang bertipe STRING.

    embedding_result

    Fitur 64 dimensi video, yang bertipe STRING. Fitur dipisahkan oleh koma (,).

    Parameter ini hanya dikembalikan ketika output_embedding diatur ke True.

    video_height

    Tinggi video dalam piksel, yang bertipe INT.

    video_width

    Lebar video dalam piksel, yang bertipe INT.

    duration

    Durasi video, yang bertipe FLOAT.

  • Klasifikasikan beberapa video secara batch. Berikut adalah contoh permintaan:

    from ai_service_python_sdk.client.api.ai_service_video_api import AiServiceVideoApi
    from ai_service_python_sdk.client.models.batch_video_request_videos import BatchVideoRequestVideos
    
    ai_service_api = AiServiceVideoApi(client)
    
    # Pengaturan respons model. 
    configure = {
        'output_classification': True,
        'classification_top_k': 1,
        'output_tag': True,
        'tag_top_k': 5,
        'output_embedding': True
        }
    # Buat permintaan pemrosesan batch (URL video + judul video). 
    videos = [
        BatchVideoRequestVideos('https://your_video_1_url.mp4', 'your_video_title_1'),
        BatchVideoRequestVideos('https://your_video_2_url.mp4', 'your_video_title_2')
        ]
    # Nama model kustom. 
    model_name = ''
    # Layanan model yang ingin Anda panggil. 
    response = ai_service_api.batch_classify_label_video(videos, model_name, configure)
    # ID permintaan. 
    request_id = response.request_id
    # Status permintaan. 
    code = response.code
    # Informasi status rinci tentang permintaan. 
    message = response.message
    # Konten yang dikembalikan oleh layanan model. 
    data = response.data
    # batch id
    batch_id = response.data['batch_id']
    # Tampilkan nilai kembali. 
    print(response)

    Contoh keluaran:

    {'code': 'OK',
     'data': {'batch_id': 1},
     'message': 'success',
     'request_id': 'c59eb912-9df4-4afe-8129-23f7b6dc****'}

    Peroleh batch_id dari respons yang dikembalikan sebelumnya dan gunakan ID batch dalam kode berikut untuk menanyakan hasilnya:

    from ai_service_python_sdk.client.api.ai_service_job_api import AiServiceJobApi
    
    ai_service_job_api = AiServiceJobApi(client)
    # Menanyakan hasil. 
    result = ai_service_job_api.get_batch_job_with_id(<YOUR-BATCH-ID>)
    # Tampilkan nilai kembali. 
    print(result)

    Ganti <YOUR-BATCH-ID> dengan nilai batch_id yang dikembalikan oleh layanan model, bertipe INT.

    Hasil berikut dikembalikan. Beberapa parameter mungkin berisi teks Cina yang tidak diterjemahkan karena alasan teknis:

    {'code': 'OK',
     'data': {'jobs': [{'Result': '{"classification_result":[{"class":"生活","score":0.998}],"duration":14.633333333333333,"embedding_result":"0.998,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002","tag_result":[{"score":0.917,"tag":"盆栽"},{"score":0.777,"tag":"植物"},{"score":0.693,"tag":"园艺"},{"score":0.58,"tag":"幸福树"},{"score":0.509,"tag":"有字幕"}],"video_height":1280,"video_width":720}',
                        'app_id': '202209290847310****',
                        'batch_id': 13,
                        'create_time': '2022-10-26T18:13:20.928+08:00',
                        'id': 4090,
                        'message': 'success',
                        'object': 'https://your_video_1_url.mp4',
                        'state': 2},
                       {'Result': '{"classification_result":[{"class":"体育","score":0.998}],"duration":18.2,"embedding_result":"0.0,0.0,0.0,0.998,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001,0.0,0.0,0.0,0.0,0.001,0.0,0.0,0.0,0.0","tag_result":[{"score":0.981,"tag":"全运会"},{"score":0.901,"tag":"乒乓球"},{"score":0.798,"tag":"运动"},{"score":0.583,"tag":"有字幕"},{"score":0.498,"tag":"乒乓球比赛"}],"video_height":568,"video_width":320}',
                        'app_id': '202209290847310****',
                        'batch_id': 13,
                        'create_time': '2022-10-26T18:13:20.928+08:00',
                        'id': 4091,
                        'message': 'success',
                        'object': 'https://your_video_2_url.mp4',
                        'state': 2}]},
     'message': 'success',
     'request_id': '73e4b48e-42b8-4347-9cb4-7a49c1f8****'}

    Parameter data['jobs'] yang dikembalikan oleh pekerjaan batch adalah array. Tabel berikut menjelaskan parameter dalam array tersebut:

    Parameter

    Deskripsi

    id

    ID entri data dalam pekerjaan batch, yang bertipe INT.

    batch_id

    ID pekerjaan batch, yang bertipe INT.

    app_id

    AppId, yang bertipe INT.

    state

    Kode status pekerjaan, yang bertipe INT. Nilai valid:

    • 0: Pekerjaan sedang menginisialisasi.

    • 1: Pekerjaan sedang berjalan.

    • 2: Pekerjaan selesai.

    • 3: Pekerjaan gagal.

    message

    Informasi eksekusi pekerjaan, yang bertipe STRING. Nilai valid:

    • success

    • video downloading

    create_time

    Waktu ketika pekerjaan dibuat, yang bertipe STRING.

    object

    URL video, yang bertipe STRING.

    Result

    Hasil yang dikembalikan oleh layanan model, yang bertipe STRING.

    Catatan

    Parameter Result sama dengan parameter Result yang dikembalikan oleh layanan model yang digunakan untuk mengevaluasi kualitas satu video.

Kode kesalahan

Tabel berikut menjelaskan kode kesalahan yang dikembalikan oleh SDK Analisis Multimedia untuk Python:

Layanan analisis citra

Kesalahan Permintaan:

Kode status HTTP

kode

Pesan

Operasi

400

PARAMETER_ERROR

image is empty

Tidak ada citra yang ditentukan dalam permintaan.

note found appid

AppId tidak valid.

Unmarshal type error: expected=string, got=number, field=image, offset=42, internal=json: cannot unmarshal number into Go struct field ImageRequest.image of type string

Tipe data parameter citra tidak valid.

401

PARAMETER_ERROR

sign error

Token tidak valid.

404

PARAMETER_ERROR

model not found

Layanan model yang diminta belum diterapkan.

422

SERVER_ERROR

Merujuk pada pesan kesalahan yang dikembalikan.

Layanan model mengalami kesalahan. Merujuk pada isi dari pesan yang dikembalikan.

Layanan analisis video

  • Kesalahan Permintaan:

    Kode status HTTP

    kode

    Pesan

    Operasi

    400

    PARAMETER_ERROR

    not found appid

    AppId tidak valid.

    401

    PARAMETER_ERROR

    sign error

    Token tidak valid.

    404

    PARAMETER_ERROR

    model not found

    Layanan model yang diminta belum diterapkan.

  • Kesalahan Kueri Hasil:

    state

    Pesan

    Operasi

    3

    failed to download video, err=fetch resource failed\tcode = 404

    Sistem gagal mengunduh video dari URL yang ditentukan.

    3

    Merujuk pada pesan kesalahan yang dikembalikan.

    Layanan model mengalami kesalahan. Merujuk pada isi dari pesan yang dikembalikan.