Tintin Tryon

AI product photography for fashion sellers: Shopify photo audits, seasonal guides, AI try-on.

사용해야 할까요

품질 및 안전성

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

발견 사항 (2)

  • LOWTool 'get_job_status' description lacks action verbget_job_status에서
  • LOWTool 'get_credits_balance' description lacks action verbget_credits_balance에서

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

컨텍스트 비용

~2,041토큰 (도구 정의)
~2.9 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.59%)

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

설치

원클릭 설치

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

{
  "mcpServers": {
    "tryon": {
      "url": "https://tintin-x.com/mcp"
    }
  }
}

원격 엔드포인트

https://tintin-x.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (7)

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

Audit a Shopify store's listing photos (no account needed). Scans the public product sitemap for stale photos (≥180 days), season mismatches (e.g. winter items with summer-shot photos), and upcoming retail-calendar windows. Returns work orders with pre-filled create_tryon_job fixes and estimated credit costs.

입력 스키마

{
  "type": "object",
  "properties": {
    "store_url": {
      "type": "string",
      "description": "Store domain or URL, e.g. examplestore.com"
    }
  },
  "required": [
    "store_url"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "store": {
      "type": "string",
      "description": "Normalized store host that was audited"
    },
    "scanned_listings": {
      "type": "integer",
      "description": "Number of products found in the sitemap"
    },
    "summary": {
      "type": "object",
      "description": "Issue counts: stale_photos, season_mismatches, calendar_opportunities, total_work_orders, estimated_credits_to_fix_all",
      "additionalProperties": true
    },
    "work_orders": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Per-listing findings with a pre-filled create_tryon_job fix block"
    },
    "work_orders_truncated": {
      "type": "boolean",
      "description": "True when more work orders exist than shown"
    },
    "seasonal_context": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Retail shoot windows currently open or urgent"
    },
    "next_steps": {
      "type": "string",
      "description": "Suggested follow-up actions"
    },
    "error": {
      "type": "string",
      "description": "Machine-readable error code (only present on failures)"
    },
    "message": {
      "type": "string",
      "description": "Human-readable explanation of the failure"
    }
  },
  "additionalProperties": true
}
🟢get_seasonal_guide(category)

Retail shoot calendar for fashion sellers (no account needed): which shoot windows (Labor Day, Halloween, Fall/Winter drop, Black Friday, Holiday) are open or urgent right now, deadlines, and links to per-category shoot guides with recommended shots.

입력 스키마

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "womenswear",
        "swim",
        "lingerie"
      ],
      "description": "Optional: limit guide links to one category"
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "today": {
      "type": "string",
      "description": "Current date (ISO 8601)"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Shoot windows with event, name, peak, shoot_deadline, window_open, state (open|urgent|closed|upcoming), days_to_deadline, note, and guide links"
    },
    "how_to_act": {
      "type": "string",
      "description": "How to use the open windows"
    },
    "error": {
      "type": "string",
      "description": "Machine-readable error code (only present on failures)"
    },
    "message": {
      "type": "string",
      "description": "Human-readable explanation of the failure"
    }
  },
  "additionalProperties": true
}
🟡create_preview_job(store_url, garment_image_url, product_type, model)

ONE free on-model preview per store, no account needed. Pass the store and one of its listing photo URLs (from an audit_store work order) to generate a free 2K on-model try-on photo — the taste before buying credits. Poll with get_preview_status.

입력 스키마

{
  "type": "object",
  "properties": {
    "store_url": {
      "type": "string",
      "description": "The store the photo belongs to (same as audit_store)"
    },
    "garment_image_url": {
      "type": "string",
      "description": "A listing photo URL from that store (audit work order image_url)"
    },
    "product_type": {
      "type": "string",
      "description": "Top | Bottom | Dress | Full-body (default Top)"
    },
    "model": {
      "type": "string",
      "enum": [
        "man",
        "woman"
      ],
      "description": "Preset model (default woman)"
    }
  },
  "required": [
    "store_url",
    "garment_image_url"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "preview_id": {
      "type": "string",
      "description": "Preview job UUID — poll with get_preview_status"
    },
    "status": {
      "type": "string",
      "description": "Initial job state (usually queued)"
    },
    "store": {
      "type": "string",
      "description": "Normalized store host the preview belongs to"
    },
    "poll": {
      "type": "string",
      "description": "How to retrieve the result"
    },
    "error": {
      "type": "string",
      "description": "Machine-readable error code (only present on failures)"
    },
    "message": {
      "type": "string",
      "description": "Human-readable explanation of the failure"
    }
  },
  "additionalProperties": true
}
🟢get_preview_status(preview_id)

