# Démarrage rapide

> Envoyez votre première requête YesCaptcha en 5 minutes : créez un compte, copiez votre ClientKey, rechargez votre solde, puis lisez un captcha image avec curl, Python ou Node.js (ImageToTextTaskOcrBase, synchrone, 2 points par image).

Source: https://docs.yescaptcha.com/fr/getting-started/quickstart/ · Last verified: 2026-10-15

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/getting-started/quickstart/

Cette page envoie une première requête avec le type de tâche le plus simple, `ImageToTextTaskOcrBase`, qui lit les lettres et les chiffres d’une image. Il est synchrone (une seule requête `createTask` renvoie le résultat), coûte 2 points (≈ $0.30 / 1k) par image et ne dépend d’aucun site tiers : c’est un bon moyen de vérifier que votre compte et votre code fonctionnent.

1.  **Créer un compte**
    
    Créez un compte et connectez-vous sur [yescaptcha.com](https://yescaptcha.com/).
    
2.  **Copier votre ClientKey**
    
    Dans le tableau de bord ([yescaptcha.com/dashboard.html](https://yescaptcha.com/dashboard.html)), repérez « Votre ClientKey » et cliquez sur copier. Copiez la valeur en entier.
    
    > **Attention:** Toutes les requêtes API sont authentifiées avec la ClientKey : quiconque la possède peut dépenser votre solde. Ne la partagez pas et ne l’intégrez pas à du code public ; si elle fuite, réinitialisez-la au même endroit.
    
3.  **Recharger votre solde**
    
    Votre solde doit dépasser 10 points pour créer des tâches. Moyens de paiement et bonus VIP : [Recharge et VIP](https://docs.yescaptcha.com/fr/account/recharge.md).
    
4.  **Vérifier que la ClientKey fonctionne**
    
    `getBalance` renvoie votre solde et n’entraîne aucun débit de points :
    
    ```bash
    curl -s https://api.yescaptcha.com/getBalance \
      -H 'Content-Type: application/json' \
      -d '{"clientKey": "YOUR_CLIENT_KEY"}'
    ```
    
    Si vous obtenez `{"errorId": 0, "balance": 12345, ...}`, tout est prêt ; `balance` correspond à vos points restants. `ERROR_KEY_DOES_NOT_EXIST` signifie que la clé a été mal copiée.
    
5.  **Lire une image**
    
    Téléchargez l’image d’exemple [captcha.jpg](https://docs.yescaptcha.com/samples/captcha.jpg) (ou utilisez votre propre image de captcha), placez votre ClientKey dans une variable d’environnement, puis lancez l’un des scripts :
    
    ```bash
    export YESCAPTCHA_CLIENT_KEY=your_client_key
    ```
    
    **curl**
    
    quickstart.sh
    
    ```bash
    #!/usr/bin/env bash
    # First request: read an alphanumeric image captcha with ImageToTextTaskOcrBase (synchronous, 2 points per image)
    # Usage: YESCAPTCHA_CLIENT_KEY=your_client_key bash quickstart.sh captcha.png
    set -euo pipefail
    IMAGE="${1:-captcha.png}"
    BODY=$(base64 < "$IMAGE" | tr -d '\n')   # no "data:" prefix, no line breaks
    curl -s https://api.yescaptcha.com/createTask \
      -H 'Content-Type: application/json' \
      -d "{\"clientKey\": \"${YESCAPTCHA_CLIENT_KEY}\", \"task\": {\"type\": \"ImageToTextTaskOcrBase\", \"body\": \"${BODY}\"}}"
    echo
    ```
    
    
    
    **Python**
    
    quickstart.py
    
    ```python
    """First request: read an alphanumeric image captcha with ImageToTextTaskOcrBase
    (synchronous, 2 points per image).
    
    Usage:
        export YESCAPTCHA_CLIENT_KEY=your_client_key
        python quickstart.py captcha.png
    """
    import base64
    import os
    import sys
    
    import requests
    
    CLIENT_KEY = os.environ["YESCAPTCHA_CLIENT_KEY"]
    image_path = sys.argv[1] if len(sys.argv) > 1 else "captcha.png"
    
    with open(image_path, "rb") as f:
        body = base64.b64encode(f.read()).decode()  # no "data:" prefix
    
    r = requests.post(
        "https://api.yescaptcha.com/createTask",
        json={
            "clientKey": CLIENT_KEY,
            "task": {"type": "ImageToTextTaskOcrBase", "body": body},
        },
        timeout=30,
    )
    data = r.json()
    if data.get("errorId"):
        raise SystemExit(f"{data.get('errorCode')}: {data.get('errorDescription')}")
    print("text:", data["solution"]["text"])
    ```
    
    
    
    **Node.js**
    
    quickstart.mjs
    
    ```js
    // First request: read an alphanumeric image captcha with ImageToTextTaskOcrBase (synchronous, 2 points per image).
    // Usage: YESCAPTCHA_CLIENT_KEY=your_client_key node quickstart.mjs captcha.png
    import { readFileSync } from 'node:fs';
    
    const CLIENT_KEY = process.env.YESCAPTCHA_CLIENT_KEY;
    const body = readFileSync(process.argv[2] ?? 'captcha.png').toString('base64'); // no "data:" prefix
    
    const res = await fetch('https://api.yescaptcha.com/createTask', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ clientKey: CLIENT_KEY, task: { type: 'ImageToTextTaskOcrBase', body } }),
    });
    const data = await res.json();
    if (data.errorId) throw new Error(`${data.errorCode}: ${data.errorDescription}`);
    console.log('text:', data.solution.text);
    ```
    
    Lancez `bash quickstart.sh captcha.jpg`, `python quickstart.py captcha.jpg` ou `node quickstart.mjs captcha.jpg`. Python nécessite `pip install requests` ; Node.js nécessite la version 18 ou supérieure.
    
6.  **Lire le résultat**
    
    En cas de succès, vous obtenez :
    
    ```json
    {
      "errorId": 0,
      "status": "ready",
      "solution": {
        "text": "LMResm"
      },
      "taskId": "2376919c-1863-11ec-a012-94e6f7355a0b"
    }
    ```
    
    `errorId` à 0 signifie que la requête a réussi ; le texte lu se trouve dans `solution.text`. Si `errorId` vaut 1, consultez `errorCode` dans [Codes d’erreur](https://docs.yescaptcha.com/fr/api/errors.md).
    

## Étapes suivantes

-   Les tâches qui renvoient un token, comme reCAPTCHA et hCaptcha, sont **asynchrones** : `createTask` renvoie un `taskId`, puis vous appelez `getTaskResult` toutes les 5 secondes. Le déroulement complet est décrit dans [Requêtes et réponses](https://docs.yescaptcha.com/fr/api/overview.md) ; un exemple est donné avec [reCAPTCHA v2](https://docs.yescaptcha.com/fr/tasks/recaptcha-v2.md).
-   Choisir un type de tâche : [Types de tâches et tarifs](https://docs.yescaptcha.com/fr/tasks.md).
-   Un client à copier directement dans votre projet : [Python](https://docs.yescaptcha.com/fr/samples/python.md), [Node.js](https://docs.yescaptcha.com/fr/samples/nodejs.md).
-   Sans écrire de code : [Extension de navigateur](https://docs.yescaptcha.com/fr/extension.md).
