> For the documentation index, fetch https://sync.so/docs/llms.txt. Append .md to a page URL for Markdown. Documentation-search MCP: https://sync.so/docs/_mcp/server.

# Create Batch from Rows

POST https://api.sync.so/v2/batch
Content-Type: application/json

The `application/json` form of `POST /v2/batch`, the same endpoint as "Create Batch": send the records in a `rows` array instead of a JSONL file. Each row is the same object as one JSONL line and is validated the same way: 20-500 rows by default, 5 MB or smaller when serialized as JSONL, unique `request_id` values, and endpoint exactly `/v2/generate`. Errors name a refused row by its line, where line N is `rows[N-1]`: dialogue edit refusals return it as `lineNumber`, other record errors only in `message`. Requires the Scale plan or higher. In early access, enabled per organization, a row's payload can carry `dialogueEdit` to render a completed preview from POST /v2/dialogue-edits: send one video input, the video the preview was made from, and no audio input. All dialogue edit rows in a batch must come from the same source video. Each row is expanded at submit into the request POST /v2/generate builds for that preview and is charged the same. A dialogue edit row that cannot be rendered refuses the whole batch with the `/v2/generate` errorCode (for example dialogue_edit_not_found, 422) and `lineNumber`. See [Batch Processing](/api-reference/guides/batch-processing).

Reference: https://sync.so/docs/api-reference/api/batch-api/create-from-rows

## Authentication

- `x-api-key` header (required) — API Key authentication via header

## Servers

- `https://api.sync.so` (Default, default)
- `https://dev-api.sync.so` (dev)
- `http://localhost:3001` (local)

## Request

### Body (application/json)

This endpoint expects an object.

- `rows` (list of BatchRow, required) — The batch records, 20-500 by default. Each row contains `request_id`, endpoint exactly `/v2/generate`, and a generation `payload`, as on a JSONL line.
- `webhook_url` (string, optional) — Optional webhook URL to receive batch completion notifications. A POST request will be sent when the batch completes or fails, with a Sync-Signature header (`t=<unix>,v1=<hmac_sha256>`) signed with the organization webhook secret.
- `dry_run` (boolean, optional, default: false) — When true, validates the rows, including dialogue edit expansion, and returns `{ "status": "VALIDATED" }` without creating a batch.

## Response

### 200

- `CreateBatchResponse`

## Errors

### 400 Bad Request Error

Bad Request - Invalid input or unsupported model

- `message` (GenerationErrorMessage, required) — A message describing the error.
- `statusCode` (double, required) — The type of error that occurred.
- `errorCode` (string, optional) — Stable, machine-readable error code (e.g. project_not_found, voice_not_found, concurrency_limit_reached). Branch your error handling on this, not on the message text. The full catalog of codes with messages and suggested fixes is served unauthenticated at GET /v2/errors.
- `suggestion` (string, optional) — A suggested fix an agent can act on.
- `field` (string, optional) — The request field the error refers to, when the failure is tied to a specific field (e.g. projectId, voiceId, input[].assetId).
- `docsUrl` (string, optional) — Link to the documentation page for the failing operation.
- `requestId` (string, optional) — Present on unexpected 500 responses. Include it when contacting support so the failing request can be located directly.
- `generationId` (string, optional) — Original generation ID when available for an uncertain keyed submission. Poll this ID; do not create another action to bypass IDEMPOTENCY_OUTCOME_UNKNOWN.
- `dialogueEditSection` (DialogueEditRetimeFailureSection, optional) — For dialogue_edit_removal_too_large: the section to change, when it can be identified. Create a new dialogue edit preview before submitting again.
- `lineNumber` (integer, optional) — For batch creation, on dialogue edit refusals only: the 1-based line of the refused record, counting non-empty JSONL lines. With a `rows` body, line N is `rows[N-1]`. Other record errors name the line only in `message`.

### 401 Unauthorized Error

Unauthorized - Invalid or missing authentication

- `message` (GenerationErrorMessage, required) — A message describing the error.
- `statusCode` (double, required) — The type of error that occurred.
- `errorCode` (string, optional) — Stable, machine-readable error code (e.g. project_not_found, voice_not_found, concurrency_limit_reached). Branch your error handling on this, not on the message text. The full catalog of codes with messages and suggested fixes is served unauthenticated at GET /v2/errors.
- `suggestion` (string, optional) — A suggested fix an agent can act on.
- `field` (string, optional) — The request field the error refers to, when the failure is tied to a specific field (e.g. projectId, voiceId, input[].assetId).
- `docsUrl` (string, optional) — Link to the documentation page for the failing operation.
- `requestId` (string, optional) — Present on unexpected 500 responses. Include it when contacting support so the failing request can be located directly.
- `generationId` (string, optional) — Original generation ID when available for an uncertain keyed submission. Poll this ID; do not create another action to bypass IDEMPOTENCY_OUTCOME_UNKNOWN.
- `dialogueEditSection` (DialogueEditRetimeFailureSection, optional) — For dialogue_edit_removal_too_large: the section to change, when it can be identified. Create a new dialogue edit preview before submitting again.
- `lineNumber` (integer, optional) — For batch creation, on dialogue edit refusals only: the 1-based line of the refused record, counting non-empty JSONL lines. With a `rows` body, line N is `rows[N-1]`. Other record errors name the line only in `message`.

### 402 Payment Required Error

Payment Required - Feature requires higher plan

