Incarn

Animate old family photos into short lifelike videos with AI.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
84%
Vollständigkeit des Schemas
96%
Qualität der Benennung
96%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (2)

  • LOWTool 'list_examples' description lacks action verbin list_examples
  • LOWTool 'get_animation_status' description lacks action verbin get_animation_status

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,792Tokens (Tool-Definitionen)
~2.7 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.40% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "photo-animation": {
      "url": "https://api.incarn.co/mcp"
    }
  }
}

Remote-Endpunkte

https://api.incarn.co/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (5)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢list_examples(beat)

Voir des exemples avant/après d'animation de photos anciennes (galerie de démonstration).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "beat": {
      "type": "string",
      "description": "Thème optionnel (ex: 'mariage', 'bébé', 'portrait')."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "beat": {
      "type": [
        "string",
        "null"
      ],
      "description": "Thème appliqué, ou null."
    },
    "gallery_url": {
      "type": "string",
      "description": "URL de la galerie publique où chaque portrait s'anime (avant/après). À partager avec l'utilisateur."
    },
    "examples": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Titre de l'exemple."
          },
          "thumbnail_url": {
            "type": "string",
            "description": "URL de la vignette."
          }
        },
        "required": [
          "title",
          "thumbnail_url"
        ],
        "additionalProperties": false
      },
      "description": "Liste d'exemples avant/après."
    }
  },
  "required": [
    "beat",
    "gallery_url",
    "examples"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_upload(mime_type)

Étape 1 pour animer une photo JOINTE dans le chat quand il n'y a pas d'URL publique. Renvoie une URL d'upload : PUT les octets du fichier dessus (en-tête Content-Type), puis confirm_upload. IMPORTANT : si une URL publique de la photo existe, préfère plutôt animate_photo avec image_url (aucun upload, marche partout). Le PUT peut être refusé par l'egress d'un agent sandboxé (403 'host_not_allowed') : dans ce cas ne le retente pas, bascule sur image_url ou fais autoriser api.incarn.co. N'envoie JAMAIS l'image en base64.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mime_type": {
      "type": "string",
      "description": "Type MIME de l'image (ex: 'image/jpeg', 'image/png')."
    }
  },
  "required": [
    "mime_type"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "upload_id": {
      "type": "string",
      "description": "À passer à confirm_upload."
    },
    "upload_url": {
      "type": "string",
      "description": "URL sur api.incarn.co : PUT les octets du fichier dessus."
    },
    "expires_in": {
      "type": "number",
      "description": "Validité de l'URL, en secondes."
    },
    "note": {
      "type": "string",
      "description": "Marche à suivre + fallback si le PUT est bloqué."
    }
  },
  "required": [
    "upload_id",
    "upload_url",
    "expires_in",
    "note"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡confirm_upload(upload_id)

Étape 2 : une fois les octets envoyés (PUT) sur l'upload_url, appelle-moi avec le upload_id pour valider la photo (modération incluse). Renvoie un photo_id à passer à animate_photo.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "upload_id": {
      "type": "string",
      "description": "Le upload_id renvoyé par create_upload."
    }
  },
  "required": [
    "upload_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "photo_id": {
      "type": "string",
      "description": "Identifiant de la photo, à passer à animate_photo."
    }
  },
  "required": [
    "photo_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡animate_photo(photo_id, image_url, image_file, style)

Anime une photo ancienne en une courte vidéo naturelle. Consomme 1 crédit (compte approvisionné requis, pas d'essai gratuit). Abonnement à partir de 19 €/mois HT, soit 0,76 € la photo, sur https://www.incarn.co/developers. Fournis l'image via image_url (URL publique http(s) — PRÉFÉRÉ : notre serveur va la chercher, marche partout, aucun upload côté client) OU image_file (fichier joint par l'utilisateur, rempli automatiquement par ChatGPT) OU photo_id (create_upload puis confirm_upload ; ce PUT peut être bloqué dans un agent sandboxé). Privilégie image_url dès qu'une URL est disponible. À n'utiliser que pour des photos que l'utilisateur a le droit d'animer (les siennes, sa famille, ses ancêtres) ; refuse d'animer des personnalités publiques identifiables ou des personnes tierces sans leur consentement.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "photo_id": {
      "type": "string",
      "description": "Photo uploadée (via confirm_upload), si l'utilisateur a joint un fichier sans URL. Prioritaire si fourni."
    },
    "image_url": {
      "type": "string",
      "format": "uri",
      "description": "URL publique http(s) de la photo. Chemin PRÉFÉRÉ (aucun upload, marche partout)."
    },
    "image_file": {
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string",
          "description": "URL de téléchargement de l'image, fournie par l'hôte."
        },
        "file_id": {
          "type": "string",
          "description": "Identifiant du fichier côté hôte."
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "additionalProperties": false,
      "description": "Fichier joint par l'utilisateur — rempli AUTOMATIQUEMENT par ChatGPT (openai/fileParams) quand une photo est attachée. Notre serveur télécharge le download_url côté serveur (aucun upload côté client)."
    },
    "style": {
      "type": "string",
      "description": "Indication libre et subtile sur le mouvement (optionnel)."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Identifiant du job d'animation (à poller)."
    },
    "status": {
      "type": "string",
      "enum": [
        "processing",
        "succeeded",
        "failed"
      ],
      "description": "Statut du job : en cours, réussi ou échoué."
    },
    "video_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "URL de la vidéo une fois prête, sinon null."
    },
    "photo_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "URL de la photo source (avant), pour l'aperçu inline."
    }
  },
  "required": [
    "id",
    "status",
    "video_url",
    "photo_url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_animation_status(job_id)

Récupère le statut d'un job d'animation et l'URL de la vidéo une fois prête.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "description": "Identifiant du job d'animation."
    }
  },
  "required": [
    "job_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Identifiant du job."
    },
    "status": {
      "type": "string",
      "enum": [
        "processing",
        "succeeded",
        "failed"
      ],
      "description": "Statut du job : en cours, réussi ou échoué."
    },
    "video_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "URL de la vidéo une fois prête, sinon null."
    },
    "error": {
      "type": [
        "string",
        "null"
      ],
      "description": "Message d'erreur si le job a échoué, sinon null."
    },
    "photo_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "URL de la photo source (avant), pour l'aperçu inline."
    }
  },
  "required": [
    "id",
    "status",
    "video_url",
    "error",
    "photo_url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Empfohlene Prompts

list_items
List all [items] available in Incarn
Erwartete Tools: list_examples
fetch_info
Fetch [information type] using Incarn
Erwartete Tools: get_animation_status
explore_workflow
List available [items], then get details for each one using Incarn
Erwartete Tools: list_examplesget_animation_status
retrieve_data
Get details about [item] from Incarn
Erwartete Tools: get_animation_status
browse_collection
Show me the [collection] from Incarn
Erwartete Tools: list_examples

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet5 Tools
verifiziertVersion nicht aufgezeichnet5 Tools