Pro API: kjør skyrendering fra din egen server

Alt appen gjør på nett (bilder, retusjering, videoer, trente karakterer) er også tilgjengelig over HTTP, til samme pris i kreditter, uten at appen trenger å være åpen. Du styrer det fra din egen server, dine skript eller din agent, med kredittene på lisensen din.

Tilgjengelig med Pro-lisensen. Nøkkelen opprettes i appen, under Settings > API.

Ikke utvikler? Det samme er tilgjengelig fra en AI-agent uten å skrive en eneste linje: se MCP.

Basehttps://api.tendre.ai/pro/v1
Autentiseringheader Authorization: Bearer tk_pro_...
FormatJSON inn og ut, PNG for bilder, MP4 for videoer
Maskinkonfigurasjoneropenapi.json (OpenAPI 3.0), for å generere en klient
PrislisteGET /pro/v1/pricing

Skaff deg en nøkkel

I appen, med en Pro-lisens: Settings > API > New key. Gi den et navn (f.eks. "produksjonsserver"), velg tillatelser og, om du vil, en daglig kredittgrense og en utløpsdato.

Nøkkelen vises bare én gang. Kopier den med en gang. En tapt nøkkel erstattes, den kan aldri gjenopprettes.

  • Maks tre aktive nøkler per lisens. Nok til å rotere én uten å avbryte tjenesten: opprett den nye, installer den, tilbakekall den gamle.
  • En nøkkel er ikke en brukerenhet. Datamaskinen og telefonen din kan fortsatt brukes ved siden av den.
  • En nøkkel er like verdifull som kredittene dine. Legg den aldri i en nettside, en distribuert app eller et offentlig repositorium. Sett en daglig kredittgrense på den så snart den lever på en server.

Hva en nøkkel har lov til å gjøre

TillatelseHva den tillater
ReadAlltid innvilget: renderstatus, filnedlasting, saldo, karakterliste
ImagesSend inn og avbryt bilder (generering, retusjering, variasjon), opprett karakterer
VideosSend inn og avbryt videoer, Multi-Ref Video og Face swap inkludert

Et kall utenfor nøkkelens tillatelser svarer med 403 missing_scope, med den manglende tillatelsen i scope.

Render-livssyklusen

Alltid de samme tre stegene.

  1. Send inn. POST /images eller POST /videos. Umiddelbart svar med en jobId og kostnaden.
  2. Poll. GET /images/{jobId} eller GET /videos/{jobId}, hvert 3. sekund, inntil status er completed eller failed.
  3. Last ned. GET /images/{jobId}/file eller GET /videos/{jobId}/file, så snart statusen er completed. Filen lagres ikke, så last den ned uten å vente.

Omtrentlige tider: 10 til 40 sekunder for et bilde, 1 til 5 minutter for en video, lenger når motoren starter kaldt.

Ditt første kall

bash
KEY=tk_pro_...
B=https://api.tendre.ai/pro/v1
curl -s $B/credits -H "Authorization: Bearer $KEY"
json
{ "balance": 1830, "licenseId": "lic_...", "key": "k_1a2b3c4d",
  "limits": { "concurrent": 2, "perMinute": 60, "perDay": 0 }, "running": 0 }

Hvis det svarer, fungerer alt det andre også.

En komplett render, på tre måter

bash

bash
KEY=tk_pro_...
B=https://api.tendre.ai/pro/v1
JOB=$(curl -s $B/images -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"prompt":"a lighthouse at dawn, photorealistic","width":1216,"height":832}' | jq -r .jobId)
until curl -s $B/images/$JOB -H "Authorization: Bearer $KEY" | grep -q '"completed"'; do sleep 3; done
curl -s $B/images/$JOB/file -H "Authorization: Bearer $KEY" -o lighthouse.png

PowerShell

powershell
$H = @{ Authorization = "Bearer tk_pro_..." }
$B = "https://api.tendre.ai/pro/v1"
$job = Invoke-RestMethod -Uri "$B/videos" -Method Post -Headers $H -ContentType "application/json" `
  -Body '{"prompt":"waves on a beach at sunset, gentle wind","width":1080,"height":1920,"audio":true}'
do { Start-Sleep 5; $s = Invoke-RestMethod -Uri "$B/videos/$($job.jobId)" -Headers $H } while ($s.status -eq "pending")
Invoke-WebRequest -Uri "https://api.tendre.ai$($s.file_url)" -Headers $H -OutFile beach.mp4

Python

python
import time, requests
KEY, B = "tk_pro_...", "https://api.tendre.ai/pro/v1"
H = {"Authorization": f"Bearer {KEY}"}
job = requests.post(f"{B}/videos", headers=H, json={"prompt": "waves on a beach at sunset, gentle wind", "audio": True}).json()
while (s := requests.get(f"{B}/videos/{job['jobId']}", headers=H).json())["status"] == "pending":
    time.sleep(3)
if s["status"] == "completed":
    open("beach.mp4", "wb").write(requests.get("https://api.tendre.ai" + s["file_url"], headers=H).content)
else:
    print("failed:", s.get("detail"))

Hva du kan gjøre videre

  • Bilder: generering, de tre retusjeringsmodusene, karakterer.
  • Videoer: formater, prislisten, start- og sluttrammer, Multi-Ref Video, Face swap.
  • Karakterer: ett foto, sju vinkler, for å bruke i Multi-Ref Video.
  • Konto: saldo, grenser, trente karakterer, aktivitet.
  • Grenser og feil: grenser, alle feilkoder, god praksis.
  • MCP (agenter): koble til Claude, ChatGPT eller Cursor direkte, uten kode.

Det som ikke finnes ennå

I planlagt rekkefølge: karaktertrening fra dine egne bilder, stemmer, oppskalering til 2K, et fast seed for å reprodusere en render, og webhooks slik at du kan slutte å polle.

Trening er det som er verdt å nevne: du kan ikke trene via API-et, men du kan laste opp en .safetensors du allerede har og rendre med den med en gang. Se Konto, kreditter og karakterer.

API-et er versjonert. Alt som er beskrevet her forblir gyldig under /pro/v1: tillegg vil aldri ødelegge det som finnes, og en bryterendring ville bli levert som /pro/v2.

Windows · Mac · Sky eller lokalt

Generer privat. I kveld.

Last ned tendre.AI gratis og generer uten grenser, privat, på din egen GPU.

OS Windows 10/11GPU NVIDIA 8GB+VRAM 12GB anbefaltDisk 20GB

Mac: Apple silicon (M1 eller nyere), macOS 13 eller nyere. Intel-Mac støttes ikke.

Lokal bildegenerering på Mac krever en M4 med 24 GB minne, eller en M2- eller M3 Pro, Max eller Ultra med 24 GB. Under det kjører alt online med credits. Retusjering og video kjører foreløpig online på Mac.

Alt om tendre.AI for Mac

Ingen NVIDIA GPU? Start 100% i skyen: 5 gratis bilder og 1 gratis video hver dag. Et NVIDIA-kort (8GB+) låser opp ubegrenset lokal generering.