Poll a free preview. When succeeded, returns the preview image URL (valid 1h). No account needed.

입력 스키마

{
  "type": "object",
  "properties": {
    "preview_id": {
      "type": "string",
      "description": "Preview UUID returned by create_preview_job"
    }
  },
  "required": [
    "preview_id"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "description": "Generation job UUID"
    },
    "status": {
      "type": "string",
      "description": "Job state: queued | running | succeeded | failed"
    },
    "error_message": {
      "type": "string",
      "description": "Failure detail when status is failed"
    },
    "output_urls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Presigned result image URLs (present when succeeded)"
    },
    "output_urls_expire_in": {
      "type": "integer",
      "description": "Seconds until output_urls expire (3600)"
    },
    "error": {
      "type": "string",
      "description": "Machine-readable error code (only present on failures)"
    },
    "message": {
      "type": "string",
      "description": "Human-readable explanation of the failure"
    }
  },
  "additionalProperties": true
}
🟡create_tryon_job(garment_image_url, product_type, model, model_image_url, prompt, ...)

Generate an on-model try-on photo from a garment/product image URL (e.g. straight from an audit_store work order). Charges 1 credit (2K) or 2 credits (4K) from the account's studio credits. Requires an API key.

입력 스키마

{
  "type": "object",
  "properties": {
    "garment_image_url": {
      "type": "string",
      "description": "Public URL of the garment/product photo"
    },
    "product_type": {
      "type": "string",
      "description": "Top | Bottom | Dress | Full-body (default Top)"
    },
    "model": {
      "type": "string",
      "enum": [
        "man",
        "woman"
      ],
      "description": "Preset model (default woman)"
    },
    "model_image_url": {
      "type": "string",
      "description": "Optional: custom model reference photo URL"
    },
    "prompt": {
      "type": "string",
      "description": "Optional styling instructions"
    },
    "aspect_ratio": {
      "type": "string",
      "description": "Output aspect ratio, e.g. 3:4 (default)"
    },
    "resolution": {
      "type": "string",
      "enum": [
        "2K",
        "4K"
      ],
      "description": "Output resolution: 2K costs 1 credit, 4K costs 2"
    },
    "api_key": {
      "type": "string",
      "description": "API key if the client can't send an Authorization header"
    }
  },
  "required": [
    "garment_image_url"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "description": "Generation job UUID — poll with get_job_status"
    },
    "status": {
      "type": "string",
      "description": "Initial job state (usually queued)"
    },
    "credits_charged": {
      "type": "number",
      "description": "Studio credits debited for this generation"
    },
    "resolution": {
      "type": "string",
      "description": "Output resolution the job will render at"
    },
    "poll": {
      "type": "string",
      "description": "How to retrieve the result"
    },
    "error": {
      "type": "string",
      "description": "Machine-readable error code (only present on failures)"
    },
    "message": {
      "type": "string",
      "description": "Human-readable explanation of the failure"
    }
  },
  "additionalProperties": true
}
🟢get_job_status(job_id, api_key)

Poll a generation job. When succeeded, returns presigned output image URLs (valid 1h). Requires an API key.

입력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "description": "Job UUID returned by create_tryon_job"
    },
    "api_key": {
      "type": "string",
      "description": "API key if the client can't send an Authorization header"
    }
  },
  "required": [
    "job_id"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "description": "Generation job UUID"
    },
    "status": {
      "type": "string",
      "description": "Job state: queued | running | succeeded | failed"
    },
    "error_message": {
      "type": "string",
      "description": "Failure detail when status is failed"
    },
    "output_urls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Presigned result image URLs (present when succeeded)"
    },
    "output_urls_expire_in": {
      "type": "integer",
      "description": "Seconds until output_urls expire (3600)"
    },
    "error": {
      "type": "string",
      "description": "Machine-readable error code (only present on failures)"
    },
    "message": {
      "type": "string",
      "description": "Human-readable explanation of the failure"
    }
  },
  "additionalProperties": true
}
🟢get_credits_balance(api_key)

Studio credit balance and top-up link. Requires an API key.

입력 스키마

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "description": "API key if the client can't send an Authorization header"
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "credits": {
      "type": "number",
      "description": "Available studio credits (subscription + bonus)"
    },
    "note": {
      "type": "string",
      "description": "What one credit buys"
    },
    "topup_url": {
      "type": "string",
      "description": "Where to buy more credits"
    },
    "error": {
      "type": "string",
      "description": "Machine-readable error code (only present on failures)"
    },
    "message": {
      "type": "string",
      "description": "Human-readable explanation of the failure"
    }
  },
  "additionalProperties": true
}

커뮤니티

이 서버 평가하기

증거

최근 관측

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