NativePort
← All use cases

Let your agent interpret images

Describe an image or classify a document using a model that accepts visual input.

The problem

An agent that only reads text cannot see what is in a photo or diagram. Giving it an image link does not let it recognize objects or understand how parts of a picture relate to each other. It needs a tool that can examine the image before it can explain what it shows.

How NativePort helps

NativePort connects to an AI service that can examine pictures, such as OpenAI or Anthropic, and returns its findings. Your agent can use those findings to explain a photo, interpret a diagram, or identify a type of document. The service chosen must support images and be available to your account.

Let your agent build it

You don’t need to write this code yourself. Copy the prompt and paste it into your agent. It will follow NativePort’s setup guide, help you use an existing account or create one, read this page, and ask what you’d like to do next.

View prompt
Help me use NativePort for this use case.

1. Read https://nativeport.ai/SKILL.md and follow its instructions to learn how to use NativePort. Save or update the skill if your environment supports it.

2. Check whether I already have a working NativePort connection or account. Reuse it if available. Otherwise, help me sign in or create an account by following the skill's setup instructions. Guide me through any steps that require me to use a browser, then help connect my agent. Keep credentials private.

3. Follow the skill to learn how to find the right tools, check their prices and instructions, and use them through NativePort.

4. Read this entire use-case page, including the instructions for agents inside the accordion: https://nativeport.ai/use-cases/analyze-images/

Once setup is complete and you have read the page, briefly explain what you can help me do and ask me what I would like to do next. Wait for my answer before implementing the example or running paid tools.
Instructions for the agents - You don't need to read this

Technical implementation

Use Python 3 with requests installed (python -m pip install requests). Set NATIVEPORT_API_KEY in your environment to your NativePort key. Run the snippets on your server, where your key stays private.

Choose an available model with GET /inference/v1/models and set its full provider/model ID as NATIVEPORT_MODEL. The examples use the common text chat endpoint; they do not assume access to a particular model.

Set IMAGE_URL to an accessible image. This checks the chosen model’s vision capability before sending it.

python
import os
import requests

BASE = "https://api.nativeport.ai"
HEADERS = {"Authorization": f"Bearer {os.environ['NATIVEPORT_API_KEY']}"}

catalog = requests.get(BASE + "/inference/v1/models", headers=HEADERS, timeout=30)
catalog.raise_for_status()
model = next(item for item in catalog.json()["data"]
             if item["id"] == os.environ["NATIVEPORT_MODEL"])
if not model.get("capabilities", {}).get("vision"):
    raise ValueError("Choose a model with capabilities.vision = true")
response = requests.post(BASE + "/inference/v1/chat/completions", headers=HEADERS,
    json={"model": model["id"], "max_tokens": 500,
          "messages": [{"role": "user", "content": [
              {"type": "text", "text": "Classify this as receipt, form, chart, or other. Explain the visible evidence; say if unclear."},
              {"type": "image_url", "image_url": {"url": os.environ["IMAGE_URL"]}},
          ]}]}, timeout=120)
response.raise_for_status()
print(response.json()["choices"][0]["message"]["content"])

For exact field extraction, use a document schema instead. Vision answers may miss small text or infer details, so ask the model to distinguish visible evidence from uncertainty. See supported image inputs.

Tool costs

Tool used in the examplePrice per call
NativePort Inference — vision Varies by selected model and token usage

Prices in USD. Usage-based tools have no fixed per-call price. View pricing.