> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.voicecheap.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Gegenereerde miniaturen weergeven

> Geef de miniaturen van het verbonden account weer, met de nieuwste eerst, inclusief voorbeelden die via de openbare tool zijn geclaimd. Bevat de status, afmetingen en vervaldatum; gebruik nextCursor voor de volgende pagina.

Geef de miniaturen van het verbonden account weer, met de nieuwste eerst, inclusief voorbeelden die via de openbare tool zijn geclaimd. Bevat de status, afmetingen en vervaldatum; gebruik nextCursor voor de volgende pagina.

```http theme={null}
POST https://api.voicecheap.ai/v1/actions/thumbnails_list
```

## Authenticatie en machtigingen

<ParamField header="x-api-key" type="string" required>
  Stuur een VoiceCheap API-sleutel mee in deze header. Authorization: Bearer met dezelfde API-sleutel wordt ook ondersteund. OAuth-toegangstokens
  worden alleen door MCP geaccepteerd, niet door dit REST-endpoint.
</ParamField>

Vereiste machtigingen: `thumbnails:read`.

Een actief betaald abonnement is vereist. Machtigingen wijzigen geen teamrollen, eigendom van resources, mediategoed of abonnementslimieten.

## Parameters

<ParamField body="limit" type="integer">
  Gehele waarde.

  Minimum: 1. Maximum: 100. Standaardwaarde: 20.
</ParamField>

<ParamField body="cursor" type="string">
  De nextCursor van de vorige pagina.

  Minimale lengte: 1. Maximale lengte: 512.
</ParamField>

<Accordion title="Volledig invoerschema">
  Het onderstaande JSON Schema behoudt de exacte veldnamen, geneste typen, standaardwaarden, grenzen en toegestane waarden die discovery beschikbaar stelt. Aanvullende regels tussen velden staan in de opmerkingen bij de bewerking.

  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "limit": {
        "default": 20,
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "cursor": {
        "description": "The nextCursor from the previous page.",
        "type": "string",
        "minLength": 1,
        "maxLength": 512
      }
    },
    "additionalProperties": false
  }
  ```
</Accordion>

## Voorbeeldaanvragen

Vervang de voorbeeldidentificaties van resources en mediasleutels door waarden die voor je account zijn geretourneerd. Behoud dezelfde aanvraagidentificatie wanneer je dezelfde wijziging opnieuw probeert.

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST 'https://api.voicecheap.ai/v1/actions/thumbnails_list' \
    --header "x-api-key: $VOICECHEAP_API_KEY" \
    --header 'Content-Type: application/json' \
    --data '{"limit":20}'
  ```

  ```javascript JavaScript theme={null}
  const input = {
    limit: 20,
  };
  const response = await fetch('https://api.voicecheap.ai/v1/actions/thumbnails_list', {
    method: 'POST',
    headers: {
      'x-api-key': process.env.VOICECHEAP_API_KEY,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(input),
  });
  const body = await response.json();
  if (!response.ok) throw new Error(body.code + ': ' + body.message);
  console.log(body);
  ```

  ```python Python theme={null}
  import os
  import requests

  response = requests.post(
      "https://api.voicecheap.ai/v1/actions/thumbnails_list",
      headers={"x-api-key": os.environ["VOICECHEAP_API_KEY"]},
      json={"limit": 20},
      timeout=120,
  )
  body = response.json()
  if not response.ok:
      raise RuntimeError(f"{body.get('code')}: {body.get('message')}")
  print(body)
  ```
</RequestExample>

## Antwoord

Een geslaagde eerste uitvoering retourneert HTTP 200 met het resultaat van de bewerking onder data. Een herhaalde aanvraag kan in plaats daarvan de opgeslagen aanvraagstatus retourneren. Het voorbeeld toont één ondersteund antwoord, niet alle optionele velden.

Een pagina met miniatuurmetadata van de verbonden gebruiker, met de nieuwste eerst. Dit omvat ook miniaturen van openbare tools die eerder door dat account zijn geclaimd.

<ResponseExample>
  ```json HTTP 200 theme={null}
  {
    "data": {
      "items": [
        {
          "generationId": "109c61cb35dbdc01a94aabb3b1a128519ed1f8823800a7a327b9d8d8c2c0e10b",
          "status": "completed",
          "width": 1280,
          "height": 720,
          "referenceImageCount": 1,
          "createdAt": 1792144800000,
          "updatedAt": 1792144800000,
          "expiresAt": 1792749600000
        }
      ],
      "nextCursor": null
    }
  }
  ```
</ResponseExample>

## Resultaatvelden

