Connetti un agente con MCP
MCP è un'altra porta sulla stessa API Pro: stesse autorizzazioni, stessi limiti, stessi crediti, stesso log delle attività. Un agente si collega a un solo indirizzo e vede gli strumenti che può usare in linguaggio naturale. Non c'è nulla da installare e nulla da scrivere.
Claude Desktop, claude.ai, ChatGPT, Claude Code, Cursor, VS Code e Windsurf lo supportano tutti.
L'indirizzo è un segreto
https://api.tendre.ai/mcp/<key>La chiave è una chiave API Pro, creata nell'app in Impostazioni > API.
Rileggi quell'indirizzo: la chiave è al suo interno. Chiunque abbia il link genera con i tuoi crediti, fino ai tuoi limiti. Trattalo esattamente come una password. Non incollarlo in un documento condiviso, in un ticket o in uno screenshot, e se dovesse trapelare, revoca la chiave nell'app: l'agente si blocca immediatamente.
Gli agenti che permettono di impostare un header possono usare https://api.tendre.ai/mcp con Authorization: Bearer <key>, il che mantiene la chiave fuori dall'URL.
Connetti il tuo agente
Tutto ciò che segue è stato verificato il 22 settembre 2026. Questi sono i menu di altre aziende, e cambiano: Claude e OpenAI hanno entrambi modificato i loro lo stesso giorno in cui questa pagina è stata scritta, e OpenAI limita anche i server MCP personalizzati ad alcuni piani. Se un percorso non corrisponde più a ciò che vedi, cerca "connectors" o "MCP" nelle impostazioni di quel prodotto. L'unica cosa che non cambia è l'indirizzo che incolli.
- Claude Desktop, claude.ai e l'app mobile: Customize > Connectors > Add custom connector, incolla l'indirizzo, nessuna autenticazione aggiuntiva. Link diretto:
https://claude.ai/new#customize/connectors. Funziona immediatamente, su tutti i dispositivi dell'account, senza nulla da riavviare. (I connettori si trovavano in precedenza nelle Impostazioni; quella pagina ora rimanda qui.) - ChatGPT: attiva prima la modalità sviluppatore nelle impostazioni, poi Plugins > New plugin > Custom tool. Dagli il nome Tendre.AI, inserisci l'indirizzo in Server URL, imposta Authentication su None, spunta l'avviso per confermare che hai capito, e clicca Create.
- Claude Code:
claude mcp add --transport http tendre https://api.tendre.ai/mcp/<key> - Cursor, in
~/.cursor/mcp.json:
{ "mcpServers": { "tendre": { "url": "https://api.tendre.ai/mcp/<key>" } } }- VS Code, in
mcp.json:
{ "servers": { "tendre": { "type": "http", "url": "https://api.tendre.ai/mcp/<key>" } } }- Windsurf, in
~/.codeium/windsurf/mcp_config.json:
{ "mcpServers": { "tendre": { "serverUrl": "https://api.tendre.ai/mcp/<key>" } } }Il modo più rapido è la scheda Impostazioni > Connectors dell'app: crea la chiave e scrive queste impostazioni per te, in un clic, per gli agenti installati sul tuo computer. Per gli agenti web (claude.ai, ChatGPT), copia l'indirizzo da incollare nelle impostazioni del loro connettore.
I trentuno strumenti
| Strumento | Cosa fa |
|---|---|
tendre_generate_image | Una o più immagini (count da 1 a 8), con o senza LoRA, oppure il ritocco di un'immagine sorgente (mode edit, img2img, o inpaint con mask_url). seed rende di nuovo un'immagine precedente, o una sua variazione. Attende il rendering per impostazione predefinita, fino a 55 s, e inserisce le immagini direttamente nella conversazione. wait=false restituisce invece gli identificatori. |
tendre_generate_video | Invia un clip (formato, audio, durata, fotogrammi al secondo fps, LoRA) da un prompt, animando un'immagine (più un'immagine finale per una transizione), in modalità Ultra (quality max, al massimo 1080p; al secondo, seconds indica la durata, da 4 a 30 s), con fotogrammi chiave (keyframes, modalità Qualità), con coerenza rafforzata (consistency enhanced, fino a 721 fotogrammi per shot, ovvero 30 s a 24 fps, estensioni incluse), oppure estendendo il clip precedente (extend_job_id, con sequence_id per un video lungo). Un'inquadratura Ultra si estende in avanti o all'indietro (extend_direction); dopo 24 ore, dal suo file originale (extend_video_url, o extend_upload_id tramite tendre_upload_link, inviato così com'è). seed rende di nuovo un clip precedente, o una sua variazione. Un clip richiede diversi minuti: per impostazione predefinita lo strumento attende la fine (al massimo 55 s) e restituisce il link MP4, o l'identificatore se il rendering non è terminato; wait=false restituisce l'identificatore subito. Mentre attende, il pulsante stop dell'utente annulla il rendering, e non viene addebitato nulla. |
tendre_character_create | Crea un personaggio (sette viste) da una foto: un link di upload, un file allegato in ChatGPT, un'immagine generata nella conversazione, o un indirizzo pubblico. Attende la creazione (al massimo 55 s) e inserisce le viste nella conversazione (anteprime da 1024 px; i link nel testo danno le viste a dimensione piena). 6 crediti, outfit incluso. Vedi Personaggi. |
tendre_character_get | Lo stato di un personaggio e le sue viste (wait attende la fine della creazione; sheet_id sceglie una character sheet). |
tendre_character_list | I personaggi sull'account, compresi quelli creati nell'app, con la data in cui ciascuno verrà eliminato. |
tendre_character_redo_view | Rifa una vista fallita, o una che guarda dalla parte sbagliata (1 credito), con un'instruction opzionale all'imperativo per un personaggio o una character sheet creati tramite API; sheet_id punta a una character sheet precisa. |
tendre_character_set_view | Sostituisce una vista di un personaggio creato tramite API, o di una character sheet aggiunta con tendre_character_add_sheet (sheet_id), con un'immagine dell'utente, senza nulla da generare (gratuito). |
tendre_character_add_sheet | Aggiunge un outfit (una character sheet) a un personaggio esistente, dell'API o dell'app: viste pronte salvate gratis (views, ruolo per ruolo), ruoli mancanti generati (1 credito ciascuno), oppure, senza viste, l'outfit messo sulla sua vista a figura intera e sei viste generate (7 crediti). Restituisce lo sheet_id, da passare a tendre_character_get, tendre_character_redo_view, tendre_character_set_view e tendre_multiref_video. Vedi Aggiungere un outfit. |
tendre_character_delete | Elimina un personaggio e le sue viste. |
tendre_subject_create | Salva un'ambientazione, un oggetto, un animale, uno stile o un outfit da 1 a 6 immagini dell'utente, per riutilizzarlo in Multi-Ref. Gratuito. Vedi Luoghi, oggetti, animali, stili e outfit. |
tendre_subject_list, tendre_subject_get, tendre_subject_delete | Le ambientazioni, gli oggetti, gli animali, gli stili e gli outfit sull'account (compresi quelli della Libreria dell'app), i loro dettagli e immagini, e la loro eliminazione. Gli elementi offerti da Tendre.AI entrano nella lista alla prima lettura. |
tendre_subject_generate | Genera un'ambientazione, un oggetto, un animale, uno stile o un outfit senza immagini dell'utente: un'immagine di partenza ricavata da una descrizione in inglese (o importata, gratuita), poi delle viste (vedi Generare un soggetto senza immagini). 1 credito per immagine renderizzata, al massimo 6 immagini; attende 55 s, poi restituisce lo stato e le immagini. |
tendre_subject_add_views, tendre_subject_redo_view | Aggiunge viste a un soggetto generato, o ne rifà una (instructions sostituisce la sua consegna; start rifà l'immagine di partenza finché nessuna vista ne parte). |
tendre_multiref_video | Un clip Multi-Ref con da 1 a 4 personaggi, oggetti e animali chiamati con @Nome nel prompt (subjects; in Ultra, fino a 30 immagini in totale, di cui al massimo 12 personaggi, 8 consigliati), un'ambientazione salvata (location_id) o un'immagine di ambientazione occasionale opzionale, Qualità o Ultra (al secondo: seconds, da 4 a 30 s), formato, durata, fotogrammi al secondo fps, audio, seed, e con audio una voce per i primi due personaggi (voice_url, l'indirizzo pubblico di un file audio, al massimo 4 MB; ordina i personaggi come il dialogo). Attende la fine come tendre_generate_video, e il pulsante stop annulla il rendering. In Ultra, anche styles, outfits (con worn_by) e motion (un video di movimento: video_upload_id, video_job_id o video_url; mode camera o choreography). Vedi Multi-Ref Video. Con l'audio, i primi due personaggi parlano per default con la voce del loro profilo (voice generated per una voce creata dal modello). |
tendre_multiref_image | Crea un'immagine con personaggi (tramite la loro vista o il loro LoRA), oggetti, animali e un'ambientazione, chiamati con @Nome nel prompt in inglese (vedi Crea un'immagine). Restituisce subito il jobId: l'immagine richiede da 1 a 3 minuti, seguila con tendre_job_status (kind images). quote_only dà il prezzo senza avviare nulla. |
tendre_face_swap | Face swap (il personaggio intero, o solo la testa con part head): la persona inquadrata in uno dei tuoi video (link di upload, file allegato in ChatGPT, indirizzo pubblico, al massimo 95 MB) o in un video generato nella conversazione diventa uno dei tuoi personaggi, viso, capelli, corpo e outfit, mantenendo i gesti, le labbra, l'audio e l'ambientazione, su un passaggio di al massimo 20 s (start, duration), con scene, name, zone, likeness e, con audio, la voce del personaggio (voice_url, l'indirizzo pubblico di un file audio, al massimo 2 MB). Per default, l'audio prende la voce del profilo del personaggio se ne ha una (voice original mantiene la voce filmata). Transizioni transition_in e transition_out: cut (il default), morphing (una dissolvenza) o glitch (un effetto digitale sulla silhouette); con una transizione torna il video intero (al massimo 60 s). La risposta indica i limiti del passaggio (passage). 6 crediti per secondo di passaggio. Attende la fine come tendre_generate_video, e il pulsante stop annulla il rendering. Vedi Face swap. |
tendre_sequence_create | Apre una sequenza, per costruire un video lungo shot per shot. |
tendre_sequence_export | Unisce gli shot di una sequenza in un unico video e restituisce il suo link MP4. |
tendre_project_export | Esporta la cartella di progetto di un render (job_id) o di una sequenza (sequence_id) di meno di 24 ore: il manifesto nella risposta, lo ZIP tramite un link. manifest_only restituisce solo il manifesto. Per una sequenza, include_film aggiunge il film assemblato. include_media, include_references e exclude_references scelgono cosa includere, come la finestra di esportazione dell'app. Gratuito. Vedi Esportare la cartella del progetto. |
tendre_upload_link | Crea un link di upload per una tua immagine o un tuo video (una foto o un video allegato alla conversazione, un file sul tuo computer o telefono). Lo apri e trascini il file, oppure un agente con accesso ai tuoi file lo invia da solo. Un video (MP4, MOV, WebM o MKV, al massimo 95 MB) va a tendre_face_swap. Gratuito. |
tendre_job_status | A che punto è un rendering. Per un video attende la fine per impostazione predefinita (al massimo 55 s, wait=false per un controllo rapido), e il pulsante stop annulla il rendering mentre attende. Una volta terminata, un'immagine torna nella conversazione e un video come link. |
tendre_cancel_job | Annulla un rendering. Non viene addebitato nulla. |
tendre_list_loras | I personaggi sull'account, con il nome da passare come lora e la parola trigger da inserire nel prompt. |
tendre_buy_credits | I pacchetti di crediti con i prezzi odierni, e il link di acquisto della tua licenza. Oltre il pacchetto più grande, propone anche una quantità libera (parametro credits). Questo strumento non paga: apri il link e paghi tu, con carta o crypto. |
tendre_purchase_credits | Acquista un pacchetto (o una quantità libera) con la tua carta salvata, se hai autorizzato il tuo agente ad acquistare nella ricarica automatica della tua pagina account, entro il tuo limite mensile. L'agente deve indicare il pacchetto e il suo prezzo, poi attendere il tuo sì nella conversazione (confirmed). Se l'acquisto viene rifiutato, ti dà il link di acquisto normale. Un'e-mail conferma ogni acquisto. |
tendre_credits | Saldo, i limiti della chiave, rendering in corso. |
tendre_pricing | La griglia dei prezzi odierna. |
tendre_quote | Quanto costerà un rendering, prima di avviarlo: inclusa la creazione di un personaggio (kind characters) e un clip Multi-Ref (multiref true). Accetta consistency per un clip in coerenza rafforzata, e fps: la risposta indica la durata in secondi a quella frequenza. Per un Ultra fatturato al secondo, seconds fissa la durata. Per un'estensione Ultra, extend_job_id e extend_direction. |
Se la connessione si interrompe prima della risposta di tendre_generate_image, tendre_generate_video, tendre_multiref_video o tendre_face_swap (timeout di un proxy, errore 524, programma arrestato), il rendering non viene avviato, oppure viene annullato subito, e non viene addebitato nulla: basta richiamare lo strumento. La creazione di un personaggio (tendre_character_create), invece, continua: richiamarla con la stessa foto e le stesse impostazioni restituisce lo stesso personaggio, senza addebitare nulla due volte.
Al momento della connessione, il server fornisce all'agente le regole della casa: prompt in inglese, la parola trigger è obbligatoria con un LoRA, annunciare il costo prima di un rendering costoso, verificare le viste di un nuovo personaggio prima del suo primo clip e rifare quella fallita, e un personaggio, ambientazione, oggetto o animale lasciato inutilizzato per un anno viene eliminato.
Inizia da un'immagine
Puoi chiedere più di una semplice immagine da zero: "crea un'immagine, poi animala", una transizione tra due immagini, un ritocco.
L'agente punta all'immagine in uno dei due modi seguenti. O tramite il suo identificatore, quando è stata generata nella conversazione (image_job_id; il file viene riletto dal nostro lato mentre il motore lo contiene ancora, per alcune decine di minuti). O tramite l'indirizzo pubblico di un PNG o JPEG di al massimo 12 MB (image_url; gli indirizzi privati vengono rifiutati). Per una transizione, l'immagine finale viene fornita allo stesso modo (end_image_job_id, end_image_url). Se non imposti nessun formato, il clip prende quello dell'immagine. Una transizione viene prodotta alla dimensione richiesta, da 480p a 1080p, e viene fatturata come un clip di quel formato. Per i fotogrammi chiave (modalità Qualità), keyframes accetta da 1 a 4 oggetti { at, image_job_id | image_url | image_upload_id, strength } e richiede una durata fissa (length).
La tua foto personale
- ChatGPT: allega l'immagine alla conversazione e chiedi. Niente altro.
- Tutti gli altri agenti (Claude, Cursor...): l'agente ti fornisce un link di upload (
tendre_upload_link). Aprilo, trascina l'immagine o incollala, poi di' all'agente che hai finito. Un agente con accesso ai tuoi file (Claude Code, Cursor, VS Code) la invia da solo.
La tua foto non viene mai scritta su disco. Rimane in memoria per 30 minuti, il tempo necessario per il rendering, e poi viene dimenticata. Il link di upload funziona solo per la chiave che lo ha creato. Le eccezioni sono una foto usata per creare un personaggio, che diventa una delle viste del personaggio, e le immagini di un'ambientazione, oggetto o animale salvato: entrambi vengono archiviati in forma crittografata, sotto il tuo controllo, finché non li elimini o fino a un anno senza utilizzo (vedi sotto).
Personaggi nello stesso clip
Chiedi "crea un personaggio da questa foto": l'agente lo crea (6 crediti), ti mostra le sette viste, e rifa quella fallita. Poi chiedi la scena, "un clip in cui Lea porge una tazza a Tom in una cucina soleggiata": li mette in scena con Multi-Ref Video, ciascuno chiamato con @Nome, fino a quattro per clip (dodici in Ultra, otto consigliati). I personaggi che hai creato nell'app sono presenti anch'essi. Una vista che continua a venire sbagliata (una protesi sul lato sbagliato, ad esempio) viene rifatta con un'istruzione, o sostituita con la tua immagine.
Dai all'agente alcune foto di un luogo, un oggetto o un animale e digli di cosa si tratta: lo salva (gratis), e poi puoi chiedere "@Lea aspetta @Tram in @Piazza". Fino a quattro personaggi, oggetti e animali in totale, più un'ambientazione salvata come scenario; in Ultra, fino a 30 immagini in totale, di cui al massimo dodici personaggi (otto consigliati). I dettagli si trovano nella pagina Personaggi e in Multi-Ref Video.
Un personaggio nel tuo video (Face swap)
Invia all'agente un video e nomina uno dei tuoi personaggi: con tendre_face_swap, la persona inquadrata
diventa quel personaggio, viso, capelli, corpo e outfit, mantenendo i gesti, le labbra, l'audio e
l'ambientazione, su un passaggio di al massimo 20 s. Il video arriva:
- da un link di upload (
tendre_upload_linkaccetta anche video: MP4, MOV, WebM o MKV, al massimo 95 MB); - come file allegato in ChatGPT;
- da un indirizzo pubblico (gli indirizzi privati vengono rifiutati);
- o da un video generato nella conversazione.
Per cambiare solo la testa (viso e capelli) e tenere il corpo filmato, i vestiti e l'ambientazione, chiedilo all'agente: invia part head.
Per default, l'audio del video prende la voce del profilo del personaggio se ne ha una; per mantenere la voce filmata, chiedilo: l'agente invia voice original. Una voce data con voice_url ha la precedenza, e ne vengono usati i primi 20 secondi.
Un personaggio creato nell'app non ha un nome sul nostro lato: l'agente gliene assegna uno (name) per chiamarlo con
@Nome nella scena. Per la voce del personaggio, fornisci l'indirizzo pubblico di un file audio di al massimo 2 MB
(voice_url): l'audio del video viene convertito in quella voce. Il tuo video transita attraverso i nostri
server mentre viene preparato, poi va alla scheda grafica che lo genera. Il risultato torna come
link video, come qualsiasi clip, nel formato di lavoro (circa un megapixel): la piena risoluzione e più
personaggi di seguito rimangono esclusivi dell'app desktop. Il prezzo è per secondo di passaggio, vedi
Face swap.
Transizioni, come gli angoli delle card nell'app: transition_in passa dalla persona filmata al personaggio all'inizio del passaggio, transition_out torna dal personaggio alla persona alla fine. Ognuna è cut (il default, nessuna transizione), morphing (una dissolvenza, circa 0,5 s) o glitch (un effetto digitale limitato alla silhouette, circa 0,4 s). Nessuna transizione d'ingresso se il passaggio apre il video, né d'uscita se lo chiude.
Con una transizione ricevi il video intero, al massimo 60 s (uno più lungo viene rifiutato): la persona filmata, la transizione, il personaggio sul suo passaggio, la transizione, poi di nuovo la persona. Arriva nel formato di lavoro (circa un megapixel) e a 24 o 30 fps; l'app desktop, invece, reincolla il personaggio a piena risoluzione e alla cadenza originale. Il passaggio renderizzato (e fatturato) si allunga di circa 0,3 s per ogni lato che ha una transizione. Applicare le transizioni è gratuito e richiede da qualche secondo a un minuto dopo il render, mentre tendre_job_status risponde pending (fase assembling the transitions). Il video_job_id di un render così indica il suo video intero: ridallo a tendre_face_swap per mettere un secondo personaggio nello stesso video. Il nostro server gestisce due face swap con transizioni alla volta; oltre, lo strumento ti chiede di riprovare tra qualche minuto.
La risposta indica i limiti esatti del passaggio, in secondi (passage: start, end). Senza transizione, un passaggio conta 8n+1 fotogrammi, arrotondato per difetto: 2,9 s richiesti danno 2,7 s. Per attaccare un altro passaggio subito dopo, fallo iniziare a end. Con una transizione, il passaggio è esatto al fotogramma.
Per attaccare due personaggi, fai iniziare il secondo al passage.end del primo: si attacca al fotogramma, e la sua transizione d'ingresso avviene per intero subito prima del raccordo (circa 0,4 s di glitch o 0,5 s di dissolvenza renderizzati in più dal suo lato), senza ripassare dalla persona filmata. Lascia il transition_out del primo su cut: altrimenti lo strumento avvisa che le due transizioni si sovrapporrebbero. La risposta riporta allora passage.joined_to_previous.
Usa solo video di persone che hanno dato il loro consenso: è una regola dei termini di utilizzo.
Le immagini tornano nella conversazione, i video sono un link a scadenza
Un'immagine arriva nella conversazione: il protocollo ha uno spazio per il contenuto immagine.
Un video non ce l'ha, e pesa troppo. Torna come link che rileva il file dall'output del motore e rimane valido per alcune decine di minuti. In seguito non viene conservato nulla sul nostro lato.
Quindi un agente che può scrivere sul tuo disco (Claude Code, Cursor, VS Code) viene incaricato di salvare il file per te. Uno che non può, come una chat web, può solo darti il link. Scaricalo finché è valido: una volta scaduto il clip è perso, e generarlo di nuovo costa altri crediti.
Ci sono tre eccezioni. Un video lungo: i suoi shot rimangono sul nostro server solo mentre viene assemblato, e vengono eliminati 30 minuti dopo l'aggiunta dell'ultimo; il video assemblato viene conservato per 24 ore, così puoi ritrovarlo se torni più tardi, e poi viene eliminato anch'esso. E un personaggio: le sue viste, inclusa la foto che hai inviato, vengono archiviate in forma crittografata sotto la tua licenza finché non lo elimini (tendre_character_delete) o rimane inutilizzato per un anno. Infine, un Face swap con transizione: il video intero resta nella memoria del nostro server finché il personaggio e le sue transizioni non vengono applicati, il video finale altri 30 minuti, e il tuo video passa sul disco solo il tempo della sua preparazione. Nient'altro rimane con noi.
Qualità massima
Per il rendering più raffinato, chiedi semplicemente ("in qualità massima"): l'agente passa alla modalità Ultra, ti comunica prima il prezzo, e ti avvisa che il rendering richiede più tempo. Il video arriva fino a 1080p: niente 4K.
Video lungo
Un clip dura al massimo 20 secondi a 24 fps (16 s a 30, il valore predefinito), 30 s in coerenza rafforzata a 24 fps. Per durate maggiori, chiedi semplicemente l'intero video ("un video di un minuto di..."): non c'è altro da sapere. L'agente lo genera shot per shot, ciascuno che prosegue il movimento del precedente senza interruzione al punto di giunzione, poi li unisce in un unico MP4 e ti fornisce il link.
Gli shot vengono generati uno dopo l'altro, e ciascuno richiede diversi minuti. Ciascuno costa il prezzo di un clip, che tendre_quote fornisce prima che inizi qualsiasi cosa. In coerenza rafforzata (consistency enhanced), un minuto si compone di due shot da 30 s a 24 fps, ciascuno al doppio del prezzo del suo formato. L'audio prosegue da uno shot all'altro, tranne in coerenza rafforzata e in Ultra, dove ricomincia da capo a ogni shot. Le regole e le chiamate che le gestiscono si trovano nella pagina Video.
Diversi shot con tagli netti, fino a 20 secondi, non richiedono una sequenza: chiedi gli shot, e l'agente li scrive in un unico clip (come descriverli).
Sotto il cofano
Il trasporto è MCP Streamable HTTP, versione del protocollo 2025-06-18, stateless: un messaggio JSON-RPC per ogni POST, una risposta JSON, nessuno stream dal server (una GET risponde 405). I metodi sono initialize, ping, tools/list e tools/call, e ogni strumento chiama la stessa API descritta in queste pagine, con la chiave dell'agente.