Text to Video

veo3.1-quality

VEO 3 video generation; Fast and Quality also support continuation from a successful Artany job.

POST /v1/videos/generationsAsync generationFixed Credit pricing

Quick start

Submit a request with this public model ID. The API immediately returns a normalized job; poll GET /v1/jobs/{jobId} while its status is queued or running.

curl -X POST "https://api.artany.ai/v1/videos/generations" \
  -H "Authorization: Bearer $ARTANY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: unique-request-id" \
  -d '{"model":"veo3.1-quality","operation":"generate","prompt":"A paper kite above a quiet coast","duration":8,"aspect_ratio":"16:9","resolution":"720p"}'

Request

Headers

HeaderRequiredDescription
AuthorizationYesBearer token for an Artany API key.
Content-TypeYesMust be application/json.
Idempotency-KeyRecommended8–128 characters. Reusing it with an identical request prevents duplicate jobs and charges.

Body

{
  "model": "veo3.1-quality",
  "operation": "generate",
  "prompt": "A paper kite above a quiet coast",
  "duration": 8,
  "aspect_ratio": "16:9",
  "resolution": "720p"
}

Request Parameters

Only fields in this model’s public request contract are shown. Defaults are applied before validation and quoting.

Note:Text-to-video and image-to-video requests are supported. The output duration is fixed at 8 seconds.

modelstringrequireddefault: "veo3.1-quality"

Stable public model ID for this request.

operationstringrequired

Artany request operation. Use generate for a new video or remix to continue an eligible completed job.

Allowed: generate, remix

generateremix
promptstringrequired

Text description for the generated video.

Length: 1–∞

source_job_idstring

Completed Artany job ID used as the source when operation is remix.

Note:Required for Remix and must reference an eligible completed job.

durationinteger

Video duration in seconds.

Allowed: 8

8

Note:This model supports only 8 seconds.

aspect_ratiostringdefault: "16:9"

Output framing.

Allowed: 16:9, 9:16

Field description

16:9
Landscape
9:16
Portrait
16:99:16
resolutionstringdefault: "720p"

Requested output resolution tier. The selected tier can affect quote and availability.

Allowed: 720p, 1080p, 4k

720p1080p4k
image_urlsarray<string>

Optional images for image-to-video generation.

Items: 0–3

  • Use two images for first/last-frame generation.
generation_typestring

Image-conditioned generation treatment.

Allowed: frame, reference

Field description

frame
Use two images as opening and ending frames.
reference
Reference-image generation; unavailable on this quality model.
framereference
enable_gifboolean

Whether to request GIF output when that output path is enabled.

official_fallbackboolean

Whether the configured fallback execution path may be used when the primary route is unavailable.

rawboolean

Whether to request the supported minimally processed result.

Use Cases

Choose the request shape that matches the source media you provide. The examples use the public model ID and accepted public fields.

Text-to-video

Create an 8-second video from a prompt.

{
  "model": "veo3.1-quality",
  "operation": "generate",
  "prompt": "A cinematic ocean sunrise",
  "duration": 8,
  "aspect_ratio": "16:9"
}

First/last-frame video

Supply two images to establish the opening and ending frame.

{
  "model": "veo3.1-quality",
  "operation": "generate",
  "prompt": "A forest shifts from day to night",
  "duration": 8,
  "image_urls": [
    "https://example.com/day.jpg",
    "https://example.com/night.jpg"
  ]
}

Remix

Continue an eligible completed Artany job.

{
  "model": "veo3.1-quality",
  "operation": "remix",
  "source_job_id": "job_…",
  "prompt": "Continue the scene at dusk"
}

Response and task status

A successful asynchronous submission returns HTTP 202 with a supplier-neutral job.

{
  "id": "job_…",
  "object": "generation.job",
  "model": "veo3.1-quality",
  "status": "queued",
  "progress": 0,
  "output": null,
  "error": null,
  "billing": {
    "estimated_credits": "…",
    "frozen_credits": "…",
    "charged_credits": "0",
    "state": "frozen",
    "price_version": "2026-07-18.picverse-parity"
  },
  "created_at": "2026-07-21T00:00:00.000Z",
  "completed_at": null
}
  • queued / running: continue polling.
  • succeeded: retrieve media URLs from output; billing has settled.
  • failed / canceled: inspect error; frozen Credits are released.

Pricing

The price shown for a matching configuration is the fixed amount settled on successful completion. Price version: 2026-07-18.picverse-parity.

resolutionCredits
720p200
1080p200
4k300