| Veld | Beschrijving |
| - | - |
| `data.items` | Array met miniatuurmetadataobjecten. |
| `data.items[].generationId` | ID die je ongewijzigd moet doorgeven aan thumbnails\_get of thumbnails\_download. |
| `data.items[].status` | completed, expired of deleted. Een verwijderd record blijft deleted, ook na de vervaltijd. |
| `data.items[].width` | Uitvoerbreedte in pixels: 1280. |
| `data.items[].height` | Uitvoerhoogte in pixels: 720. |
| `data.items[].referenceImageCount` | Aantal gebruikte referentieafbeeldingen: 0 tot 3. |
| `data.items[].createdAt` | Aanmaaktijdstip in Unix-milliseconden. |
| `data.items[].updatedAt` | Tijdstip van de laatste update in Unix-milliseconden. |
| `data.items[].expiresAt` | Tijdstip in Unix-milliseconden waarna de gegenereerde miniatuur niet meer kan worden gedownload. |
| `data.nextCursor` | Ondoorzichtige cursor voor de volgende pagina, of null als er geen volgende pagina beschikbaar is. |

## Opmerkingen bij de bewerking

* Vereist thumbnails:read. limit is standaard 20 en moet een geheel getal van 1 tot 100 zijn. cursor is optioneel en is beperkt tot 512 tekens.
* Geef nextCursor ongewijzigd door als cursor voor de volgende pagina. nextCursor is null aan het einde; er wordt aflopend gesorteerd op aanmaaktijdstip en generatie-ID.
* Deze actie gebruikt de eigen creaties en uploads van de gekoppelde gebruiker, ook wanneer het toegangsmiddel in een teamcontext is gekoppeld.
* Miniatuurmetadata vermeldt completed, expired of deleted. Deze geschiedenis stelt geen wachtend generatierecord beschikbaar; peil action\_request\_get om een aanvraag voor het genereren van een miniatuur te volgen.
* Gebruik de expiresAt van elk record, ook voor geclaimde resultaten van openbare tools. Een zichtbaar verlopen of verwijderd record kan niet worden gedownload. Een lege geschiedenis retourneert items: \[] en nextCursor: null.
* Gebruik thumbnails\_download voor WebP-gegevens; deze geschiedenis bevat geen ingesloten afbeeldingen of preview-URL's.

## Verbruik

Elke geslaagde aanroep verbruikt één maandelijkse API/MCP-aanroep. Ook het mediategoed en de eigen generatielimieten van de bewerking zijn van toepassing.

## Fouten

| HTTP-status | Code | Betekenis of herstel |
| - | - | - |
| 400 | `CREDENTIAL_IN_QUERY` | Inloggegevens zijn opgegeven in een queryparameter access\_token of api\_key. Stuur inloggegevens in headers. |
| 400 | `INVALID_CURSOR` | cursor is geen geldige geschiedeniscursor; gebruik de nextCursor die door de vorige pagina is geretourneerd. |
| 400 | `VALIDATION_ERROR` | Een argument ontbreekt, heeft een niet-ondersteunde waarde, overschrijdt de limiet of maakt geen deel uit van het strikte invoerschema. |
| 401 | `API_KEY_EXPIRED` | De API-sleutel is verlopen. |
| 401 | `INVALID_API_KEY` | Geef een geldige, niet-verlopen API-sleutel op. |
| 401 | `INVALID_CREDENTIAL` | De Authorization-header heeft een ongeldige indeling of is in strijd met x-api-key. |
| 401 | `MISSING_CREDENTIAL` | Er is geen bruikbaar authenticatiemiddel in de header opgegeven, of het overschreed 4096 tekens. |
| 401 | `USER_NOT_FOUND` | Het account dat bij de toegangsgegevens hoort, bestaat niet meer. |
| 403 | `AMBIGUOUS_TEAM_API_KEY` | De gebruiker van het authenticatiemiddel behoort tot meer dan één team, waardoor de factureringscontext onduidelijk is. |
| 403 | `INSUFFICIENT_SCOPE` | Verleen alle vereiste machtigingen of kies andere toegangsgegevens. |
| 403 | `INTEGRATION_PLAN_UNSUPPORTED` | De integratielimieten van het account konden niet worden geverifieerd. |
| 403 | `SUBSCRIPTION_REQUIRED` | Gebruik een actief betaald abonnement. |
| 403 | `TEAM_OWNER_NOT_FOUND` | Het effectieve account van de teameigenaar kon niet worden gevonden. |
| 429 | `INTEGRATION_MONTHLY_LIMIT_REACHED` | Wacht tot de maandelijkse reset of wijzig je abonnement. |
| 429 | `INTEGRATION_RATE_LIMIT_REACHED` | Wacht de tijd uit Retry-After af wanneer deze aanwezig is en vergroot de wachttijd tussen nieuwe pogingen. |
| 500 | `INTERNAL_ERROR` | Controleer de opgeslagen aanvraagstatus en de resourcegeschiedenis voordat je besluit een wijziging opnieuw te proberen. |
| 503 | `SERVER_RESTARTING` | De server wordt opnieuw gestart. Probeer het zo opnieuw en behoud bij een wijziging dezelfde aanvraagidentificatie. |

```json theme={null}
{
  "code": "INSUFFICIENT_SCOPE",
  "message": "This credential does not permit the requested action.",
  "status": 403,
  "details": {
    "requiredScopes": ["thumbnails:read"]
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.