Incarn

Animate old family photos into short lifelike videos with AI.

사용해야 할까요

품질 및 안전성

A
설명 품질
84%
스키마 완전성
96%
이름 품질
96%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (2)

  • LOWTool 'list_examples' description lacks action verblist_examples에서
  • LOWTool 'get_animation_status' description lacks action verbget_animation_status에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,792토큰 (도구 정의)
~2.7 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.40%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

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

원격 엔드포인트

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

할 수 있는 일

도구 목록

도구 (5)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_examples(beat)

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

입력 스키마

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

출력 스키마

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

입력 스키마

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

출력 스키마

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

입력 스키마

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

출력 스키마

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

입력 스키마

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

출력 스키마

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

입력 스키마

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

출력 스키마

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

권장 프롬프트

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

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 5개
검증됨버전이 기록되지 않음도구 5개
검증됨버전이 기록되지 않음도구 5개