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}'
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);
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)
{
"data": {
"items": [
{
"generationId": "109c61cb35dbdc01a94aabb3b1a128519ed1f8823800a7a327b9d8d8c2c0e10b",
"status": "completed",
"width": 1280,
"height": 720,
"referenceImageCount": 1,
"createdAt": 1792144800000,
"updatedAt": 1792144800000,
"expiresAt": 1792749600000
}
],
"nextCursor": null
}
}
Miniaturen
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.
POST
/
v1
/
actions
/
thumbnails_list
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}'
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);
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)
{
"data": {
"items": [
{
"generationId": "109c61cb35dbdc01a94aabb3b1a128519ed1f8823800a7a327b9d8d8c2c0e10b",
"status": "completed",
"width": 1280,
"height": 720,
"referenceImageCount": 1,
"createdAt": 1792144800000,
"updatedAt": 1792144800000,
"expiresAt": 1792749600000
}
],
"nextCursor": null
}
}
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.
Vereiste machtigingen:
POST https://api.voicecheap.ai/v1/actions/thumbnails_list
Authenticatie en machtigingen
string
vereist
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.
thumbnails:read.
Een actief betaald abonnement is vereist. Machtigingen wijzigen geen teamrollen, eigendom van resources, mediategoed of abonnementslimieten.
Parameters
integer
Gehele waarde.Minimum: 1. Maximum: 100. Standaardwaarde: 20.
string
De nextCursor van de vorige pagina.Minimale lengte: 1. Maximale lengte: 512.
Volledig invoerschema
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.
{
"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
}
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.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}'
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);
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)
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.{
"data": {
"items": [
{
"generationId": "109c61cb35dbdc01a94aabb3b1a128519ed1f8823800a7a327b9d8d8c2c0e10b",
"status": "completed",
"width": 1280,
"height": 720,
"referenceImageCount": 1,
"createdAt": 1792144800000,
"updatedAt": 1792144800000,
"expiresAt": 1792749600000
}
],
"nextCursor": null
}
}
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. |
{
"code": "INSUFFICIENT_SCOPE",
"message": "This credential does not permit the requested action.",
"status": 403,
"details": {
"requiredScopes": ["thumbnails:read"]
}
}
Was deze pagina nuttig?

