Skip to main content
Glama
298,506 tools. Last updated 2026-07-14 13:34

"Free image analysis tool" matching MCP tools:

  • Generate an AI image using Avocado AI. Returns a jobId immediately; image generation completes in 10-60 seconds. After calling, use the check_job tool with the returned jobId to retrieve the result, once complete, check_job returns the image inline so it renders directly in chat. Run models_list to see available models. Costs 1-4 credits per image depending on model and quality.
    Connector
  • Retrieve the final output of a completed async job. Call ONLY after check_job_status returns status='completed' — calling on a non-completed job returns an error. Returns JSON whose shape depends on jobType: video/video-image → { videoUrl, duration }; image-3d → { modelUrl } (GLB format); transcription → { text, language, segments }; epub-audiobook → { audioUrl, chapters }; ai-call → { transcript, duration, summary }. All URLs are temporary (valid ~1 hour) — download immediately. This tool is free and does not require payment. Do NOT use for synchronous tools — those return results directly.
    Connector
  • Attach an image to an existing product by giving Partle a public URL to download the image from. Authenticated. OAuth (scope `products:write`) preferred; `api_key` fallback. **When to use this tool**: the image is already hosted at a public URL (a scraped product page, an Imgur link, a CDN URL the user provided). Partle's server fetches it and stores it. **When NOT to use this tool**: you have local image bytes (a file the user attached, or bytes you generated/downloaded in your sandbox). Sending those bytes through a tool argument blows past conversation context limits — phone-photo-sized payloads can be 6+ MB of base64. Instead, in your code-execution sandbox, POST the file directly to the HTTP endpoint with multipart encoding: requests.post( "https://partle.rubenayla.xyz/v1/external/products/{product_id}/images", files={"file": open("/path/to/photo.jpg", "rb")}, headers={"X-API-Key": "pk_..."}, ) Or, to create the listing and attach an image in one HTTP request: requests.post( "https://partle.rubenayla.xyz/v1/external/products", data={"metadata": json.dumps({"name": ..., "price": ...})}, files={"image": open("/path/to/photo.jpg", "rb")}, headers={"X-API-Key": "pk_..."}, ) Args: product_id: ID of the product to attach the image to. image_url: Publicly fetchable URL of the image. Server fetches it and stores it. api_key: Legacy/fallback auth. Omit when using OAuth. Returns: The created `ProductImage` record with its `id` (use for deletion) and storage path, or ``{"error": ...}`` on validation/auth failure.
    Connector
  • Copy an image that already exists on one output onto another cell, instant and free (no regeneration, no credits). Use this when the user wants 'the same image' on a second surface ('use the LinkedIn image on X', 'same picture on the newsletter') instead of niche_render_image_card (which generates a new image and costs credits). Both cells must already exist on the session (add the target via niche_add_output first if needed) and the source must have a rendered image. Copies the source's static_urls onto the target so it publishes with that image. Idempotent: source==target is a no-op.
    Connector
  • Modify an existing image, standalone — the result is retrievable ONLY via check_job and is NOT placed anywhere automatically. If a flow_id is in play (the Flows Director / a storyboard), do NOT use this tool — use edit_image_to_flow instead, so the result actually lands in the user's Director Library. REQUIRED input: exactly one of file_id OR image_url. base64 is NOT accepted — do not try to pass image bytes as a tool argument, the call will be rejected. For chat-attached images you MUST first call prepare_image_upload to get a signed PUT URL, get the bytes uploaded (the user drops the image into the inline widget on Claude.ai; curl only in Claude Code / CLIs with a real shell — a Claude.ai code sandbox cannot reach the URL), then call this tool with the returned file_id. For URLs the user has pasted, use image_url directly. Returns a jobId immediately; call check_job with the jobId to retrieve the edited image inline. Models: 'nano-banana-2' (fast, default, 1 credit/image), 'nano-banana-2-lite' (fastest/cheapest, single-image touch-ups, 1 credit/image), and 'gpt-image-2' (higher quality, 1-4 credits/image by quality tier).
    Connector
  • Create a style. Two mutually exclusive paths: References (best): inputs=[{"input_type": "youtube" | "text", "value": "<url or description>"}] — YouTube videos are watched and text directions read; async analysis writes the style's art/narrative/director fields: await_jobs(style_id=...) before using the style. (Image/video FILE references require the multipart REST endpoint POST /styles.) Presets (instant, no analysis): presets={"art_style": id, "narrative_style": id, "director_style": id} — all three axes, ids from list_style_presets.
    Connector

Matching MCP Servers

