---
title: "Run veed-standard (video-edit)"
description: "Submit a video-edit job to veed-standard. The request carries the real fields of this model; there is no hidden switch on a model parameter.\n\nSend `quote_only: true` to price the request for free, then send the same body with the returned `quote_id` to run it.\n\nAttach identity, product, or a first frame by resource id (`avatar_id`, `product_id`, `scene_id`) or by a workspace-owned `cdn.roasos.com` URL. Any other URL is `400 reference_media_not_workspace_owned`.\n\nPass a `webhook_url` and roasOS POSTs you the same job envelope `GET /v1/jobs/{id}` returns when the job finishes, signed with `X-RoasOS-Signature` and retried on failure. The URL must be HTTPS and reachable (`400 invalid_url` otherwise), and first-party keys cannot register webhooks (`400 webhook_url_not_supported_for_key`). See **Webhooks** above for verification. Polling `links.status` works too."
url: https://docs.roasos.com/api-reference/models/createVideoEditVeedStandard
---

# Run veed-standard (video-edit)

Submit a video-edit job to veed-standard. The request carries the real fields of this model; there is no hidden switch on a model parameter.

Send `quote_only: true` to price the request for free, then send the same body with the returned `quote_id` to run it.

Attach identity, product, or a first frame by resource id (`avatar_id`, `product_id`, `scene_id`) or by a workspace-owned `cdn.roasos.com` URL. Any other URL is `400 reference_media_not_workspace_owned`.

Pass a `webhook_url` and roasOS POSTs you the same job envelope `GET /v1/jobs/{id}` returns when the job finishes, signed with `X-RoasOS-Signature` and retried on failure. The URL must be HTTPS and reachable (`400 invalid_url` otherwise), and first-party keys cannot register webhooks (`400 webhook_url_not_supported_for_key`). See **Webhooks** above for verification. Polling `links.status` works too.

## `POST /v1/video-edit/veed-standard`

Endpoint: `POST https://api.roasos.com/v1/video-edit/veed-standard`

Run veed-standard (video-edit)

Submit a video-edit job to veed-standard. The request carries the real fields of this model; there is no hidden switch on a model parameter.

Send `quote_only: true` to price the request for free, then send the same body with the returned `quote_id` to run it.

Attach identity, product, or a first frame by resource id (`avatar_id`, `product_id`, `scene_id`) or by a workspace-owned `cdn.roasos.com` URL. Any other URL is `400 reference_media_not_workspace_owned`.

Pass a `webhook_url` and roasOS POSTs you the same job envelope `GET /v1/jobs/{id}` returns when the job finishes, signed with `X-RoasOS-Signature` and retried on failure. The URL must be HTTPS and reachable (`400 invalid_url` otherwise), and first-party keys cannot register webhooks (`400 webhook_url_not_supported_for_key`). See **Webhooks** above for verification. Polling `links.status` works too.

### Parameters

- `undefined`
- `undefined`
- `undefined`

### Request body

Content type: `application/json`

### Responses

- `200`: A quote (`quote_only: true`), or the terminal job when it finished inside `wait_timeout_seconds`. A quote spends nothing.
- `201`: Job created. Poll `links.status`, or pass a `webhook_url` to be told when it finishes.
- `202`: Job created and still running when `wait_timeout_seconds` elapsed.
- `400`: invalid_request, unsupported_option, prompt_too_long, or reference_media_not_workspace_owned
- `402`: insufficient_credits
- `403`: The API key is not authorized for this model or credit ceiling
- `409`: The idempotency key was reused with different request data
- `410`: quote_expired: the quote must be replaced under a new idempotency key
- `429`: rate_limit_exceeded, or a concurrency or budget ceiling
- `501`: not_implemented: this model endpoint is not live yet
- `503`: The paid request could not be claimed safely

Read the full reference at https://docs.roasos.com/api-reference/models/createVideoEditVeedStandard.
