# Quickstart

Get an API key, submit your first job, and poll it to completion — the loop every VEED model shares.

Three steps to your first generated video: get a key, send a job, read the
result. This one is language-agnostic and uses curl; the SDK guides beside it do
the same thing in Node and Go.

## 1. Get an API key

Create one in your workspace dashboard, then put it in your environment. Every
request carries it as a bearer token, and nothing else identifies you.

```bash
export VEED_API_KEY="vp_..."
```

## 2. Submit a job

Pick a model and `POST` its inputs. We will use Fabric 1.0,
which turns an image and an audio track into a talking video.

`POST /v1/fabric-1.0` — [reference](https://api.veed.io/docs/api/post-v1-fabric-1-0.md)

```bash
curl -X POST "https://api.veed.io/v1/fabric-1.0" \
  -H "Authorization: Bearer $VEED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "audio_url": "https://static-assets.veed.io/api-examples/fabric-input.mp3",
  "image_url": "https://static-assets.veed.io/api-examples/fabric-input.png",
  "resolution": "720p"
}'
```

You get `202 Accepted` back with a `job_id`. Nothing is billed yet, and nothing
is rendered yet.

## 3. Poll until it is done

`GET /v1/fabric-1.0/{job_id}` — [reference](https://api.veed.io/docs/api/get-v1-fabric-1-0-job-id.md)

```bash
curl "https://api.veed.io/v1/fabric-1.0/{job_id}" \
  -H "Authorization: Bearer $VEED_API_KEY"
```

Poll every `10` seconds until
`status` is `COMPLETED`, then read the file URL out of `result`. Those URLs
expire, so download what you need rather than storing the link.

## Next

- **[Node SDK](https://api.veed.io/docs/guides/getting-started-node)** — the same loop, with the client doing the polling
- **[Go SDK](https://api.veed.io/docs/guides/getting-started-go)** — the same, in Go
- **[Core concepts](https://api.veed.io/docs/concepts)** — authentication, failure modes and media handling in full
- **[Media retention](https://api.veed.io/docs/media-retention)** — how long result URLs last, and how to change it
- **[API reference](https://api.veed.io/docs/api)** — every endpoint, with its schema and samples
