Incarn

Animate old family photos into short lifelike videos with AI.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
84%
Integridad del esquema
96%
Calidad de los nombres
96%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (2)

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

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,792Tokens (definiciones de herramientas)
~2.7 KBTamaño de respuesta típico
Impacto moderado en la atención (1.40% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (5)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢list_examples(beat)

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

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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#"
}

Prompts recomendados

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada5 herramientas
verificadoversión no registrada5 herramientas