Pro API: kjør skyrendering fra din egen server
Alt appen gjør online (bilder, retusjering, videoer, trente karakterer) er også tilgjengelig over HTTP, til samme pris i kreditter, uten at appen er å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 Innstillinger > API.
| Base | https://api.tendre.ai/pro/v1 |
| Autentisering | header Authorization: Bearer tk_pro_... |
| Format | JSON inn og ut, PNG for bilder, MP4 for videoer |
| Maskinbeskrivelse | openapi-pro.yaml (OpenAPI 3.0), for å generere en klient |
Få en nøkkel
I appen, med en Pro-lisens: Innstillinger > API > Ny nøkkel. Gi den et navn (for eksempel "produksjonsserver"), velg tillatelser og, hvis du vil, en daglig kredittgrense og en utløpsdato.
Nøkkelen vises én gang. Kopier den med en gang. En tapt nøkkel erstattes, aldri gjenopprettes.
- Maksimalt tre aktive nøkler per lisens. Nok til å rotere én uten å kutte tjenesten: opprett den nye, installer den, trekk tilbake den gamle.
- En nøkkel er ikke en sete. Datamaskinen og telefonen din kan fortsatt brukes ved siden av den.
- En nøkkel er verdt kredittene dine. Legg den aldri i en nettside, en distribuert app eller et offentlig repositorium. Gi den en daglig kredittgrense så snart den lever på en server.
Hva en nøkkel har lov til å gjøre
| Tillatelse | Hva den tillater |
|---|---|
| Les | Alltid innvilget: render-status, filnedlasting, saldo, karakterliste |
| Bilder | Send inn og avbryt bilder (generering, retusjering, variasjon) |
| Videoer | Send inn og avbryt videoer |
Et kall utenfor nøkkelens tillatelser svarer 403 portee_manquante, med den manglende
tillatelsen i portee.
Render-livssyklusen
Alltid de samme tre trinnene.
- Send inn.
POST /imagesellerPOST /videos. Umiddelbart svar med enjobIdog kostnaden. - Poll.
GET /images/{jobId}ellerGET /videos/{jobId}, hvert 3. sekund, tilstatusercompletedellerfailed. - Last ned.
GET /images/{jobId}/fileellerGET /videos/{jobId}/file, så snart statusen ercompleted. 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
KEY=tk_pro_...
B=https://api.tendre.ai/pro/v1
curl -s $B/credits -H "Authorization: Bearer $KEY"
{ "balance": 1830, "licenseId": "lic_...", "key": "k_1a2b3c4d",
"limits": { "concurrent": 2, "perMinute": 60, "perDay": 0 }, "running": 0 }
Hvis det svarer, vil alt annet fungere.
En komplett render, tre måter
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
$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
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 gå til videre
- Bilder: generering, de tre retusjerings-modusene, karakterer.
- Videoer: formater, prisnettet, start- og sluttbilder.
- Konto: saldo, grenser, trente karakterer, aktivitet.
- Grenser og feil: grenser, alle feilkoder, god praksis.
Hva som ikke er der 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.
API-et er versjonert. Alt beskrevet her forblir gyldig under /pro/v1: tillegg bryter aldri
det som eksisterer, og en brekkendes endring ville bli sendt som /pro/v2.