Forbind en agent med MCP
MCP er endnu en indgang til den samme Pro API: samme tilladelser, samme grænser, samme credits, samme aktivitetslog. En agent forbinder til én adresse og ser værktøjer, den kan bruge på almindeligt sprog. Der er intet at installere og intet at skrive.
Claude Desktop, claude.ai, ChatGPT, Claude Code, Cursor, VS Code og Windsurf taler alle med den.
Adressen er en hemmelighed
https://api.tendre.ai/mcp/<key>Nøglen er en Pro API-nøgle, oprettet i appen under Settings > API.
Læs den adresse igen: nøglen er inde i den. Alle, der har linket, renderer med dine credits op til dine grænser. Behandl den præcis som en adgangskode. Indsæt den ikke i et delt dokument, en billet eller et skærmbillede, og hvis den kommer ud, skal du tilbagekalde nøglen i appen: agenten stopper med det samme.
Agenter, der lader dig angive en header, kan bruge https://api.tendre.ai/mcp med Authorization: Bearer <key> i stedet, hvilket holder nøglen ude af URL'en.
Forbind din agent
Alt herunder blev kontrolleret den 22. september 2026. Dette er andre virksomheders menuer, og de ændrer sig: Claude og OpenAI ændrede begge deres samme dag, denne side blev skrevet, og OpenAI begrænser også brugerdefinerede MCP-servere til visse planer. Hvis en sti ikke længere svarer til det, du ser, skal du lede efter "connectors" eller "MCP" i det pågældende produkts indstillinger. Det eneste, der ikke ændrer sig, er den adresse, du indsætter.
- Claude Desktop, claude.ai og mobilappen: Customize > Connectors > Add custom connector, indsæt adressen, ingen ekstra godkendelse. Direkte link:
https://claude.ai/new#customize/connectors. Det virker med det samme, på alle enheder på kontoen, uden noget at genstarte. (Connectors lå tidligere under Settings; den side peger nu hertil.) - ChatGPT: aktivér udviklertilstand i indstillingerne først, derefter Plugins > New plugin > Custom tool. Giv det navnet Tendre.AI, put adressen i Server URL, sæt Authentication til None, sæt kryds ved advarslen for at bekræfte, at du forstår det, og tryk Create.
- Claude Code:
claude mcp add --transport http tendre https://api.tendre.ai/mcp/<key> - Cursor, i
~/.cursor/mcp.json:
{ "mcpServers": { "tendre": { "url": "https://api.tendre.ai/mcp/<key>" } } }- VS Code, i
mcp.json:
{ "servers": { "tendre": { "type": "http", "url": "https://api.tendre.ai/mcp/<key>" } } }- Windsurf, i
~/.codeium/windsurf/mcp_config.json:
{ "mcpServers": { "tendre": { "serverUrl": "https://api.tendre.ai/mcp/<key>" } } }Den hurtigste vej ind er appens Settings > Connectors-fane: den opretter nøglen og skriver disse indstillinger for dig i ét klik, for de agenter, der er installeret på din computer. For webagenter (claude.ai, ChatGPT) kopierer den adressen, så du kan indsætte den i deres connector-indstillinger.
De enogtredive værktøjer
| Værktøj | Hvad det gør |
|---|---|
tendre_generate_image | Et eller flere billeder (count 1 til 8), med eller uden LoRA, eller retuschering af et kildebillede (mode edit, img2img eller inpaint med mask_url). seed renderer et tidligere billede igen eller en variation af det. Det venter som standard på renderingen i op til 55 s og sætter billederne direkte ind i samtalen. wait=false returnerer identifikatorer i stedet. |
tendre_generate_video | Sender et klip (format, lyd, længde, billedrate fps, LoRA) fra en prompt, ved animation af et billede (plus et slutbillede til en overgang), i Ultra-tilstand (quality max, højst 1080p; pr. sekund angiver seconds længden, 4 til 30 s), med keyframes (keyframes, Quality-tilstand), med forbedret konsistens (consistency enhanced, op til 721 frames pr. shot, dvs. 30 s ved 24 fps, udvidelser inkluderet), eller ved forlængelse af det forrige klip (extend_job_id, med sequence_id til en lang video). Et Ultra-skud forlænges fremad eller bagud (extend_direction); efter mere end 24 timer fra originalfilen (extend_video_url, eller extend_upload_id via tendre_upload_link, sendt som den er). seed renderer et tidligere klip igen eller en variation af det. Et klip tager flere minutter: som standard venter værktøjet på afslutningen (højst 55 s) og returnerer MP4-linket eller identifikatoren, hvis renderingen ikke er færdig; wait=false returnerer identifikatoren med det samme. Mens det venter, kan brugerens stopknap annullere renderingen, og der opkræves intet. |
tendre_character_create | Opretter en karakter (syv visninger) fra et foto: et upload-link, en fil vedhæftet i ChatGPT, et billede renderet i samtalen eller en offentlig adresse. Venter på, at det er lavet (højst 55 s), og sætter visningerne ind i samtalen (forhåndsvisninger på 1024 px; linkene i teksten giver visningerne i fuld størrelse). 6 credits, outfit inkluderet. Se Karakterer. |
tendre_character_get | En karakters tilstand og dens visninger (wait venter på afslutningen af oprettelsen; sheet_id vælger en character sheet). |
tendre_character_list | Karaktererne på kontoen, inklusive dem, der er lavet i appen, med datoen for, hvornår hver enkelt slettes. |
tendre_character_redo_view | Gentager en mislykket visning eller en, der vender den forkerte vej (1 credit), med en valgfri instruction i imperativ for en karakter eller en character sheet oprettet via API'en; sheet_id peger på en bestemt character sheet. |
tendre_character_set_view | Erstatter en visning af en karakter oprettet via API'en, eller af en character sheet tilføjet med tendre_character_add_sheet (sheet_id), med et billede fra brugeren, uden at der genereres noget (gratis). |
tendre_character_add_sheet | Tilføjer et outfit (en character sheet) til en eksisterende karakter, fra API'en eller appen: færdige visninger gemmes gratis (views, rolle for rolle), manglende roller genereres (1 credit hver), eller, uden visninger, outfittet sættes på helkropsvisningen og seks visninger genereres (7 credits). Returnerer sheet_id, som sendes til tendre_character_get, tendre_character_redo_view, tendre_character_set_view og tendre_multiref_video. Se Tilføj et outfit. |
tendre_character_delete | Sletter en karakter og dens visninger. |
tendre_subject_create | Gemmer et sted, en genstand, et dyr, en stil eller et outfit fra 1 til 6 billeder fra brugeren, så det kan bruges igen i Multi-Ref. Gratis. Se Lokationer, objekter, dyr, stilarter og outfits. |
tendre_subject_list, tendre_subject_get, tendre_subject_delete | Stederne, genstandene, dyrene, stilarterne og outfittene på kontoen (inklusive dem i appens Library), deres detaljer og billeder samt sletning af dem. Elementerne, som Tendre.AI giver, kommer med i listen første gang, den læses. |
tendre_subject_generate | Genererer et sted, en genstand, et dyr, en stil eller et outfit uden billede fra brugeren: et startbillede ud fra en beskrivelse på engelsk (eller importeret, gratis), derefter visninger (se Generér et subject uden billeder). 1 kredit pr. renderet billede, højst 6 billeder; venter 55 s og returnerer derefter status og billederne. |
tendre_subject_add_views, tendre_subject_redo_view | Tilføjer visninger til et genereret subject, eller laver en om (instructions erstatter dens instruks; start laver startbilledet om, så længe ingen visning tager udgangspunkt i det). |
tendre_multiref_video | Et Multi-Ref-klip med 1 til 4 karakterer, genstande og dyr kaldt ved @Name i prompten (subjects; i Ultra op til 30 billeder i alt, heraf højst 12 karakterer, 8 anbefales), et gemt sted (location_id) eller et valgfrit engangsstedsbillede, Quality eller Ultra (pr. sekund: seconds, 4 til 30 s), format, længde, billedrate fps, lyd, seed, og med lyd en stemme for de første to karakterer (voice_url, den offentlige adresse på en lydfil, højst 4 MB; ordenér karaktererne som dialogen). Venter på afslutningen ligesom tendre_generate_video, og stopknappen annullerer renderingen. I Ultra også styles, outfits (med worn_by) og motion (en bevægelsesvideo: video_upload_id, video_job_id eller video_url; mode camera eller choreography). Se Multi-Ref Video. Med lyd taler de to første karakterer som standard med stemmen i deres profil (voice generated for en stemme lavet af modellen). |
tendre_multiref_image | Laver et billede med karakterer (via deres visning eller deres LoRA), genstande, dyr og et sted, kaldt ved @Name i den engelske prompt (se Create an image). Returnerer jobId med det samme: billedet tager 1 til 3 minutter, følg det med tendre_job_status (kind images). quote_only giver prisen uden at starte noget. |
tendre_face_swap | Face swap (hele karakteren, eller kun hovedet med part head): personen foran kameraet i en af dine videoer (upload-link, fil vedhæftet i ChatGPT, offentlig adresse, højst 95 MB) eller i en video renderet i samtalen bliver til en af dine karakterer, ansigt, hår, krop og outfit, med bevarelse af gestus, læber, lyd og omgivelser, over et passage på højst 20 s (start, duration), med scene, name, zone, likeness og, med lyd, karakterens stemme (voice_url, den offentlige adresse på en lydfil, højst 2 MB). Som standard får lyden stemmen i karakterens profil, hvis den har en (voice original beholder den filmede stemme). Overgange transition_in og transition_out: cut (standard), morphing (en overtoning) eller glitch (en digital effekt på silhuetten); med en overgang kommer hele videoen tilbage (højst 60 s). Svaret angiver passagens grænser (passage). 6 credits pr. sekund af passagen. Venter på afslutningen ligesom tendre_generate_video, og stopknappen annullerer renderingen. Se Face swap. |
tendre_sequence_create | Åbner en sekvens til at bygge en lang video shot for shot. |
tendre_sequence_export | Samler shots i en sekvens til én enkelt video og returnerer dens MP4-link. |
tendre_project_export | Eksporterer projektmappen for en rendering (job_id) eller en sekvens (sequence_id), der er under 24 timer gammel: manifestet i svaret, ZIP-filen via et link. manifest_only returnerer kun manifestet. For en sekvens tilføjer include_film den samlede film. include_media, include_references og exclude_references vælger, hvad der kommer med, som appens eksportvindue. Gratis. Se Eksportér projektmappen. |
tendre_upload_link | Opretter et upload-link til et af dine billeder eller videoer (et foto eller en video vedhæftet samtalen, en fil på din computer eller telefon). Du åbner det og dropper filen ind, eller en agent med adgang til dine filer sender den selv. En video (MP4, MOV, WebM eller MKV, højst 95 MB) sendes til tendre_face_swap. Gratis. |
tendre_job_status | Hvor langt en rendering er nået. For en video venter den som standard på afslutningen (højst 55 s, wait=false for et hurtigt kig), og stopknappen annullerer renderingen, mens den venter. Når den er færdig, ankommer et billede i samtalen og en video som et link. |
tendre_cancel_job | Annullerer en rendering. Der opkræves intet. |
tendre_list_loras | Karaktererne på kontoen med det navn, der skal angives som lora, og det trigger-ord, der skal stå i prompten. |
tendre_buy_credits | Creditpakkerne med dagens priser og købslinket til din licens. Ud over den største pakke tilbyder det også et valgfrit antal (parameteren credits). Dette værktøj betaler ikke: du åbner linket og betaler med kort eller krypto. |
tendre_purchase_credits | Køber en pakke (eller et valgfrit antal) med dit gemte kort, hvis du har tilladt din agent at købe i den automatiske optankning på din kontoside, inden for din månedlige grænse. Agenten skal oplyse pakken og prisen og derefter vente på dit ja i samtalen (confirmed). Hvis købet afvises, giver den dig det almindelige købslink. En e-mail bekræfter hvert køb. |
tendre_credits | Saldo, nøglens grænser, igangværende renderinger. |
tendre_pricing | Dagens prisoversigt. |
tendre_quote | Hvad en rendering vil koste, inden du starter den: oprettelse af en karakter (kind characters) og et Multi-Ref-klip (multiref true) inkluderet. Tager consistency for et klip i forbedret konsistens og fps: svaret giver længden i sekunder ved den billedrate. For Ultra pr. sekund fastlægger seconds længden. For en Ultra-forlængelse extend_job_id og extend_direction. |
Hvis forbindelsen afbrydes, før tendre_generate_image, tendre_generate_video, tendre_multiref_video eller tendre_face_swap svarer (en proxys tidsgrænse overskredet, fejl 524, programmet stoppet), startes renderingen ikke, eller den annulleres med det samme, og der opkræves intet: kald blot værktøjet igen. Oprettelsen af en karakter (tendre_character_create) fortsætter derimod: kalder du det igen med samme foto og indstillinger, får du den samme karakter tilbage, uden at noget opkræves to gange.
Når serveren forbindes, giver den agenten husreglerne: prompts på engelsk, trigger-ordet er obligatorisk med en LoRA, annoncér prisen inden en dyr rendering, kontrollér visningerne af en ny karakter inden dens første klip og gentag en mislykket visning, og en karakter, et sted, en genstand eller et dyr, der ikke er brugt i ét år, slettes.
Start fra et billede
Du kan bede om mere end et billede fra bunden: "lav et billede og animer det derefter", en overgang mellem to billeder, en retuschering.
Agenten peger på billedet på én af to måder. Enten ved dets identifikator, når det er renderet i samtalen (image_job_id; filen læses tilbage på vores side, mens motoren stadig holder på den, i nogle få titusinde minutter). Eller ved den offentlige adresse på en PNG eller JPEG på højst 12 MB (image_url; private adresser afvises). For en overgang angives slutbilledet på samme måde (end_image_job_id, end_image_url). Når du ikke angiver noget format, tager klippet billedets. En overgang kommer ud i den ønskede størrelse, fra 480p til 1080p, og faktureres som et klip i det format. For keyframes (Quality-tilstand) tager keyframes 1 til 4 objekter { at, image_job_id | image_url | image_upload_id, strength } og kræver en fast længde (length).
Dit eget foto
- ChatGPT: vedhæft billedet til samtalen og spørg. Intet andet.
- Alle andre agenter (Claude, Cursor...): agenten giver dig et upload-link (
tendre_upload_link). Åbn det, drop billedet ind eller indsæt det, og fortæl derefter agenten, at det er gjort. En agent med adgang til dine filer (Claude Code, Cursor, VS Code) sender det selv.
Dit foto skrives aldrig til disk. Det forbliver i hukommelsen i 30 minutter, lang nok til renderingen, og glemmes derefter. Upload-linket virker kun for den nøgle, der oprettede det. Undtagelserne er et foto, der bruges til at oprette en karakter, som bliver én af karakterens visninger, og billederne af et gemt sted, genstand eller dyr: begge gemmes krypteret under din kontrol, indtil du sletter dem eller indtil et år uden brug (se nedenfor).
Karakterer i samme klip
Bed om "lav en karakter fra dette foto": agenten opretter den (6 credits), viser dig de syv visninger og gentager en mislykket visning. Bed derefter om scenen, "et klip hvor Lea rækker en kop til Tom i et solrigt køkken": den caster dem med Multi-Ref Video, hver kaldt ved @Name, op til fire pr. klip (tolv i Ultra, otte anbefales). De karakterer, du har lavet i appen, er der også. En visning, der konsekvent kommer forkert ud (en protese på den forkerte side, f.eks.), gentages med en instruktion eller erstattes af dit eget billede.
Giv agenten et par billeder af et sted, en genstand eller et dyr, og fortæl, hvad det er: det gemmer det (gratis), og du kan derefter bede om "@Lea venter på @Tram i @Pladsen". Op til fire karakterer, genstande og dyr i alt, plus ét gemt sted som kulisse; i Ultra op til 30 billeder i alt, heraf højst tolv karakterer (otte anbefales). Detaljerne findes på siden Karakterer og i Multi-Ref Video.
En karakter i din egen video (Face swap)
Send agenten en video og navngiv én af dine karakterer: med tendre_face_swap bliver personen foran
kameraet til den karakter, ansigt, hår, krop og outfit, med bevarelse af gestus, læber, lyd og
omgivelser, over en passage på højst 20 s (start, duration), med scene, name, zone,
likeness og, med lyd, karakterens stemme (voice_url, den offentlige adresse på en lydfil på højst
2 MB). Videoen kommer:
- fra et upload-link (
tendre_upload_linktager også en video: MP4, MOV, WebM eller MKV, højst 95 MB); - som en fil vedhæftet i ChatGPT;
- fra en offentlig adresse (private adresser afvises);
- eller fra en video renderet i samtalen.
Vil du kun skifte hovedet (ansigt og hår) og beholde den filmede krop, tøjet og omgivelserne, så bed agenten om det: den sender part head.
Som standard får videoens lyd stemmen i karakterens profil, hvis den har en; vil du beholde den filmede stemme, så bed om det: agenten sender voice original. En stemme givet med voice_url går forud, og de første 20 sekunder bruges.
En karakter lavet i appen har intet navn på vores side: agenten giver den et (name) for at kalde den
ved @Name i scenen. For karakterens stemme angiver du den offentlige adresse på en lydfil på højst
2 MB (voice_url): lyden i videoen konverteres til den stemme. Din video passerer gennem vores
servere, mens den forberedes, og sendes derefter til det grafikkort, der renderer den. Resultatet
returneres som et videolink, ligesom ethvert klip, i arbejdsformatet (ca. én megapixel): fuld
opløsning og flere karakterer i træk er forbeholdt desktopappen. Prisen er pr. sekund af passagen, se
Face swap.
Overgange, som hjørnerne på kortene i appen: transition_in går i starten af passagen fra den filmede person til karakteren, transition_out i slutningen fra karakteren tilbage til personen. Hver af dem er cut (standard, ingen overgang), morphing (en overtoning, ca. 0,5 s) eller glitch (en digital effekt begrænset til silhuetten, ca. 0,4 s). Ingen overgang ind, hvis passagen starter videoen, og ingen ud, hvis den afslutter den.
Med en overgang får du hele videoen tilbage, højst 60 s (en længere afvises): den filmede person, overgangen, karakteren på sin passage, overgangen og så personen igen. Den kommer i arbejdsformatet (ca. én megapixel) og i 24 eller 30 fps; desktop-appen sætter derimod karakteren ind igen i fuld opløsning og med den oprindelige billedfrekvens. Den renderede (og fakturerede) passage forlænges med ca. 0,3 s på hver side, der har en overgang. At lægge overgangene på er gratis og tager fra nogle sekunder til et minut efter renderingen; imens svarer tendre_job_status pending (fase assembling the transitions). video_job_id for sådan en rendering peger på hele videoen: giv den til tendre_face_swap igen for at sætte en anden karakter i samme video. Vores server håndterer to face swaps med overgange ad gangen; derudover beder værktøjet dig prøve igen om et par minutter.
Svaret angiver passagens nøjagtige grænser i sekunder (passage: start, end). Uden overgang tæller en passage 8n+1 billeder, rundet ned: 2,9 s ønsket giver 2,7 s. For at sætte en ny passage lige efter, så start den ved end. Med en overgang er passagen nøjagtig til billedet.
For at sætte to karakterer sammen lader du den anden starte ved den førstes passage.end: den slutter præcist an på billedet, og dens overgang ind sker helt lige før samlingen (ca. 0,4 s glitch eller 0,5 s overtoning renderes ekstra på dens side), uden at gå tilbage via den filmede person. Lad den førstes transition_out stå på cut: ellers advarer værktøjet om, at de to overgange ville overlappe. Svaret indeholder så passage.joined_to_previous.
Brug kun videoer af personer, der har givet deres samtykke: det er en regel i brugervilkårene.
Billeder returneres, videoer er et link der udløber
Et billede ankommer i samtalen: protokollen har plads til billedindhold.
En video gør ikke og vejer for meget til det. Den returneres som et link, der videresender filen fra motorens output og forbliver gyldigt i nogle få titusinde minutter. Intet gemmes på vores side efterfølgende.
Så en agent, der kan skrive til din disk (Claude Code, Cursor, VS Code), får besked på at gemme filen for dig. En, der ikke kan, som en web-chat, kan kun give dig linket. Download det, mens det lever: når det udløber, er klippet væk, og at rendere det igen koster credits igen.
Der er tre undtagelser. En lang video: dens shots forbliver på vores server, mens den sammensættes, og slettes 30 minutter efter, at det sidste shot blev tilføjet; den sammensatte video gemmes i 24 timer, så du kan finde den igen, hvis du vender tilbage, og slettes derefter også. Og en karakter: dens visninger, inklusive det foto, du sendte, gemmes krypteret under din licens, indtil du sletter den (tendre_character_delete), eller den går et år uden brug. Til sidst en Face swap med overgang: hele videoen bliver i vores servers hukommelse, indtil karakteren og dens overgange er lagt på, den færdige video 30 minutter mere, og din video ligger kun på disken, mens den forberedes. Intet andet forbliver hos os.
Maksimal kvalitet
For den fineste rendering beder du blot om det ("i maksimal kvalitet"): agenten skifter til Ultra-tilstand, fortæller dig prisen først og advarer dig om, at renderingen tager længere tid. Video går op til 1080p: der er ingen 4K.
Lang video
Et klip varer højst 20 sekunder ved 24 fps (16 s ved 30, standarden), 30 s i forbedret konsistens ved 24 fps. For længere beder du blot om hele videoen ("en ét-minuts video af..."): der er intet andet at vide. Agenten renderer den shot for shot, hvor hvert shot fortsætter bevægelsen fra det forrige uden stop ved skæringen, og samler dem derefter til én enkelt MP4 og giver dig dens link.
Shots renderer ét efter ét, og hvert tager flere minutter. Hvert koster prisen for et klip, som tendre_quote opgiver, inden noget starter. I forbedret konsistens (consistency enhanced) passer ét minut i to shots på 30 s ved 24 fps, hvert til dobbelt prisen af sit format. Lyden fortsætter fra ét shot til det næste, undtagen i forbedret konsistens og i Ultra, hvor den starter forfra med hvert shot. Reglerne og de bagvedliggende kald findes på siden Videoer.
Flere shots med hårde klip, op til 20 sekunder, kræver ingen sekvens: bed om shots, og agenten skriver dem ind i et enkelt klip (hvordan du beskriver dem).
Under motorhjelmen
Transporten er MCP Streamable HTTP, protokolversion 2025-06-18, tilstandsløs: én JSON-RPC-besked pr. POST, et JSON-svar, ingen serverstream (en GET svarer 405). Metoderne er initialize, ping, tools/list og tools/call, og hvert værktøj kalder den samme API, der er beskrevet på disse sider, med agentens nøgle.