# `create_content_from_source`

_Content & calendar_

`write`

Create a content card from an article URL, raw text or uploaded PDF. Supply the editorial idea and optional title in the brand language. By default starts extraction in the background. With generate=true, waits for extraction then generates a script using the normal generate_scripts quota. Always preserves the card ID on partial failure so the agent can resume.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `brandId` | `string` | no |  |
| `idea` | `string` | yes |  |
| `title` | `string` | no |  |
| `source` | `object \| object \| object` | yes | Choose a source shape: {"kind":"url","url":"https://..."}, {"kind":"text","title":"Interview","text":"..."}, or {"kind":"pdf","pdfPath":"path from create_content_source_upload","fileName":"report.pdf"}. |
| `generate` | `boolean` | no |  |

## Example

### Prompt

```text
Turn this article into an Instagram script for my brand.
```

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_content_from_source",
    "arguments": {
      "idea": "Explain what this research means for my audience",
      "source": {
        "kind": "url",
        "url": "https://example.com/research/article"
      },
      "generate": false
    }
  }
}
```

### curl

```bash
curl -X POST https://app.usedalea.ai/api/mcp/mcp \
  -H "Authorization: Bearer dalea_mcp_..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"create_content_from_source","arguments":{"idea":"Explain what this research means for my audience","source":{"kind":"url","url":"https://example.com/research/article"},"generate":false}}}'
```