- `message` (GenerationErrorMessage, required) — A message describing the error.
- `statusCode` (double, required) — The type of error that occurred.
- `errorCode` (string, optional) — Stable, machine-readable error code (e.g. project_not_found, voice_not_found, concurrency_limit_reached). Branch your error handling on this, not on the message text. The full catalog of codes with messages and suggested fixes is served unauthenticated at GET /v2/errors.
- `suggestion` (string, optional) — A suggested fix an agent can act on.
- `field` (string, optional) — The request field the error refers to, when the failure is tied to a specific field (e.g. projectId, voiceId, input[].assetId).
- `docsUrl` (string, optional) — Link to the documentation page for the failing operation.
- `requestId` (string, optional) — Present on unexpected 500 responses. Include it when contacting support so the failing request can be located directly.
- `generationId` (string, optional) — Original generation ID when available for an uncertain keyed submission. Poll this ID; do not create another action to bypass IDEMPOTENCY_OUTCOME_UNKNOWN.
- `dialogueEditSection` (DialogueEditRetimeFailureSection, optional) — For dialogue_edit_removal_too_large: the section to change, when it can be identified. Create a new dialogue edit preview before submitting again.
- `lineNumber` (integer, optional) — For batch creation, on dialogue edit refusals only: the 1-based line of the refused record, counting non-empty JSONL lines. With a `rows` body, line N is `rows[N-1]`. Other record errors name the line only in `message`.

### 422 Unprocessable Entity Error

Unprocessable Entity - The requested generation is not downloadable (generation_not_downloadable), or submit-time validation failed (e.g. inaccessible media, invalid segments, a projectId/voiceId/assetId that does not resolve in your organization, or a file exceeding the plan size limit). The body carries a stable errorCode and, where applicable, the failing field.

- `message` (GenerationErrorMessage, required) — A message describing the error.
- `statusCode` (double, required) — The type of error that occurred.
- `errorCode` (string, optional) — Stable, machine-readable error code (e.g. project_not_found, voice_not_found, concurrency_limit_reached). Branch your error handling on this, not on the message text. The full catalog of codes with messages and suggested fixes is served unauthenticated at GET /v2/errors.
- `suggestion` (string, optional) — A suggested fix an agent can act on.
- `field` (string, optional) — The request field the error refers to, when the failure is tied to a specific field (e.g. projectId, voiceId, input[].assetId).
- `docsUrl` (string, optional) — Link to the documentation page for the failing operation.
- `requestId` (string, optional) — Present on unexpected 500 responses. Include it when contacting support so the failing request can be located directly.
- `generationId` (string, optional) — Original generation ID when available for an uncertain keyed submission. Poll this ID; do not create another action to bypass IDEMPOTENCY_OUTCOME_UNKNOWN.
- `dialogueEditSection` (DialogueEditRetimeFailureSection, optional) — For dialogue_edit_removal_too_large: the section to change, when it can be identified. Create a new dialogue edit preview before submitting again.
- `lineNumber` (integer, optional) — For batch creation, on dialogue edit refusals only: the 1-based line of the refused record, counting non-empty JSONL lines. With a `rows` body, line N is `rows[N-1]`. Other record errors name the line only in `message`.

### 429 Too Many Requests Error

Too Many Requests - Batch concurrency limit reached

- `statusCode` (double, required) — The HTTP status code (429).
- `message` (GenerationErrorMessage, required) — A human-readable description of the error.
- `errorCode` (string, optional) — Machine-readable error code (`concurrency_limit_reached`).
- `activeBatches` (double, optional) — The number of batches you currently have in progress.
- `concurrencyLimit` (double, optional) — The maximum number of concurrent batches allowed on your plan.
- `retryAfterSeconds` (double, optional) — Suggested number of seconds to wait before retrying. Mirrors the `Retry-After` header.

### 500 Internal Server Error

Internal Server Error - An unexpected failure on our side. The body carries errorCode internal_error and a requestId; include the requestId when contacting support.

- `message` (GenerationErrorMessage, required) — A message describing the error.
- `statusCode` (double, required) — The type of error that occurred.
- `errorCode` (string, optional) — Stable, machine-readable error code (e.g. project_not_found, voice_not_found, concurrency_limit_reached). Branch your error handling on this, not on the message text. The full catalog of codes with messages and suggested fixes is served unauthenticated at GET /v2/errors.
- `suggestion` (string, optional) — A suggested fix an agent can act on.
- `field` (string, optional) — The request field the error refers to, when the failure is tied to a specific field (e.g. projectId, voiceId, input[].assetId).
- `docsUrl` (string, optional) — Link to the documentation page for the failing operation.
- `requestId` (string, optional) — Present on unexpected 500 responses. Include it when contacting support so the failing request can be located directly.
- `generationId` (string, optional) — Original generation ID when available for an uncertain keyed submission. Poll this ID; do not create another action to bypass IDEMPOTENCY_OUTCOME_UNKNOWN.
- `dialogueEditSection` (DialogueEditRetimeFailureSection, optional) — For dialogue_edit_removal_too_large: the section to change, when it can be identified. Create a new dialogue edit preview before submitting again.
- `lineNumber` (integer, optional) — For batch creation, on dialogue edit refusals only: the 1-based line of the refused record, counting non-empty JSONL lines. With a `rows` body, line N is `rows[N-1]`. Other record errors name the line only in `message`.

## Types

### BatchRow

One batch record, the same object as one line of a batch JSONL file.

- `request_id` (string, required) — Your identifier for this record, unique within the batch. The results file returns it on the line for this record.
- `endpoint` ("/v2/generate", required) — Must be `/v2/generate`.
- `payload` (CreateGenerationDto, required) — The generation request, as for POST /v2/generate. A row with `dialogueEdit` (early access) sends exactly one video input, the source video of that preview, and no audio input.

### BatchResponse

- `id` (string, required) — A unique identifier for the batch.
- `created_at` (datetime, required) — The date and time the batch was created.
- `status` (enum, required) — The current status of the batch.
  - Allowed values: `PENDING`, `JOBS_CREATED`, `PROCESSING`, `COMPLETED`, `FAILED`
- `metrics` (BatchMetrics, required) — Metrics about the batch processing progress.
- `outputUrl` (string, required) — The URL to download the batch results file when completed. A GET request follows a 302 redirect to a signed JSONL result URL.
- `webhookUrl` (string, optional) — The webhook URL for batch status notifications. Deliveries include a Sync-Signature header signed with the organization webhook secret.

### ValidationResponse

- `status` ("VALIDATED", required) — Validation status for dry run requests.

### GenerationErrorMessage

A message describing the error.

### DialogueEditRetimeFailureSection

