> ## Documentation Index
> Fetch the complete documentation index at: https://docs.screencrafter.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Instant Post

> POST a URL, idea, or video. Poll the job. Zip is on demand.

`POST /api/v1/instant-post` is the paid pack (\~2 credits). Same spine as MCP `instant_post` submit. No extra submit fields.

YouTube / LinkedIn / Instagram / TikTok are **not** a fifth mode. They are `mode=from_url` (platform video). A website is `from_url` (webpage).

## From a URL

```bash theme={null}
curl -X POST https://api.screencrafter.io/api/v1/instant-post \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: sc_live_YOUR_KEY' \
  -d '{
    "mode": "from_url",
    "from_url": { "url": "https://screencrafter.io" }
  }'
```

Returns `job_id`. Studio: `https://app.screencrafter.io/result/{job_id}`

## From an idea

```bash theme={null}
curl -X POST https://api.screencrafter.io/api/v1/instant-post \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: sc_live_YOUR_KEY' \
  -d '{
    "mode": "from_idea",
    "idea": { "prompt": "Weekend sale 20% off coffee. Warm busy café energy." }
  }'
```

`instruction` is optional tone (“don’t make it an ad”). Do not put the idea in `instruction`.

## Poll

Cursor has no WebSocket.

```bash theme={null}
curl https://api.screencrafter.io/api/v1/jobs/{job_id} \
  -H 'X-API-Key: sc_live_YOUR_KEY'
```

When `status` is `completed`, clips and stills are on the job. Poll is free.

## Zip (on demand)

Do not expect zip bytes on complete.

```bash theme={null}
curl https://api.screencrafter.io/api/v1/instant-post/jobs/{job_id}/zip \
  -H 'X-API-Key: sc_live_YOUR_KEY'
```

JSON with a CDN `zip_url`. Same as MCP `action: zip`.
