# Upload Asset From URL — Pixelbin

> Uploads an asset to Pixelbin from a given URL. See the documentation

- Key: `pixelbin-upload-asset-url`
- Type: Action (Write)
- Version: 0.0.2
- App: Pixelbin (`pixelbin`) — https://pipedream.com/apps/pixelbin.md
- This page (HTML): https://pipedream.com/apps/pixelbin/actions/upload-asset-url
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/pixelbin/actions/upload-asset-url/upload-asset-url.mjs

## Description

Uploads an asset to Pixelbin from a given URL. [See the documentation](https://www.pixelbin.io/docs/api-docs/)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `url` | `string` | Yes | URL of the asset you want to upload. |
| `path` | `string` | No | Path where you want to store the asset. Path of containing folder. Eg. folder1/folder2. Options are loaded from the connected account. |
| `name` | `string` | No | Name of the asset, if not provided name of the file will be used. Note - The provided name will be slugified to make it URL safe. |
| `access` | `string` | No | Access level of the asset. |
| `tags` | `string[]` | No | Tags for the asset. |
| `metadata` | `object` | No | Metadata for the asset. |
| `overwrite` | `boolean` | No | Overwrite flag. If set to true will overwrite any file that exists with same path, name and type. Defaults to false. |
| `filenameOverride` | `boolean` | No | If set to true will add unique characters to name if asset with given name already exists. If overwrite flag is set to true, preference will be given to overwrite flag. If both are set to false an error will be raised. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
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 accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_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": "pixelbin",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "pixelbin-upload-asset-url",
  arguments: {
    url: "URL",
    path: "Path",
  },
})
```

**TypeScript**

```ts
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: "pixelbin-upload-asset-url",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    pixelbin: { authProvisionId: "apn_xxxxxxx" },
    url: "URL",
    path: "Path",
  },
})

console.log(result)
```

**cURL**

```bash
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": "pixelbin-upload-asset-url",
    "configured_props": {
      "pixelbin": { "authProvisionId": "apn_xxxxxxx" },
      "url": "URL",
      "path": "Path"
    }
  }'
```

---

- App: https://pipedream.com/apps/pixelbin.md · All apps: https://pipedream.com/apps