The dialogue-edit section that removes too much speech to stay in sync.

- `slotIndex` (integer, required) — Zero-based index of the section in the preview's `resultSlots`.
- `sourceStartMs` (integer, optional) — Start of the section in the source video, in absolute milliseconds.
- `sourceDurationMs` (integer, optional) — Length of the section in the source video, in milliseconds.

### CreateGenerationDto

- `model` (enum, required) — name of the model to use for generation.
  - Allowed values: `sync-3`, `lipsync-2`, `lipsync-1.9.0-beta`, `lipsync-2-pro`, `react-1`
- `input` (list of Input, required) — Normal lipsync requests must include exactly one visual input (video or image) and one audio or text input. Dubbed lipsync requests using dubParams must include exactly one video input and no audio or text input, because Sync extracts the dubbing source audio from that video. Image inputs are only supported with the sync-3 model. When using segments, audio or text inputs can carry unique refId values.
- `options` (GenerationOptions, optional) — additional options available for generation.
- `segments` (list of GenerationSegment, optional) — segments definition list. When provided, allows defining one or more video segments with different audio inputs for each segment. Each segment specifies a time range and references an audio input by refId.
- `webhookUrl` (string, optional) — Webhook URL for generation status updates. When the generation reaches a terminal state, Sync sends a POST request with the generation payload and a Sync-Signature header. Verify the header with the organization webhook secret from GET /v2/organizations/webhook/secret. HTTPS is strongly recommended.
- `outputFileName` (string, optional) — Base filename for the generated output without extension. The .mp4 extension will be added automatically. Only alphanumeric characters, underscores, and hyphens are allowed, up to 255 characters.
- `dubParams` (DubDto, optional) — Dubbing parameters. When present, audio is extracted from the single video input, dubbed via ElevenLabs into the target language, and then lipsync is run with the dubbed audio. Do not include audio or text inputs with dubParams; requests that send both are rejected.
- `projectId` (string, optional) — Optionally attach this generation to a project (created via POST /v2/projects) so it appears in Studio under that project. Must reference a project in your organization — otherwise the request is rejected with 422.
- `dialogueEdit` (DialogueEditReference, optional) — Use the id of a completed dialogue edit from POST /v2/dialogue-edits to supply the audio and edited regions. Requires a preview that ran segment lipsync and section expansion (see the job's segmentLipsyncEnabled and sectionExpansionEnabled). Send exactly one video input, the same video the dialogue edit was made from, and no audio input, segments or dubParams. Billing, status, wait and webhooks work as for any generation.

### BatchMetrics

- `total_generations` (integer, required) — Total number of generation requests in the batch.
- `success_count` (integer, required) — Number of successfully completed generations.
- `failed_count` (integer, required) — Number of failed generations.
- `pending_count` (integer, required) — Number of generations still pending or processing.

### Input

An input item for a generation.

### GenerationOptions

- `sync_mode` (enum, optional, default: bounce) — Defines how to handle duration mismatches between video and audio inputs. Ignored for image inputs (images have no intrinsic duration). See the [Sync Mode](/developer-guides/sync-mode) guide for the full behavior matrix.
  - Allowed values: `bounce`, `loop`, `cut_off`, `silence`, `remap`
- `model_mode` (enum, optional, default: face) — edit region for the model. only works with react-1. defaults to face, which affects lipsync + emotions in the face region. Available options are lips/face/head. When head is selected, model generates natural talking head movements along with emotions + lipsync.
  - Allowed values: `lips`, `face`, `head`
- `prompt` (string, optional, default: neutral) — Prompt for the generation. React-1 accepts emotion prompts; the appearance model accepts a free-form appearance edit instruction.
- `prompt_image_uris` (list of string, optional) — Reference image URLs for appearance editing generations.
- `i2v_prompt` (string, optional) — Prompt for image-to-video generation.
- `temperature` (double, optional, default: 0.5) — option to control how expressive lipsync can be. 0 -> least expressive, 1 -> most expressive. default:0.5
- `active_speaker_detection` (ActiveSpeaker, optional) — Active speaker detection configuration. When enabled, automatically detects and applies lipsync only to the active speaker in videos with multiple people. Not supported for image inputs.
- `face_boxes_url` (string, optional) — URL for precomputed face bounding boxes.
- `refinement_enabled` (boolean, optional) — Whether to enable the refinement pass for the generation.
- `blending_mode` (enum, optional) — Controls how generated frames blend into the source media.
  - Allowed values: `default`, `advanced`, `disabled`
- `occlusion_detection_enabled` (boolean, optional, default: false) — Whether to detect occlusion during generation, slows down generation speed.
- `output_format` (enum, optional, default: mp4, deprecated) — Deprecated output container setting; defaults to mp4.
  - Allowed values: `mp4`, `mov`
- `fps` (double, optional, deprecated) — Deprecated output frame-rate setting.
- `output_resolution` (list of double, optional, deprecated) — Deprecated output resolution setting, as exactly [width, height]. Each value must be finite and between 180 and 4096 inclusive. Invalid values are discarded and the option is treated as omitted.

### GenerationSegment

Defines a video segment with its corresponding audio input. Used for multi-segment lipsync generations where different audio tracks can be applied to different video segments.

- `audioInput` (SegmentAudioInput, required) — Audio configuration for this segment
- `startTime` (double, optional) — Segment start time in seconds. Must be less than or equal to endTime.
- `endTime` (double, optional) — Segment end time in seconds. Must be greater than or equal to startTime.
- `startFrame` (double, optional) — Segment start frame. Use with endFrame instead of time bounds.
- `endFrame` (double, optional) — Segment end frame. Use with startFrame instead of time bounds.
- `optionsOverride` (SegmentOptionsOverride, optional) — Override generation options for this specific segment.

### DubDto

Dubbing parameters attached to a generate request.

- `providerName` (enum, required) — Provider to use for dubbing.
  - Allowed values: `elevenlabs`
- `targetLang` (enum, required) — Target language code for dubbing (e.g., "es" for Spanish, "fr" for French).
  - Allowed values: `en`, `gu`, `no`, `sl`, `pa`, `ta`, `az`, `gl`, `is`, `sw`, `my`, `fi`, `el`, `he`, `lt`, `ms`, `sv`, `fr`, `ca`, `hr`, `lv`, `ro`, `sd`, `th`, `tn`, `pl`, `ceb`, `da`, `hu`, `mr`, `tl`, `ug`, `wo`, `zu`, `zh`, `hi`, `as`, `ha`, `kk`, `ki`, `rn`, `ky`, `st`, `te`, `war`, `ak`, `be`, `cs`, `ka`, `mn`, `bo`, `ts`, `ar`, `ss`, `nl`, `tr`, `af`, `bs`, `et`, `rw`, `ne`, `ko`, `it`, `es`, `sq`, `eu`, `kn`, `sk`, `su`, `ve`, `pt`, `am`, `hy`, `doi`, `de`, `jv`, `mk`, `ja`, `vi`, `cy`, `nso`, `uk`, `bg`, `id`, `lg`, `yo`, `ml`, `fa`, `tg`, `ur`, `uz`, `ru`, `fil`
- `sourceLang` (enum, optional, default: auto) — Source language code. Defaults to "auto" for automatic detection.
  - Allowed values: `auto`, `en`, `gu`, `no`, `sl`, `pa`, `ta`, `az`, `gl`, `is`, `sw`, `my`, `fi`, `el`, `he`, `lt`, `ms`, `sv`, `fr`, `ca`, `hr`, `lv`, `ro`, `sd`, `th`, `tn`, `pl`, `ceb`, `da`, `hu`, `mr`, `tl`, `ug`, `wo`, `zu`, `zh`, `hi`, `as`, `ha`, `kk`, `ki`, `rn`, `ky`, `st`, `te`, `war`, `ak`, `be`, `cs`, `ka`, `mn`, `bo`, `ts`, `ar`, `ss`, `nl`, `tr`, `af`, `bs`, `et`, `rw`, `ne`, `ko`, `it`, `es`, `sq`, `eu`, `kn`, `sk`, `su`, `ve`, `pt`, `am`, `hy`, `doi`, `de`, `jv`, `mk`, `ja`, `vi`, `cy`, `nso`, `uk`, `bg`, `id`, `lg`, `yo`, `ml`, `fa`, `tg`, `ur`, `uz`, `ru`, `fil`
- `numSpeakers` (integer, optional, deprecated) — [DEPRECATED] Ignored. Dubbing v2 detects speakers automatically.

### DialogueEditReference

Reference to a completed dialogue edit to generate a video from.

- `id` (string, required) — Id of a completed dialogue edit from POST /v2/dialogue-edits.

### Video

Video input for generation. Provide either `url` or `assetId` (one is required).

- `type` ("video", required)
- `refId` (string, optional) — Optional reference identifier for segment definitions. Use this when a segment needs to refer back to a specific visual input item.
- `url` (string, optional) — URL of the video to be used for generation. Either `url` or `assetId` must be provided.
- `assetId` (string, optional) — ID of a video asset from your media library. Either `url` or `assetId` must be provided.
- `segments_secs` (list of list of double, optional, deprecated) — [DEPRECATED] Use the top-level [segments](/api-reference/api/generate-api/create#request.body.segments) array instead for multi-segment support.
- `segments_frames` (list of list of integer, optional, deprecated) — [DEPRECATED] Use the top-level [segments](/api-reference/api/generate-api/create#request.body.segments) array instead for multi-segment support. frames 100 and 200 of the video

### Image

Image input for sync-3 model. Use instead of video when generating from a static image. Provide either `url` or `assetId` (one is required).

- `type` ("image", required)
- `refId` (string, optional) — Optional reference identifier for segment definitions. Use this when a segment needs to refer back to a specific visual input item.
- `url` (string, optional) — URL of the image to be used for generation. Either `url` or `assetId` must be provided.
- `assetId` (string, optional) — ID of an image asset from your media library. Either `url` or `assetId` must be provided.

### Audio

Recorded/Captured audio input

- `type` ("audio", required)
- `url` (string, optional) — URL of the audio to be used for generation. Either `url` or `assetId` must be provided.
- `assetId` (string, optional) — ID of an audio asset from your media library. Either `url` or `assetId` must be provided.
- `refId` (string, optional) — Reference identifier for this audio input, used to link audio inputs to specific segments when using [segments](/api-reference/api/generate-api/create#request.body.segments). Required when using segments array.

### TTS

Text to speech input

- `type` ("text", required)
- `provider` (TTSProviderConfig, required) — Integration provider configuration
- `refId` (string, optional) — Reference identifier for this audio input, used to link audio inputs to specific segments when using [segments](/api-reference/api/generate-api/create#request.body.segments). Required when using segments array.

### ActiveSpeaker

Active speaker detection configuration

- `auto_detect` (boolean, optional, default: false) — Whether to automatically detect and apply generation to the active speaker
- `v3` (boolean, optional) — Whether to use ASD v3
- `frame_number` (integer, optional) — Frame index that corresponds to the provided coordinates for manual speaker selection
- `coordinates` (list of integer, optional) — Pixel coordinates [x, y] in the source video frame identified by frame_number. They are forwarded as-is to active speaker selection; they are not normalized ratios.
- `bounding_boxes` (list of list of integer, optional) — Per-frame array of bounding boxes [x1, y1, x2, y2] for the detected face, or null if no box for that frame. Use instead of frame_number + coordinates when you already have detection data.
- `bounding_boxes_url` (string, optional) — URL to a JSON file containing bounding boxes. Use instead of inline bounding_boxes to avoid large payloads. The JSON must have a "bounding_boxes" array with one entry per frame.
- `face_image` (string, optional) — Base64-encoded reference face image (128x128 WebP) for selected-speaker detection.

### SegmentAudioInput

Audio input configuration for a specific segment. References an audio input by refId and optionally crops the audio to a specific time range.

- `refId` (string, required) — Reference ID of the audio/text-to-speech input to use for this segment
- `startTime` (double, optional) — Optional start time (in seconds) to crop the referenced audio. When specified, endTime must also be provided, and startTime must be less than or equal to endTime.
- `endTime` (double, optional) — Optional end time (in seconds) to crop the referenced audio. When specified, startTime must also be provided, and must be greater than or equal to startTime.

### SegmentOptionsOverride

Override generation options for a specific segment. Any options set here will override the top-level generation options for this segment only.

- `sync_mode` (enum, optional, default: bounce) — Override the sync mode for this segment.
  - Allowed values: `bounce`, `loop`, `cut_off`, `silence`, `remap`
- `temperature` (double, optional) — Override temperature (0-1) for this segment.
- `occlusion_detection_enabled` (boolean, optional) — Override occlusion detection for this segment.
- `active_speaker_detection` (ActiveSpeaker, optional) — Override active speaker detection for this segment. Useful when different segments have different speakers.

### TTSProviderConfig

### ElevenLabs

- `name` ("elevenlabs", required)
- `voiceId` (string, required) — sync voice id (copied from cloned voices in the Studio) or ElevenLabs voice ID. Required.
- `script` (string, required) — script to be used for generation
- `stability` (double, optional, default: 0.5) — determines how stable the voice is and the randomness between each generation. lower values introduce broader emotional range for the voice. higher values can result in a monotonous voice with limited emotion.
- `similarityBoost` (double, optional, default: 0.75) — determines how closely the ai should adhere to the original voice when attempting to replicate it.

## Examples

Validates 20 dialogue edit rows, one per recipient, made from the same source video, without rendering. 20 rows is the minimum.

**Request**

```json
{
  "rows": [
    {
      "request_id": "line-2",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "fa350e8a-0c6b-50c3-96de-7e4ce81ed0ce"
        }
      }
    },
    {
      "request_id": "line-3",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "ddaea593-cf1f-5916-aaef-c60ab5f63090"
        }
      }
    },
    {
      "request_id": "line-4",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "532a08cd-becc-5630-8109-58d22206db7e"
        }
      }
    },
    {
      "request_id": "line-5",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "68f897e5-78e3-55d3-9ca3-d8ba0d16c5c4"
        }
      }
    },
    {
      "request_id": "line-6",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "f4aa2ca8-006d-5301-baf7-4ce543188328"
        }
      }
    },
    {
      "request_id": "line-7",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "636f1dd4-f4e1-508d-8cdd-6dac1dd002a3"
        }
      }
    },
    {
      "request_id": "line-8",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "8f6640f5-6139-5271-ab33-f43fc91fc1ad"
        }
      }
    },
    {
      "request_id": "line-9",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "6c101a02-cdd8-5ec0-9df9-1ffea33a11bd"
        }
      }
    },
    {
      "request_id": "line-10",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "258f60c2-b635-5ab6-a565-ae81a709e221"
        }
      }
    },
    {
      "request_id": "line-11",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "09dc425b-4d7e-5813-8c6c-81bd38993a7b"
        }
      }
    },
    {
      "request_id": "line-12",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "b93c54d3-28d6-5fa3-abaf-5220c38e31a1"
        }
      }
    },
    {
      "request_id": "line-13",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "e8a1dea0-b3f9-5266-badd-f8a2aae77ea3"
        }
      }
    },
    {
      "request_id": "line-14",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "a09967c4-8171-582f-8dba-1ba07d55f918"
        }
      }
    },
    {
      "request_id": "line-15",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "39df4e4f-b23d-54ca-99a8-f29ec567790b"
        }
      }
    },
    {
      "request_id": "line-16",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "0370783a-12d5-5dfb-8736-49118428df47"
        }
      }
    },
    {
      "request_id": "line-17",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "a65eecc2-ad79-5123-acf7-e81a57b2422f"
        }
      }
    },
    {
      "request_id": "line-18",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "a0200ef6-d140-50bb-9784-3b9e265be374"
        }
      }
    },
    {
      "request_id": "line-19",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "06cc754a-b625-58c2-ad2d-74ec08fb517a"
        }
      }
    },
    {
      "request_id": "line-20",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "32889341-cc9e-59c6-b18a-32bbb525c26e"
        }
      }
    },
    {
      "request_id": "line-21",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "f6568dbc-0390-5227-b107-64c3842adb3b"
        }
      }
    }
  ],
  "dry_run": true
}
```

**Response**

```json
{
  "status": "VALIDATED"
}
```

**SDK Code**

```python DialogueEditRowsDryRun
import requests

url = "https://api.sync.so/v2/batch"

payload = {
    "rows": [
        {
            "request_id": "line-2",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "fa350e8a-0c6b-50c3-96de-7e4ce81ed0ce" }
            }
        },
        {
            "request_id": "line-3",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "ddaea593-cf1f-5916-aaef-c60ab5f63090" }
            }
        },
        {
            "request_id": "line-4",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "532a08cd-becc-5630-8109-58d22206db7e" }
            }
        },
        {
            "request_id": "line-5",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "68f897e5-78e3-55d3-9ca3-d8ba0d16c5c4" }
            }
        },
        {
            "request_id": "line-6",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "f4aa2ca8-006d-5301-baf7-4ce543188328" }
            }
        },
        {
            "request_id": "line-7",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "636f1dd4-f4e1-508d-8cdd-6dac1dd002a3" }
            }
        },
        {
            "request_id": "line-8",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "8f6640f5-6139-5271-ab33-f43fc91fc1ad" }
            }
        },
        {
            "request_id": "line-9",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "6c101a02-cdd8-5ec0-9df9-1ffea33a11bd" }
            }
        },
        {
            "request_id": "line-10",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "258f60c2-b635-5ab6-a565-ae81a709e221" }
            }
        },
        {
            "request_id": "line-11",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "09dc425b-4d7e-5813-8c6c-81bd38993a7b" }
            }
        },
        {
            "request_id": "line-12",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "b93c54d3-28d6-5fa3-abaf-5220c38e31a1" }
            }
        },
        {
            "request_id": "line-13",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "e8a1dea0-b3f9-5266-badd-f8a2aae77ea3" }
            }
        },
        {
            "request_id": "line-14",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "a09967c4-8171-582f-8dba-1ba07d55f918" }
            }
        },
        {
            "request_id": "line-15",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "39df4e4f-b23d-54ca-99a8-f29ec567790b" }
            }
        },
        {
            "request_id": "line-16",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "0370783a-12d5-5dfb-8736-49118428df47" }
            }
        },
        {
            "request_id": "line-17",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "a65eecc2-ad79-5123-acf7-e81a57b2422f" }
            }
        },
        {
            "request_id": "line-18",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "a0200ef6-d140-50bb-9784-3b9e265be374" }
            }
        },
        {
            "request_id": "line-19",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "06cc754a-b625-58c2-ad2d-74ec08fb517a" }
            }
        },
        {
            "request_id": "line-20",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "32889341-cc9e-59c6-b18a-32bbb525c26e" }
            }
        },
        {
            "request_id": "line-21",
            "endpoint": "/v2/generate",
            "payload": {
                "model": "sync-3",
                "input": [
                    {
                        "type": "video",
                        "url": "https://assets.sync.so/docs/example-video.mp4"
                    }
                ],
                "dialogueEdit": { "id": "f6568dbc-0390-5227-b107-64c3842adb3b" }
            }
        }
    ],
    "dry_run": True
}
headers = {
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript DialogueEditRowsDryRun
const url = 'https://api.sync.so/v2/batch';
const options = {
  method: 'POST',
  headers: {'x-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"rows":[{"request_id":"line-2","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"fa350e8a-0c6b-50c3-96de-7e4ce81ed0ce"}}},{"request_id":"line-3","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"ddaea593-cf1f-5916-aaef-c60ab5f63090"}}},{"request_id":"line-4","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"532a08cd-becc-5630-8109-58d22206db7e"}}},{"request_id":"line-5","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"68f897e5-78e3-55d3-9ca3-d8ba0d16c5c4"}}},{"request_id":"line-6","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"f4aa2ca8-006d-5301-baf7-4ce543188328"}}},{"request_id":"line-7","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"636f1dd4-f4e1-508d-8cdd-6dac1dd002a3"}}},{"request_id":"line-8","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"8f6640f5-6139-5271-ab33-f43fc91fc1ad"}}},{"request_id":"line-9","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"6c101a02-cdd8-5ec0-9df9-1ffea33a11bd"}}},{"request_id":"line-10","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"258f60c2-b635-5ab6-a565-ae81a709e221"}}},{"request_id":"line-11","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"09dc425b-4d7e-5813-8c6c-81bd38993a7b"}}},{"request_id":"line-12","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"b93c54d3-28d6-5fa3-abaf-5220c38e31a1"}}},{"request_id":"line-13","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"e8a1dea0-b3f9-5266-badd-f8a2aae77ea3"}}},{"request_id":"line-14","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"a09967c4-8171-582f-8dba-1ba07d55f918"}}},{"request_id":"line-15","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"39df4e4f-b23d-54ca-99a8-f29ec567790b"}}},{"request_id":"line-16","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"0370783a-12d5-5dfb-8736-49118428df47"}}},{"request_id":"line-17","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"a65eecc2-ad79-5123-acf7-e81a57b2422f"}}},{"request_id":"line-18","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"a0200ef6-d140-50bb-9784-3b9e265be374"}}},{"request_id":"line-19","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"06cc754a-b625-58c2-ad2d-74ec08fb517a"}}},{"request_id":"line-20","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"32889341-cc9e-59c6-b18a-32bbb525c26e"}}},{"request_id":"line-21","endpoint":"/v2/generate","payload":{"model":"sync-3","input":[{"type":"video","url":"https://assets.sync.so/docs/example-video.mp4"}],"dialogueEdit":{"id":"f6568dbc-0390-5227-b107-64c3842adb3b"}}}],"dry_run":true}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go DialogueEditRowsDryRun
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.sync.so/v2/batch"

	payload := strings.NewReader("{\n  \"rows\": [\n    {\n      \"request_id\": \"line-2\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"fa350e8a-0c6b-50c3-96de-7e4ce81ed0ce\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-3\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"ddaea593-cf1f-5916-aaef-c60ab5f63090\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-4\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"532a08cd-becc-5630-8109-58d22206db7e\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-5\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"68f897e5-78e3-55d3-9ca3-d8ba0d16c5c4\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-6\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"f4aa2ca8-006d-5301-baf7-4ce543188328\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-7\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"636f1dd4-f4e1-508d-8cdd-6dac1dd002a3\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-8\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"8f6640f5-6139-5271-ab33-f43fc91fc1ad\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-9\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"6c101a02-cdd8-5ec0-9df9-1ffea33a11bd\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-10\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"258f60c2-b635-5ab6-a565-ae81a709e221\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-11\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"09dc425b-4d7e-5813-8c6c-81bd38993a7b\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-12\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"b93c54d3-28d6-5fa3-abaf-5220c38e31a1\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-13\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"e8a1dea0-b3f9-5266-badd-f8a2aae77ea3\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-14\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a09967c4-8171-582f-8dba-1ba07d55f918\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-15\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"39df4e4f-b23d-54ca-99a8-f29ec567790b\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-16\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"0370783a-12d5-5dfb-8736-49118428df47\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-17\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a65eecc2-ad79-5123-acf7-e81a57b2422f\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-18\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a0200ef6-d140-50bb-9784-3b9e265be374\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-19\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"06cc754a-b625-58c2-ad2d-74ec08fb517a\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-20\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"32889341-cc9e-59c6-b18a-32bbb525c26e\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-21\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"f6568dbc-0390-5227-b107-64c3842adb3b\"\n        }\n      }\n    }\n  ],\n  \"dry_run\": true\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-api-key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby DialogueEditRowsDryRun
require 'uri'
require 'net/http'

url = URI("https://api.sync.so/v2/batch")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"rows\": [\n    {\n      \"request_id\": \"line-2\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"fa350e8a-0c6b-50c3-96de-7e4ce81ed0ce\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-3\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"ddaea593-cf1f-5916-aaef-c60ab5f63090\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-4\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"532a08cd-becc-5630-8109-58d22206db7e\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-5\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"68f897e5-78e3-55d3-9ca3-d8ba0d16c5c4\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-6\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"f4aa2ca8-006d-5301-baf7-4ce543188328\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-7\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"636f1dd4-f4e1-508d-8cdd-6dac1dd002a3\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-8\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"8f6640f5-6139-5271-ab33-f43fc91fc1ad\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-9\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"6c101a02-cdd8-5ec0-9df9-1ffea33a11bd\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-10\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"258f60c2-b635-5ab6-a565-ae81a709e221\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-11\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"09dc425b-4d7e-5813-8c6c-81bd38993a7b\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-12\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"b93c54d3-28d6-5fa3-abaf-5220c38e31a1\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-13\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"e8a1dea0-b3f9-5266-badd-f8a2aae77ea3\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-14\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a09967c4-8171-582f-8dba-1ba07d55f918\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-15\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"39df4e4f-b23d-54ca-99a8-f29ec567790b\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-16\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"0370783a-12d5-5dfb-8736-49118428df47\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-17\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a65eecc2-ad79-5123-acf7-e81a57b2422f\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-18\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a0200ef6-d140-50bb-9784-3b9e265be374\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-19\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"06cc754a-b625-58c2-ad2d-74ec08fb517a\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-20\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"32889341-cc9e-59c6-b18a-32bbb525c26e\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-21\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"f6568dbc-0390-5227-b107-64c3842adb3b\"\n        }\n      }\n    }\n  ],\n  \"dry_run\": true\n}"

response = http.request(request)
puts response.read_body
```

```java DialogueEditRowsDryRun
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.sync.so/v2/batch")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"rows\": [\n    {\n      \"request_id\": \"line-2\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"fa350e8a-0c6b-50c3-96de-7e4ce81ed0ce\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-3\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"ddaea593-cf1f-5916-aaef-c60ab5f63090\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-4\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"532a08cd-becc-5630-8109-58d22206db7e\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-5\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"68f897e5-78e3-55d3-9ca3-d8ba0d16c5c4\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-6\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"f4aa2ca8-006d-5301-baf7-4ce543188328\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-7\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"636f1dd4-f4e1-508d-8cdd-6dac1dd002a3\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-8\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"8f6640f5-6139-5271-ab33-f43fc91fc1ad\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-9\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"6c101a02-cdd8-5ec0-9df9-1ffea33a11bd\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-10\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"258f60c2-b635-5ab6-a565-ae81a709e221\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-11\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"09dc425b-4d7e-5813-8c6c-81bd38993a7b\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-12\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"b93c54d3-28d6-5fa3-abaf-5220c38e31a1\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-13\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"e8a1dea0-b3f9-5266-badd-f8a2aae77ea3\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-14\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a09967c4-8171-582f-8dba-1ba07d55f918\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-15\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"39df4e4f-b23d-54ca-99a8-f29ec567790b\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-16\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"0370783a-12d5-5dfb-8736-49118428df47\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-17\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a65eecc2-ad79-5123-acf7-e81a57b2422f\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-18\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a0200ef6-d140-50bb-9784-3b9e265be374\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-19\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"06cc754a-b625-58c2-ad2d-74ec08fb517a\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-20\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"32889341-cc9e-59c6-b18a-32bbb525c26e\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-21\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"f6568dbc-0390-5227-b107-64c3842adb3b\"\n        }\n      }\n    }\n  ],\n  \"dry_run\": true\n}")
  .asString();
```

```php DialogueEditRowsDryRun
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.sync.so/v2/batch', [
  'body' => '{
  "rows": [
    {
      "request_id": "line-2",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "fa350e8a-0c6b-50c3-96de-7e4ce81ed0ce"
        }
      }
    },
    {
      "request_id": "line-3",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "ddaea593-cf1f-5916-aaef-c60ab5f63090"
        }
      }
    },
    {
      "request_id": "line-4",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "532a08cd-becc-5630-8109-58d22206db7e"
        }
      }
    },
    {
      "request_id": "line-5",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "68f897e5-78e3-55d3-9ca3-d8ba0d16c5c4"
        }
      }
    },
    {
      "request_id": "line-6",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "f4aa2ca8-006d-5301-baf7-4ce543188328"
        }
      }
    },
    {
      "request_id": "line-7",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "636f1dd4-f4e1-508d-8cdd-6dac1dd002a3"
        }
      }
    },
    {
      "request_id": "line-8",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "8f6640f5-6139-5271-ab33-f43fc91fc1ad"
        }
      }
    },
    {
      "request_id": "line-9",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "6c101a02-cdd8-5ec0-9df9-1ffea33a11bd"
        }
      }
    },
    {
      "request_id": "line-10",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "258f60c2-b635-5ab6-a565-ae81a709e221"
        }
      }
    },
    {
      "request_id": "line-11",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "09dc425b-4d7e-5813-8c6c-81bd38993a7b"
        }
      }
    },
    {
      "request_id": "line-12",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "b93c54d3-28d6-5fa3-abaf-5220c38e31a1"
        }
      }
    },
    {
      "request_id": "line-13",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "e8a1dea0-b3f9-5266-badd-f8a2aae77ea3"
        }
      }
    },
    {
      "request_id": "line-14",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "a09967c4-8171-582f-8dba-1ba07d55f918"
        }
      }
    },
    {
      "request_id": "line-15",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "39df4e4f-b23d-54ca-99a8-f29ec567790b"
        }
      }
    },
    {
      "request_id": "line-16",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "0370783a-12d5-5dfb-8736-49118428df47"
        }
      }
    },
    {
      "request_id": "line-17",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "a65eecc2-ad79-5123-acf7-e81a57b2422f"
        }
      }
    },
    {
      "request_id": "line-18",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "a0200ef6-d140-50bb-9784-3b9e265be374"
        }
      }
    },
    {
      "request_id": "line-19",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "06cc754a-b625-58c2-ad2d-74ec08fb517a"
        }
      }
    },
    {
      "request_id": "line-20",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "32889341-cc9e-59c6-b18a-32bbb525c26e"
        }
      }
    },
    {
      "request_id": "line-21",
      "endpoint": "/v2/generate",
      "payload": {
        "model": "sync-3",
        "input": [
          {
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          }
        ],
        "dialogueEdit": {
          "id": "f6568dbc-0390-5227-b107-64c3842adb3b"
        }
      }
    }
  ],
  "dry_run": true
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp DialogueEditRowsDryRun
using RestSharp;

var client = new RestClient("https://api.sync.so/v2/batch");
var request = new RestRequest(Method.POST);
request.AddHeader("x-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"rows\": [\n    {\n      \"request_id\": \"line-2\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"fa350e8a-0c6b-50c3-96de-7e4ce81ed0ce\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-3\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"ddaea593-cf1f-5916-aaef-c60ab5f63090\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-4\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"532a08cd-becc-5630-8109-58d22206db7e\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-5\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"68f897e5-78e3-55d3-9ca3-d8ba0d16c5c4\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-6\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"f4aa2ca8-006d-5301-baf7-4ce543188328\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-7\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"636f1dd4-f4e1-508d-8cdd-6dac1dd002a3\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-8\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"8f6640f5-6139-5271-ab33-f43fc91fc1ad\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-9\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"6c101a02-cdd8-5ec0-9df9-1ffea33a11bd\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-10\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"258f60c2-b635-5ab6-a565-ae81a709e221\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-11\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"09dc425b-4d7e-5813-8c6c-81bd38993a7b\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-12\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"b93c54d3-28d6-5fa3-abaf-5220c38e31a1\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-13\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"e8a1dea0-b3f9-5266-badd-f8a2aae77ea3\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-14\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a09967c4-8171-582f-8dba-1ba07d55f918\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-15\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"39df4e4f-b23d-54ca-99a8-f29ec567790b\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-16\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"0370783a-12d5-5dfb-8736-49118428df47\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-17\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a65eecc2-ad79-5123-acf7-e81a57b2422f\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-18\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"a0200ef6-d140-50bb-9784-3b9e265be374\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-19\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"06cc754a-b625-58c2-ad2d-74ec08fb517a\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-20\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"32889341-cc9e-59c6-b18a-32bbb525c26e\"\n        }\n      }\n    },\n    {\n      \"request_id\": \"line-21\",\n      \"endpoint\": \"/v2/generate\",\n      \"payload\": {\n        \"model\": \"sync-3\",\n        \"input\": [\n          {\n            \"type\": \"video\",\n            \"url\": \"https://assets.sync.so/docs/example-video.mp4\"\n          }\n        ],\n        \"dialogueEdit\": {\n          \"id\": \"f6568dbc-0390-5227-b107-64c3842adb3b\"\n        }\n      }\n    }\n  ],\n  \"dry_run\": true\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift DialogueEditRowsDryRun
import Foundation

let headers = [
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "rows": [
    [
      "request_id": "line-2",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "fa350e8a-0c6b-50c3-96de-7e4ce81ed0ce"]
      ]
    ],
    [
      "request_id": "line-3",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "ddaea593-cf1f-5916-aaef-c60ab5f63090"]
      ]
    ],
    [
      "request_id": "line-4",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "532a08cd-becc-5630-8109-58d22206db7e"]
      ]
    ],
    [
      "request_id": "line-5",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "68f897e5-78e3-55d3-9ca3-d8ba0d16c5c4"]
      ]
    ],
    [
      "request_id": "line-6",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "f4aa2ca8-006d-5301-baf7-4ce543188328"]
      ]
    ],
    [
      "request_id": "line-7",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "636f1dd4-f4e1-508d-8cdd-6dac1dd002a3"]
      ]
    ],
    [
      "request_id": "line-8",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "8f6640f5-6139-5271-ab33-f43fc91fc1ad"]
      ]
    ],
    [
      "request_id": "line-9",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "6c101a02-cdd8-5ec0-9df9-1ffea33a11bd"]
      ]
    ],
    [
      "request_id": "line-10",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "258f60c2-b635-5ab6-a565-ae81a709e221"]
      ]
    ],
    [
      "request_id": "line-11",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "09dc425b-4d7e-5813-8c6c-81bd38993a7b"]
      ]
    ],
    [
      "request_id": "line-12",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "b93c54d3-28d6-5fa3-abaf-5220c38e31a1"]
      ]
    ],
    [
      "request_id": "line-13",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "e8a1dea0-b3f9-5266-badd-f8a2aae77ea3"]
      ]
    ],
    [
      "request_id": "line-14",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "a09967c4-8171-582f-8dba-1ba07d55f918"]
      ]
    ],
    [
      "request_id": "line-15",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "39df4e4f-b23d-54ca-99a8-f29ec567790b"]
      ]
    ],
    [
      "request_id": "line-16",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "0370783a-12d5-5dfb-8736-49118428df47"]
      ]
    ],
    [
      "request_id": "line-17",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "a65eecc2-ad79-5123-acf7-e81a57b2422f"]
      ]
    ],
    [
      "request_id": "line-18",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "a0200ef6-d140-50bb-9784-3b9e265be374"]
      ]
    ],
    [
      "request_id": "line-19",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "06cc754a-b625-58c2-ad2d-74ec08fb517a"]
      ]
    ],
    [
      "request_id": "line-20",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "32889341-cc9e-59c6-b18a-32bbb525c26e"]
      ]
    ],
    [
      "request_id": "line-21",
      "endpoint": "/v2/generate",
      "payload": [
        "model": "sync-3",
        "input": [
          [
            "type": "video",
            "url": "https://assets.sync.so/docs/example-video.mp4"
          ]
        ],
        "dialogueEdit": ["id": "f6568dbc-0390-5227-b107-64c3842adb3b"]
      ]
    ]
  ],
  "dry_run": true
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.sync.so/v2/batch")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```