Pro API: styr cloud-rendering fra din egen server

Alt det appen gør online (billeder, retuschering, videoer, trænede karakterer) er også tilgængeligt via HTTP, til samme pris i kreditter, uden at appen behøver at være åben. Du styrer det fra din egen server, dine scripts eller din agent, ved hjælp af kreditterne på din licens.

Tilgængeligt med Pro-licensen. Nøglen oprettes i appen under Settings > API.

Ikke udvikler? Det samme er tilgængeligt fra en AI-agent uden at skrive en eneste linje: se MCP.

Basehttps://api.tendre.ai/pro/v1
Autentificeringheader Authorization: Bearer tk_pro_...
FormatJSON ind og ud, PNG til billeder, MP4 til videoer
Maskindokumentationopenapi.json (OpenAPI 3.0), til at generere en klient
PrisoversigtGET /pro/v1/pricing

Få en nøgle

I appen med en Pro-licens: Settings > API > New key. Giv den et navn (f.eks. "production server"), vælg dens tilladelser og eventuelt et dagligt kreditloft samt en udløbsdato.

Nøglen vises kun én gang. Kopiér den med det samme. En tabt nøgle erstattes, den kan aldrig gendannes.

  • Højst tre aktive nøgler pr. licens. Nok til at rotere én uden at afbryde servicen: opret den nye, installer den, tilbagekald den gamle.
  • En nøgle er ikke en plads. Din computer og din telefon kan stadig bruges ved siden af den.
  • En nøgle er dine kreditter værd. Læg aldrig en nøgle på en webside, i en distribueret app eller i et offentligt repository. Giv den et dagligt kreditloft, så snart den lever på en server.

Hvad en nøgle må gøre

TilladelseHvad den tillader
ReadAltid tildelt: render-status, fildownload, saldo, karakterliste
ImagesIndsend og annuller billeder (generering, retuschering, variation), opret karakterer
VideosIndsend og annuller videoer, Multi-Ref Video og Face swap inkluderet

Et kald ud over nøglens tilladelser besvares med 403 missing_scope, med den manglende tilladelse i scope.

Render-livscyklussen

Altid de samme tre trin.

  1. Indsend. POST /images eller POST /videos. Øjeblikkeligt svar med et jobId og prisen.
  2. Poll. GET /images/{jobId} eller GET /videos/{jobId}, hvert 3. sekund, indtil status er completed eller failed.
  3. Download. GET /images/{jobId}/file eller GET /videos/{jobId}/file, så snart status er completed. Filen gemmes ikke, så download den uden at vente.

Omtrentlige tider: 10 til 40 sekunder for et billede, 1 til 5 minutter for en video, længere når motoren starter koldt.

Dit første kald

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, virker alt det andet også.

En komplet render, tre måder

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"))

Hvad er det næste

  • Billeder: generering, de tre retuscheringstilstande, karakterer.
  • Videoer: formater, prisoversigt, start- og slutbilleder, Multi-Ref Video, Face swap.
  • Karakterer: ét foto, syv vinkler, til brug i Multi-Ref Video.
  • Konto: saldo, lofter, trænede karakterer, aktivitet.
  • Grænser og fejl: lofter, alle fejlkoder, god praksis.
  • MCP (agenter): tilslut Claude, ChatGPT eller Cursor direkte, uden kode.

Hvad der endnu ikke er der

I den planlagte rækkefølge: karaktertræning fra dine egne fotos, stemmer, opskalering til 2K, et fast seed til at genskabe en render, og webhooks så du kan holde op med at polle.

Træning er det, der er værd at nævne: du kan ikke træne via API'en, men du kan uploade en .safetensors du allerede har og rendere med den med det samme. Se Konto, kreditter og karakterer.

API'en er versioneret. Alt beskrevet her forbliver gyldigt under /pro/v1: tilføjelser bryder aldrig det eksisterende, og en breaking change ville blive leveret som /pro/v2.

Windows · Mac · Cloud eller lokalt

Generer privat. I aften.

Download tendre.AI gratis og generér uden grænser, privat, på din egen GPU.

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

Mac: Apple Silicon (M1 eller nyere), macOS 13 eller nyere. Intel-Mac'er understøttes ikke.

Lokal billedgenerering på Mac kræver en M4 med 24 GB hukommelse, eller en M2 eller M3 Pro, Max eller Ultra med 24 GB. Under det kører alt online med credits. Retouchering og video kører online på Mac indtil videre.

Alt om tendre.AI til Mac

Intet NVIDIA GPU? Start 100% i skyen: 5 gratis billeder og 1 gratis video hver dag. Et NVIDIA-kort (8GB+) låser op for ubegrænset lokal generering.