Topik ini menjelaskan cara memanggil API deteksi gambar sinkron untuk melakukan Pengenalan Karakter Optik (OCR) umum. OCR umum dapat mendeteksi dan mengembalikan konten teks dalam sebuah gambar.
Catatan penggunaan
Gunakan operasi API /green/image/scan untuk melakukan deteksi gambar sinkron.
Anda dapat memanggil operasi ini untuk membuat tugas deteksi gambar sinkron. Untuk informasi selengkapnya tentang cara menyusun permintaan HTTP, lihat Struktur permintaan. Anda juga dapat menggunakan permintaan HTTP yang telah dibuat sebelumnya. Untuk informasi selengkapnya, lihat Ikhtisar SDK.
-
Billing information:
Anda dikenai biaya untuk memanggil operasi ini. Untuk informasi selengkapnya tentang metode penagihan, lihat
-
Detection timeout:
Waktu respons maksimum yang diizinkan untuk permintaan moderasi sinkron adalah 6 detik. Jika moderasi tidak selesai dalam 6 detik, kesalahan timeout dikembalikan. Jika Anda tidak memerlukan hasil moderasi secara real time, Anda dapat mengirim permintaan moderasi asinkron. Dalam kebanyakan kasus, kami menyarankan Anda mengirim permintaan moderasi sinkron karena operasi moderasi sinkron lebih mudah dipanggil. Kami menyarankan Anda menetapkan periode timeout ke 6 detik saat memanggil operasi moderasi sinkron.
-
Return result:
Secara umum, hasil moderasi dikembalikan dalam waktu 1 detik setelah Anda mengirim permintaan moderasi sinkron. Waktu tersebut dapat meningkat dalam skenario khusus di mana sistem harus memproses sejumlah besar permintaan, ukuran gambar besar, atau gambar berisi banyak kata. Kecepatan OCR berbanding terbalik dengan jumlah kata dalam gambar. Jika gambar yang akan dimoderasi berisi banyak kata, kami menyarankan Anda mengirim permintaan moderasi asinkron.
-
Image requirements:
URL gambar harus berupa URL HTTP atau HTTPS.
Gambar harus dalam format PNG, JPG, JPEG, BMP, GIF, atau WEBP.
Ukuran gambar maksimal 20 MB. Batas ukuran gambar ini berlaku untuk operasi moderasi sinkron maupun asinkron.
Durasi pengunduhan gambar dibatasi hingga 3 detik. Jika gambar gagal diunduh dalam waktu 3 detik, kesalahan timeout dikembalikan.
Kami menyarankan Anda mengirimkan gambar berukuran minimal 256 × 256 piksel untuk memastikan efek moderasi.
Waktu respons operasi untuk memoderasi gambar bervariasi tergantung pada durasi pengunduhan gambar tersebut. Pastikan Anda menggunakan layanan penyimpanan yang stabil dan andal untuk menyimpan gambar yang akan dimoderasi. Kami menyarankan Anda menggunakan Object Storage Service (OSS) atau Content Delivery Network (CDN).
Batas QPS
Anda dapat memanggil operasi ini hingga 10 kali per detik per akun. Jika jumlah panggilan per detik melebihi batas, Pembatasan kecepatan akan dipicu. Akibatnya, bisnis Anda mungkin terganggu. Kami menyarankan Anda memperhatikan batas ini saat memanggil operasi ini.
Parameter permintaan
|
Name |
Type |
Required |
Example |
Description |
|
bizType |
String |
No |
default |
Skenario bisnis. Anda dapat membuat skenario bisnis di Konsol Content Moderation. Untuk informasi selengkapnya, lihat Menyesuaikan kebijakan untuk moderasi berbantuan mesin. |
|
scenes |
StringArray |
Yes |
["ocr"] |
Skenario deteksi. Tetapkan nilainya ke ocr. |
|
tasks |
JSONArray |
Yes |
Objek deteksi. Setiap elemen dalam array JSON merupakan struct untuk tugas deteksi. Anda dapat menentukan hingga 100 elemen, artinya Anda dapat mengirimkan hingga 100 item konten untuk deteksi sekaligus. Untuk mengirimkan 100 elemen, Anda harus meningkatkan jumlah tugas konkuren menjadi lebih dari 100. Untuk informasi selengkapnya tentang struktur setiap elemen, lihat task. |
|
Name |
Type |
Required |
Example value |
Description |
|
dataId |
String |
No |
test_data_xxxx |
ID data. Pastikan semua ID dalam satu permintaan bersifat unik. |
|
url |
String |
Yes |
https://aliyundoc.com/test_image_xxxx.png |
URL HTTP atau HTTPS yang dapat diakses melalui Internet. Panjang URL maksimal 2.048 karakter. |
|
interval |
Integer |
No |
2 |
Interval antara dua frame yang ditangkap secara berurutan. Parameter ini khusus untuk moderasi gambar GIF atau gambar panjang.
Secara default, hanya frame pertama dari gambar GIF atau gambar panjang yang dimoderasi. Anda dapat menggunakan parameter interval untuk menentukan interval antara dua frame yang ditangkap sistem secara berurutan. Hal ini membantu mengurangi biaya moderasi. Catatan Parameter interval dan maxFrames harus digunakan berpasangan. Misalnya, parameter interval ditetapkan ke 2, dan parameter maxFrames ditetapkan ke 100 untuk memoderasi gambar GIF atau gambar panjang. Dalam contoh ini, satu dari setiap dua frame dimoderasi, dan maksimal 100 frame dimoderasi. Biaya dihitung berdasarkan jumlah frame yang benar-benar dimoderasi. |
|
maxFrames |
Integer |
No |
100 |
Jumlah maksimum frame yang akan ditangkap. Parameter ini khusus untuk moderasi gambar GIF atau gambar panjang. Nilai default: 1. Jika nilai parameter interval dikalikan dengan nilai parameter |
Data yang Dikembalikan
|
Name |
Type |
Example |
Description |
|
code |
Integer |
200 |
Kode kesalahan. Sama dengan kode status HTTP. |
|
msg |
String |
OK |
Pesan respons untuk permintaan. |
|
dataId |
String |
test_data_xxxx |
ID objek moderasi. Catatan Jika Anda menetapkan parameter dataId dalam permintaan moderasi, nilai parameter permintaan dataId akan dikembalikan di sini. |
|
taskId |
String |
img5A@k7a@B4q@6K@d9nfKgOs-1s**** |
ID tugas deteksi. |
|
url |
String |
https://aliyundoc.com/test_image_xxxx.png |
URL HTTP atau HTTPS yang dapat diakses melalui Internet. Panjang URL maksimal 2.048 karakter. |
|
results |
Array |
Hasil yang dikembalikan. Jika pemanggilan berhasil (code=200), hasil berisi satu atau beberapa elemen. Setiap elemen merupakan struct. Untuk informasi selengkapnya tentang struktur, lihat result. |
|
Name |
Type |
Example |
Description |
|
scene |
String |
ocr |
Skenario deteksi. Nilainya adalah ocr. |
|
label |
String |
ocr |
Klasifikasi hasil deteksi. Nilai yang valid:
|
|
suggestion |
String |
review |
Operasi lanjutan yang direkomendasikan. Nilai yang valid:
|
|
rate |
Float |
99,91 |
Anda dapat mengabaikan nilai kembali ini dalam skenario OCR. |
|
ocrLocations |
Array |
Jika gambar statis (non-GIF) berisi teks, parameter ini mengembalikan informasi tentang setiap entri teks yang terdeteksi. Untuk informasi selengkapnya tentang struktur, lihat ocrLocation. Catatan
Parameter ini tidak dikembalikan jika tidak ada teks yang terdeteksi. |
|
|
ocrData |
Array |
["hello, this is a test text."] |
Jika gambar statis (non-GIF) berisi teks, parameter ini mengembalikan gabungan semua teks yang terdeteksi. Teks gabungan biasanya disimpan di elemen pertama array. Catatan
Parameter ini tidak dikembalikan jika tidak ada teks yang terdeteksi. |
|
frames |
Array |
xxx |
Jika gambar animasi (GIF) berisi teks, parameter ini mengembalikan setiap frame yang ditangkap beserta teks yang sesuai. Catatan
Hasil ini hanya dikembalikan jika beberapa frame ditangkap. |
| Parameter | Type | Example | Description |
| text | String | hello | Entri teks tunggal yang terdeteksi dalam gambar yang dimoderasi. |
| x | Float | 41 | Jarak antara pojok kiri atas area teks dan sumbu y, dengan pojok kiri atas gambar sebagai titik asal koordinat. Satuan: piksel. |
| y | Float | 84 | Jarak antara pojok kiri atas area teks dan sumbu x, dengan pojok kiri atas gambar sebagai titik asal koordinat. Satuan: piksel. |
| w | Float | 83 | Lebar area teks. Satuan: piksel. |
| h | Float | 26 | Tinggi area teks. Satuan: piksel. |
Contoh
Permintaan contoh
http(s)://[Endpoint]/green/image/scan
&<Common request parameters>
{
"scenes": [
"ocr"
],
"tasks": [
{
"dataId": "test_data_xxxx",
"url": "https://aliyundoc.com/test_image_xxxx.png"
}
]
}
Tanggapan contoh
{
"code": 200,
"data": [
{
"code": 200,
"dataId": "test_data_xxxx",
"extras": {
},
"msg": "OK",
"results": [
{
"label": "ocr",
"ocrData": [
"hello, this is a test text."
],
"ocrLocations": [
{
"h": 26,
"text": "hello",
"w": 83,
"x": 41,
"y": 84
},
{
"h": 25,
"text": " this is a test text.",
"w": 95,
"x": 78,
"y": 114
}
],
"rate": 99.91,
"scene": "ocr",
"suggestion": "review"
}
],
"taskId": "img5A@k7a@B4q@6K@d9nfKgOs-1s****",
"url": "https://aliyundoc.com/test_image_xxxx.png"
}
],
"msg": "OK",
"requestId": "C4AB08A9-AD75-4410-859B-0B9EF6DFC3C4"
}