CONNECT APP
Build with Hugging Face
Artificial Intelligence (AI)
- API key
MCP
Give your agent Hugging Face tools
Every Hugging Face 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 Hugging Face 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": "hugging_face",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Document Question Answering:
const result = await mcp.callTool({
name: "hugging_face-document-question-answering",
arguments: {
modelId: "Model ID",
imageUrl: "Image URL",
},
})# 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": "hugging_face",
}
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 Document Question Answering:
result = await session.call_tool("hugging_face-document-question-answering", {
"modelId": "Model ID",
"imageUrl": "Image URL",
})API PROXY
Call the Hugging Face API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Hugging Face 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://huggingface.co/api/whoami-v2",
})
// Any allowed Hugging Face 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://huggingface.co/api/whoami-v2
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9odWdnaW5nZmFjZS5jby9hcGkvd2hvYW1pLXYy?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run Hugging Face actions from your backend
Connect a user's Hugging Face account once, then run Document Question Answering 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: "hugging_face-document-question-answering",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
hugging_face: { authProvisionId: "apn_xxxxxxx" },
modelId: "Model ID",
imageUrl: "Image URL",
},
})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="hugging_face-document-question-answering",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"hugging_face": {"authProvisionId": "apn_xxxxxxx"},
"modelId": "Model ID",
"imageUrl": "Image URL",
},
)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": "hugging_face-document-question-answering",
"configured_props": {
"hugging_face": { "authProvisionId": "apn_xxxxxxx" },
"modelId": "Model ID",
"imageUrl": "Image URL"
}
}'TOOLS
Hugging Face actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Document Question Answering
actionWant to have a nice know-it-all bot that can answer any question?. This action allows you to ask a question and get an answer from a trained model. See the docs.Read-onlyv0.0.2 -
Image Classification
actionThis task reads some image input and outputs the likelihood of classes. This action allows you to classify images into categories. See the docs.Read-onlyv0.0.2 -
Language Translation
actionThis task is well known to translate text from one language to another. See the docs.Read-onlyv0.0.2 -
Object Detection
actionThis task reads some image input and outputs the likelihood of classes and bounding boxes of detected objects. See the docs.Writev0.0.2 -
Text Classification
actionUsually used for sentiment-analysis this will output the likelihood of classes of an input. This action allows you to classify text into categories. See the docs.Writev0.0.2 -
Text Summarization
actionThis task is well known to summarize longer text into shorter text. Be careful, some models have a maximum length of input. That means that the summary cannot handle full books for instance. Be careful when choosing your model. See the docs.Read-onlyv0.0.2
EVENTS
Hugging Face triggers
Event sources your backend can deploy for users and receive through a webhook.
No Hugging Face triggers are available yet.
MULTI-APP
Use Hugging Face with other popular apps
Most products don't stop at one integration. Pair Hugging Face with the other apps your users rely on, and ship use cases that span both.
- App slug
- hugging_face
- Authentication
- API key
- Categories
- Artificial Intelligence (AI)
- Actions
- 6
- Triggers
- 0
- API proxy
- Available