Görev türleri
Görselden harf ve rakam tanıma
Bu sayfa Çince sürümden makine çevirisiyle hazırlanmıştır ve hatalar içerebilir. Geçerli olan Çince sürüm sürümüdür.
Karakter içeren bir CAPTCHA görselini Base64 olarak gönderin; görseldeki harf ve rakamlar döndürülür (solution.text). ImageToTextTaskOcrBase senkron çalışır: tek bir createTask isteği sonucu verir. Görsel başına ücret: 2 puan (≈ $0.30 / 1k). Büyük/küçük harf, yalnızca rakam, aritmetik işlem gibi koşullar gerekiyorsa asenkron ImageToTextTask türünü kullanın.
https://api.yescaptcha.com/createTaskGlobal uç noktahttps://cn.yescaptcha.com/createTaskÇin uç noktasıİstek gövdesi JSON’dur; kimlik doğrulama için clientKey kullanılır.
Türler ve fiyatlar
Bölüm başlığı “Türler ve fiyatlar”| Görev türü | Fiyat | Mod | Notlar |
|---|---|---|---|
ImageToTextTaskOcrBase | $0.30 / 1k; 2 puan/görev · ¥2 / 1k | Senkron | |
ImageToTextTaskMuggle | $0.30 / 1k; 2 puan/görev · ¥2 / 1k | Senkron | case/numeric seçeneklerini desteklemez; özel bir model seçmek için project_name kullanın |
ImageToTextTask | $0.60 / 1k; 4 puan/görev · ¥4 / 1k | Asenkron | |
ImageToTextTaskM1 | $2.25 / 1k; 15 puan/görev · ¥15 / 1k | Asenkron |
ABD doları fiyatları, 1 ABD doları ≈ ¥6.67 kuruyla hesaplanan tahminlerdir; görevler puan üzerinden ücretlendirilir.
| Gereksinim | Kullanılacak tür |
|---|---|
| Sıradan harf-rakam CAPTCHA’ları; en ucuz ve en hızlı seçenek | ImageToTextTaskOcrBase, ImageToTextTaskMuggle (senkron) |
| Sizin için özel eğitilmiş modelle tanıma | ImageToTextTaskMuggle ile project_name |
| Büyük/küçük harf ayrımı, yalnızca rakam, aritmetik işlem sonucu, uzunluk sınırı | ImageToTextTask, ImageToTextTaskM1 (asenkron) |
Türlerin modelleri ve hatları farklıdır; aynı tür görselde sonuçlar değişebilir. Hepsini deneyip en iyisini seçin.
İstek parametreleri
Bölüm başlığı “İstek parametreleri”| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
type | string | Evet | Görev türü; bu sayfadaki "Görev türleri ve fiyatlar" bölümüne bakın |
body | string | Evet | data:image/...;base64, öneki ve satır sonları olmadan Base64 kodlu görsel |
project_name | string | Hayır | Özel modelin adı; yalnızca ImageToTextTaskMuggle destekler. Genel alfasayısal modeli kullanmak için göndermeyin. Özel model için Destek ile iletişime geçin (yalnızca ImageToTextTaskMuggle) |
phrase | boolean | Hayır | true, cevabın en az bir boşluk içerdiği anlamına gelir (yalnızca ImageToTextTask, ImageToTextTaskM1) |
case | boolean | Hayır | true, cevabın büyük/küçük harfe duyarlı olduğu anlamına gelir (yalnızca ImageToTextTask, ImageToTextTaskM1) |
numeric | integer | Hayır | 0 koşul yok; 1 yalnızca rakam; 2 rakam içermez (yalnızca ImageToTextTask, ImageToTextTaskM1) |
math | boolean | Hayır | true, görselin bir matematik işlemi olduğu ve cevabın işlemin sonucu olduğu anlamına gelir (yalnızca ImageToTextTask, ImageToTextTaskM1) |
minLength | integer | Hayır | Cevabın en az uzunluğu; 0 sınır olmadığı anlamına gelir (yalnızca ImageToTextTask, ImageToTextTaskM1) |
maxLength | integer | Hayır | Cevabın en çok uzunluğu; 0 sınır olmadığı anlamına gelir (yalnızca ImageToTextTask, ImageToTextTaskM1) |
body, görsel dosyasının Base64 kodlamasıdır. WebP görseller otomatik olarak dönüştürülür.
İstek örneği
Bölüm başlığı “İstek örneği”{ "clientKey": "YOUR_CLIENT_KEY", "task": { "type": "ImageToTextTaskOcrBase", "body": "BASE64_IMAGE" }}Tam kod (geçerli dizindeki captcha.png dosyasını okur):
# Replace BASE64_IMAGE with the Base64-encoded imagecurl -s https://api.yescaptcha.com/createTask \ -H 'Content-Type: application/json' \ -d '{ "clientKey": "YOUR_CLIENT_KEY", "task": { "type": "ImageToTextTaskOcrBase", "body": "BASE64_IMAGE" }}'import osimport base64
import requests
API = "https://api.yescaptcha.com"CLIENT_KEY = os.environ["YESCAPTCHA_CLIENT_KEY"] # Read the clientKey from an environment variable
def call(method, payload): r = requests.post(f"{API}/{method}", json={"clientKey": CLIENT_KEY, **payload}, timeout=30) data = r.json() if data.get("errorId"): raise RuntimeError(f"{data.get('errorCode')}: {data.get('errorDescription')}") return data
def solve(task): return call("createTask", {"task": task})["solution"]
# Base64-encode the image (no data: prefix)with open("captcha.png", "rb") as f: image_b64 = base64.b64encode(f.read()).decode()
solution = solve({ "type": "ImageToTextTaskOcrBase", "body": image_b64,})print(solution["text"])import { readFileSync } from 'node:fs';
const API = 'https://api.yescaptcha.com';const CLIENT_KEY = process.env.YESCAPTCHA_CLIENT_KEY; // Read the clientKey from an environment variable
async function call(method, payload) { const res = await fetch(`${API}/${method}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ clientKey: CLIENT_KEY, ...payload }), }); const data = await res.json(); if (data.errorId) throw new Error(`${data.errorCode}: ${data.errorDescription}`); return data;}
async function solve(task) { const { solution } = await call('createTask', { task }); return solution;}
// Base64-encode the image (no data: prefix)const imageB64 = readFileSync('captcha.png').toString('base64');
const solution = await solve({ type: "ImageToTextTaskOcrBase", body: imageB64,});console.log(solution.text);Koşullu asenkron görev:
{ "clientKey": "YOUR_CLIENT_KEY", "task": { "type": "ImageToTextTask", "body": "BASE64_IMAGE", "case": true, "numeric": 0, "minLength": 4, "maxLength": 6 }}Senkron türler sonucu doğrudan createTask yanıtında döndürür:
{ "errorId": 0, "status": "ready", "solution": { "text": "LMResm" }, "taskId": "2376919c-1863-11ec-a012-94e6f7355a0b"}Asenkron türler (ImageToTextTask, ImageToTextTaskM1) önce taskId döndürür; ardından her 5 saniyede bir getTaskResult ile sorgulayın. Görev tamamlandığında solution biçimi aynıdır.
| Alan | Tür | Açıklama |
|---|---|---|
text | string | Tanınan metin |
Özel model
Bölüm başlığı “Özel model”Genel model her harf-rakam CAPTCHA’sında çalışır, ancak tek bir stil için eğitilmiş modele göre doğruluğu biraz daha düşüktür. Tanımak istediğiniz görseller hep aynı stildeyse destek ile iletişime geçerek özel model yaptırabilirsiniz; sonrasında ImageToTextTaskMuggle ile project_name kullanarak modeli seçin.
Sık sorulan sorular
Bölüm başlığı “Sık sorulan sorular”Sonuç yanlış çıkarsa puan düşer mi?
Bölüm başlığı “Sonuç yanlış çıkarsa puan düşer mi?”Senkron türlerde sonuç döndürüldüğü anda puan düşülür, sonuç yanlış olsa bile. Başka bir türle karşılaştırabilir veya özel model yaptırabilirsiniz.
ERROR_ZERO_CAPTCHA_FILESIZE veya ERROR_PARSE_IMAGE_FAIL hatası alıyorum
Bölüm başlığı “ERROR_ZERO_CAPTCHA_FILESIZE veya ERROR_PARSE_IMAGE_FAIL hatası alıyorum”Görselin Base64 metni eksik olabilir ya da data: ön eki veya satır sonu içeriyor olabilir. Kodlamayı kontrol edin; bkz. Hata kodları.
İlgili örnekler
Bölüm başlığı “İlgili örnekler”- Hızlı başlangıç:
ImageToTextTaskOcrBaseile ilk isteği gönderin - Python örnekleri