CONNECT APP
Build with Getty Images
Infrastructure & Cloud
- OAuth
MCP
Give your agent Getty Images tools
Every Getty Images action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's Getty Images account for each tool call — you store no tokens.
// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "getty_images",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Create Collection:
const result = await mcp.callTool({
name: "getty_images-create-collection",
arguments: {
collectionName: "Collection Name",
collectionDescription: "Collection Description",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", # any stable ID for this user in your system
"x-pd-app-slug": "getty_images",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Create Collection:
result = await session.call_tool("getty_images-create-collection", {
"collectionName": "Collection Name",
"collectionDescription": "Collection Description",
})API PROXY
Call the Getty Images API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Getty Images API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://api.gettyimages.com/v3/products",
})
// Any allowed Getty Images endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://api.gettyimages.com/v3/products
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZ2V0dHlpbWFnZXMuY29tL3YzL3Byb2R1Y3Rz?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run Getty Images actions from your backend
Connect a user's Getty Images account once, then run Create Collection on their behalf from your own code — TypeScript, Python, or plain HTTP.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "getty_images-create-collection",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
getty_images: { authProvisionId: "apn_xxxxxxx" },
collectionName: "Collection Name",
collectionDescription: "Collection Description",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="getty_images-create-collection",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"getty_images": {"authProvisionId": "apn_xxxxxxx"},
"collectionName": "Collection Name",
"collectionDescription": "Collection Description",
},
)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "getty_images-create-collection",
"configured_props": {
"getty_images": { "authProvisionId": "apn_xxxxxxx" },
"collectionName": "Collection Name",
"collectionDescription": "Collection Description"
}
}'TOOLS
Getty Images actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Create Collection
actionCreate a new image collection (board) in Getty Images. Provide a name and an optional description. Returns the created collection's ID and metadata. See the documentationWritev0.0.1 -
Download Image
actionDownload a licensed Getty Images asset by image ID. Returns a URI valid for up to 24 hours that can be used to download the file. Requires an active product subscription — use the Search Images action with Include Download Sizes enabled to confirm the asset is downloadable under your account. See the documentationWritev0.0.2 -
List Product Type Options
actionRetrieves available options for the Product Type field.Read-onlyv0.0.1 -
Search Images
actionSearch the Getty Images library by keyword with optional filters for image type, orientation, and license model. Returns image metadata including IDs, titles, captions, and display URLs. See the documentationRead-onlyv0.0.2
EVENTS
Getty Images triggers
Event sources your backend can deploy for users and receive through a webhook.
-
New Board Asset
triggerEmit new event each time an asset is added to a Getty Images board. Polls the board's asset list on a schedule. See the documentationv0.0.1 -
New Download
triggerEmit new event each time an image is downloaded from the Getty Images account. Polls the download history on a schedule. See the documentationv0.0.1 -
New Search Result
triggerEmit new event for each image returned by a search query that has not been seen in a previous run. Polls on a schedule to detect newly available images matching your criteria. See the documentationv0.0.1
MULTI-APP
Use Getty Images with other popular apps
Most products don't stop at one integration. Pair Getty Images with the other apps your users rely on, and ship use cases that span both.
- App slug
- getty_images
- Authentication
- OAuth
- Categories
- Infrastructure & Cloud
- Actions
- 4
- Triggers
- 3
- API proxy
- Available