Pro API: ohjaa pilvirenderöintiä omalta palvelimeltasi
Kaikki mitä sovellus tekee verkossa (kuvat, retushointi, videot, koulutetut hahmot) on myös saavutettavissa HTTP:n kautta, samaan hintaan krediiteissä, ilman että sovelluksen täytyy olla auki. Ohjaat sitä omalta palvelimeltasi, skripteistäsi tai agentistasi käyttäen lisenssisi krediittejä.
Saatavilla Pro-lisenssillä. Avain luodaan sovelluksessa kohdasta Settings > API.
Etkö ole kehittäjä? Saman asian voi tehdä tekoälyagentilla ilman yhtäkään koodiriviä: katso MCP.
| Pohja | https://api.tendre.ai/pro/v1 |
| Todennus | otsikko Authorization: Bearer tk_pro_... |
| Muoto | JSON sisään ja ulos, PNG kuville, MP4 videoille |
| Koneen kuvaus | openapi.json (OpenAPI 3.0), asiakkaan generointia varten |
| Hinnasto | GET /pro/v1/pricing |
Hanki avain
Sovelluksessa Pro-lisenssillä: Settings > API > New key. Anna sille nimi (esimerkiksi "production server"), valitse oikeudet ja halutessasi päiväkohtainen krediittikatto sekä vanhenemispäivä.
Avain näytetään vain kerran. Kopioi se heti. Kadonnut avain korvataan uudella, sitä ei koskaan palauteta.
- Enintään kolme aktiivista avainta per lisenssi. Riittää yhden kiertoon ilman palvelukatkosta: luo uusi, asenna se, peruuta vanha.
- Avain ei ole käyttäjäpaikka. Tietokoneesi ja puhelimesi pysyvät käytettävinä sen rinnalla.
- Avain on yhtä arvokas kuin krediittisi. Älä koskaan laita sitä verkkosivulle, jaettuun sovellukseen tai julkiseen repositorioon. Aseta sille päiväkohtainen krediittikatto heti kun se elää palvelimella.
Mitä avain saa tehdä
| Oikeus | Mitä se sallii |
|---|---|
| Read | Aina myönnetty: renderöinnin tila, tiedostolataus, saldo, hahmojen lista |
| Images | Kuvien lähettäminen ja peruuttaminen (generointi, retushointi, variaatio), hahmojen luominen |
| Videos | Videoiden lähettäminen ja peruuttaminen, Multi-Ref Video ja Face swap mukaan lukien |
Kutsu avaimen oikeuksien ulkopuolelta vastaa 403 missing_scope, ja puuttuva
oikeus löytyy kentästä scope.
Renderöinnin elinkaari
Aina samat kolme vaihetta.
- Lähetä.
POST /imagestaiPOST /videos. Välitön vastausjobId:llä ja hinnalla. - Pollaa.
GET /images/{jobId}taiGET /videos/{jobId}, joka 3. sekunti, kunnesstatusoncompletedtaifailed. - Lataa.
GET /images/{jobId}/filetaiGET /videos/{jobId}/file, heti kun tila oncompleted. Tiedostoa ei säilytetä, joten lataa se viipymättä.
Suuntaa-antavat ajat: 10-40 sekuntia kuvalle, 1-5 minuuttia videolle, pidempään kun moottori käynnistyy kylmänä.
Ensimmäinen kutsusi
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 }Jos tähän vastataan, kaikki muu toimii myös.
Täydellinen renderöinti, kolmella tavalla
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.pngPowerShell
$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.mp4Python
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"))Mitä seuraavaksi
- Kuvat: generointi, kolme retusointitapaa, hahmot.
- Videot: formaatit, hinnasto, alku- ja loppukuvat, Multi-Ref Video, Face swap.
- Hahmot: yksi valokuva, seitsemän näkymää, Multi-Ref Videoon sijoittamista varten.
- Tili: saldo, katot, koulutetut hahmot, toiminto.
- Rajat ja virheet: katot, kaikki virhekoodit, hyvät käytännöt.
- MCP (agentit): liitä Claude, ChatGPT tai Cursor suoraan, ilman koodia.
Mitä ei ole vielä
Suunnitellussa järjestyksessä: hahmojen koulutus omista valokuvistasi, äänet, upscaling 2K:hon, kiinteä siemen renderöinnin toistamiseksi ja webhookit pollauksen lopettamiseksi.
Koulutus on se, josta kannattaa mainita erikseen: et voi kouluttaa API:n kautta, mutta voit ladata
.safetensors-tiedoston joka sinulla on jo ja renderöidä sillä heti. Katso
Tili, krediitit ja hahmot.
API on versioitu. Kaikki tässä kuvattu pysyy voimassa polun /pro/v1 alla: lisäykset eivät koskaan
riko olemassa olevaa, ja merkittävä muutos toimitettaisiin polkuna /pro/v2.