Matching MCP Connectors

  • Free e-signature for humans and AI agents — zero-document PDF signing from hashes only.

  • Free e-signature for humans and AI agents - zero-document PDF signing from hashes only.

  • Attach an image to an existing product by giving Partle a public URL to download the image from. Authenticated. OAuth (scope `products:write`) preferred; `api_key` fallback. **When to use this tool**: the image is already hosted at a public URL (a scraped product page, an Imgur link, a CDN URL the user provided). Partle's server fetches it and stores it. **When NOT to use this tool**: you have local image bytes (a file the user attached, or bytes you generated/downloaded in your sandbox). Sending those bytes through a tool argument blows past conversation context limits — phone-photo-sized payloads can be 6+ MB of base64. Instead, in your code-execution sandbox, POST the file directly to the HTTP endpoint with multipart encoding: requests.post( "https://partle.rubenayla.xyz/v1/external/products/{product_id}/images", files={"file": open("/path/to/photo.jpg", "rb")}, headers={"X-API-Key": "pk_..."}, ) Or, to create the listing and attach an image in one HTTP request: requests.post( "https://partle.rubenayla.xyz/v1/external/products", data={"metadata": json.dumps({"name": ..., "price": ...})}, files={"image": open("/path/to/photo.jpg", "rb")}, headers={"X-API-Key": "pk_..."}, ) Args: product_id: ID of the product to attach the image to. image_url: Publicly fetchable URL of the image. Server fetches it and stores it. api_key: Legacy/fallback auth. Omit when using OAuth. Returns: The created `ProductImage` record with its `id` (use for deletion) and storage path, or ``{"error": ...}`` on validation/auth failure.
    Connector
  • Machine-readable Terms of Service. FREE. Call before any paid tool, then confirm_terms.
    Connector
  • Retrieve a completed analysis result by analysis ID. Returns scores, competency breakdown, and recommendations. analysis_id comes from atlas_start_gem_analysis response or atlas_list_analyses. Only works after analysis is completed -- check with careerproof_task_status first. Free.
    Connector
  • Get detailed CV version including structured content, sections, word count, and audience profile. cv_version_id from ceevee_upload_cv or ceevee_list_versions. Use to inspect CV content before running analysis tools. Free.
    Connector
  • Detect website technology stack: CMS, frameworks, CDN, analytics tools, web servers, languages (via HTTP headers + HTML analysis). Use for passive reconnaissance; for full audit use audit_domain. Free: 30/hr, Pro: 500/hr. Returns {technologies: [{name, category, confidence%, version}]}.
    Connector
  • Check your pipeline check credit balance. Shows credits remaining, total purchased, total used, and lifetime free lookups count. Credits are consumed only when unknown domains run through the full analysis pipeline. Known domains (Tranco Top 100K) and cached domains (previously analysed by any Unphurl customer) are always free. If credits_remaining is 0, you can still check known and cached domains for free. To check unknown domains, purchase more credits using the "purchase" tool.
    Connector
  • Retrieve the citation network for an opinion cluster. Supports two directions: "cited_by" (opinions that cite this one — measures precedential influence) and "citing" (opinions this one cites — reveals the authority chain relied on). This is the primary tool for tracing legal precedent chains. Note: the free tier (125 req/day) supports shallow traversal — following 1–2 hops of a single case is practical; deep multi-hop analysis burns through the daily budget quickly.
    Connector
  • The user's remaining monthly analyse and AI credits and the reset date. Call when the user asks about their usage limits, or after a credit-limit error from an analysis tool.
    Connector
  • List all available image and video generation models with current per-unit USD prices, supported resolutions, durations and constraints. Prices come from the same source as the website — call this before quoting costs to a user or choosing a model. Free, no charge.
    Connector
  • Mandatory initialization step for any session against the Blockscout MCP server. Returns server reference data plus the `blockscout-analysis` skill pointer and URI resolution rule. MANDATORY FOR AI AGENTS: Call this tool first in every session. The returned payload identifies where the operating rules and analysis framework live and how to read referenced skill files before executing further tool calls.
    Connector
  • Mandatory initialization step for any session against the Blockscout MCP server. Returns server reference data plus the `blockscout-analysis` skill pointer and URI resolution rule. MANDATORY FOR AI AGENTS: Call this tool first in every session. The returned payload identifies where the operating rules and analysis framework live and how to read referenced skill files before executing further tool calls.
    Connector
  • List all positioning sessions (market analysis through lens selection to targeted edits). Returns an array of session objects with id, status, cv_version_id, and created_at. Use the session id with ceevee_get_positioning_session for full details including analysis results, edits, and PDFs. Free.
    Connector
  • Extract plain text from a PDF or image (base64-encoded). Use when you need raw text for downstream AI analysis (summarization, claim checking, structured extraction). For documents at a public URL, use extract_url instead (no base64 encoding needed). Returns: { pages: number, text: string } Example prompts: - "Extract the text from this scanned contract so I can search it." - "Give me the raw text from this PDF document." - "OCR this image and return the text content."
    Connector
  • Lists your recent scans (scan_id, tool, target, status, time) so you can retrieve or chain from a prior result. Optional limit/tool/target/since filters. Free to call.
    Connector