Skip to main content
Glama

Animer une photo

animate_photo

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
styleNoIndication libre et subtile sur le mouvement (optionnel).
photo_idNoPhoto uploadée (via confirm_upload), si l'utilisateur a joint un fichier sans URL. Prioritaire si fourni.
image_urlNoURL publique http(s) de la photo. Chemin PRÉFÉRÉ (aucun upload, marche partout).
image_fileNoFichier 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).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesIdentifiant du job d'animation (à poller).
statusYesStatut du job : en cours, réussi ou échoué.
photo_urlYesURL de la photo source (avant), pour l'aperçu inline.
video_urlYesURL de la vidéo une fois prête, sinon null.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / photo_url
      Added value: +{
      +  "description": "URL de la photo source (avant), pour l'aperçu inline.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "id",
      -  "status",
      -  "video_url"
      -]New value: +[
      +  "id",
      +  "status",
      +  "video_url",
      +  "photo_url"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / image_file
      Added value: +{
      +  "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).",
      +  "properties": {
      +    "download_url": {
      +      "description": "URL de téléchargement de l'image, fournie par l'hôte.",
      +      "type": "string"
      +    },
      +    "file_id": {
      +      "description": "Identifiant du fichier côté hôte.",
      +      "type": "string"
      +    },
      +    "file_name": {
      +      "type": "string"
      +    },
      +    "mime_type": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "download_url",
      +    "file_id"
      +  ],
      +  "type": "object"
      +}
  3. Changed2 schema fields changed
    • changedInput schema / properties / image_url / description
      Previous value: -"URL publique http(s) de la photo à animer."New value: +"URL publique http(s) de la photo. Chemin PRÉFÉRÉ (aucun upload, marche partout)."
    • changedInput schema / properties / photo_id / description
      Previous value: -"Photo uploadée (via confirm_upload). Prioritaire si fourni."New value: +"Photo uploadée (via confirm_upload), si l'utilisateur a joint un fichier sans URL. Prioritaire si fourni."
  4. Changed2 schema fields changed
    • addedInput schema / properties / photo_id
      Added value: +{
      +  "description": "Photo uploadée (via confirm_upload). Prioritaire si fourni.",
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "image_url"
      -]
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "id": {
      +      "description": "Identifiant du job d'animation (à poller).",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "Statut du job : en cours, réussi ou échoué.",
      +      "enum": [
      +        "processing",
      +        "succeeded",
      +        "failed"
      +      ],
      +      "type": "string"
      +    },
      +    "video_url": {
      +      "description": "URL de la vidéo une fois prête, sinon null.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "status",
      +    "video_url"
      +  ],
      +  "type": "object"
      +}
  6. First observed

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, it discloses cost/credit requirements, the need for a funded account, the server-side fetching behavior, and a sandbox limitation on PUT requests. It does not explicitly describe the asynchronous flow or the need to consult get_animation_status.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The tool purpose is front-loaded and every major sentence is informative. The description is lengthier than needed, partly because of pricing and legal details, but each addition is relevant to correct invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers input selection, constraints, consent, and cost well. It lacks an explicit mention of what to do after the animation is submitted and could more clearly state that at least one of image_url, image_file, or photo_id must be provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful decision logic not present in the schema: choose image_url whenever possible, image_file is populated automatically, and photo_id requires the preceding upload sequence. This helps an agent select among parameters that the schema only lists.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening phrase 'Anime une photo ancienne en une courte vidéo naturelle' states a specific verb, resource, and output. It is easily distinguishable from the sibling upload/status tools with which it is grouped.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit guidance on when to use each input: image_url is preferred, image_file is auto-filled by ChatGPT, and photo_id must be created via create_upload/confirm_upload with a sandbox caveat. It also specifies when not to use the tool for third-party or public figures.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources