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

# Create a styled capture from query parameters

Query-string shorthand for simple integrations and signed URLs. For server integrations, prefer POST.

` GET /v1/capture `

Create a styled capture from query parameters

Query-string shorthand for simple integrations and signed URLs. For server integrations, prefer POST.

## Servers

- ` https://screenframed.com ` — Production

## Authentication

The operation accepts these alternatives. Schemes within one alternative are required together.

### Alternative 1

- ` bearerAuth `: ` http `

  - HTTP scheme: ` bearer `

  - ScreenFramed API key, such as `sf_live_...`.

## Parameters

### ` site ` (query, optional)

Alias for `url`.

- ` value `: type ` string `; format ` uri `

### ` url ` (query, optional)

- ` value `: type ` string `; format ` uri `

### ` device ` (query, optional)

- ` value `: type ` string `

  - enum: ` ["iphone-16-pro","macbook-pro-16","ipad-pro-m4","browser-macos","browser-windows"] `

### ` bg ` (query, optional)

Alias for `background_preset`.

- ` value `: type ` string `

  - enum: ` ["aurora","sunset","ocean","midnight","arctic","dusk","forest","ember","custom"] `

### ` background_preset ` (query, optional)

- ` value `: type ` string `

  - enum: ` ["aurora","sunset","ocean","midnight","arctic","dusk","forest","ember","custom"] `

### ` shadow ` (query, optional)

- ` value `: type ` string `

  - enum: ` ["none","soft","hard","glow","float"] `

### ` aspect_ratio ` (query, optional)

- ` value `: type ` string `

  - enum: ` ["auto","16:9","4:3","1:1","3:2","9:16","21:9"] `

### ` selector ` (query, optional)

- ` value `: type ` string `

### ` element ` (query, optional)

- ` value `: type ` string `

### ` format ` (query, optional)

- ` value `: type ` string `

  - enum: ` ["png","webp","jpg"] `

### ` width ` (query, optional)

- ` value `: type ` integer `

  - minimum: ` 1 `

  - maximum: ` 6144 `

### ` height ` (query, optional)

- ` value `: type ` integer `

  - minimum: ` 1 `

  - maximum: ` 6144 `

### ` project_id ` (query, optional)

- ` value `: type ` string `

  - pattern: ` "^prj_[A-Z0-9]{26}$" `

### ` expires ` (query, optional)

Required for signed URL requests.

- ` value `: type ` integer `

### ` signature ` (query, optional)

Required for signed URL requests.

- ` value `: type ` string `

### ` payload ` (query, optional)

Base64url encoded JSON capture payload.

- ` value `: type ` string `

## Responses

### ` 201 ` — Capture created

Content type: ` application/json `

- ` value `: type ` object `

  - ` id `: type ` string `

    - pattern: ` "^cap_" `

  - ` url `: type ` string `; format ` uri `

  - ` width `: type ` integer `

  - ` height `: type ` integer `

  - ` format `: type ` string `

  - ` duration_ms `: type ` integer `

  - ` credits_used `: type ` integer `

  - ` cached `: type ` boolean `

  - ` warnings `: type ` array `

    - ` array item `: type ` string `

  - ` created_at `: type ` string `

  - ` resolved_params `: type ` object `

  - ` ai_decisions `: type ` object `

  - ` element_resolved `: type ` object `

### ` 400 ` — Error response

Content type: ` application/json `

- ` value `: type ` object `

  - Required fields: ` error `

  - ` error `: type ` object `

    - Required fields: ` code `, ` message `

    - ` code `: type ` string `

    - ` message `: type ` string `

    - ` details `: type ` object `

    - ` retry_after `: type ` integer `

### ` 401 ` — Error response

Content type: ` application/json `

- ` value `: type ` object `

  - Required fields: ` error `

  - ` error `: type ` object `

    - Required fields: ` code `, ` message `

    - ` code `: type ` string `

    - ` message `: type ` string `

    - ` details `: type ` object `

    - ` retry_after `: type ` integer `

### ` 402 ` — Error response

Content type: ` application/json `

- ` value `: type ` object `

  - Required fields: ` error `

  - ` error `: type ` object `

    - Required fields: ` code `, ` message `

    - ` code `: type ` string `

    - ` message `: type ` string `

    - ` details `: type ` object `

    - ` retry_after `: type ` integer `

### ` 422 ` — Error response

Content type: ` application/json `

- ` value `: type ` object `

  - Required fields: ` error `

  - ` error `: type ` object `

    - Required fields: ` code `, ` message `

    - ` code `: type ` string `

    - ` message `: type ` string `

    - ` details `: type ` object `

    - ` retry_after `: type ` integer `

### ` 429 ` — Error response

Content type: ` application/json `

- ` value `: type ` object `

  - Required fields: ` error `

  - ` error `: type ` object `

    - Required fields: ` code `, ` message `

    - ` code `: type ` string `

    - ` message `: type ` string `

    - ` details `: type ` object `

    - ` retry_after `: type ` integer `

## Request examples

### cURL

```curl
curl -X GET 'https://screenframed.com/v1/capture' \
  -H 'Authorization: Bearer YOUR_API_TOKEN'
```

### JavaScript

```javascript
const response = await fetch('https://screenframed.com/v1/capture', {
  method: 'GET',
  headers: {
      "Authorization": "Bearer YOUR_API_TOKEN"
  }
});

const data = await response.json();
console.log(data);
```

### Python

```python
import requests

headers = {
    'Authorization': 'Bearer YOUR_API_TOKEN'
}

response = requests.get('https://screenframed.com/v1/capture', headers=headers)
print(response.json())
```