POST
https://octopusx.ai
/
v1
/
videos
Veo Video Generation
curl --request POST \
  --url https://octopusx.ai/v1/videos \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "prompt": "<string>",
  "size": "<string>",
  "seconds": {},
  "input_reference": [
    "<string>"
  ],
  "metadata": {},
  "enable_upsample": true
}
'
{
  "id": "video_abc123",
  "object": "video",
  "model": "veo_3_1-fast",
  "status": "queued",
  "progress": 0,
  "created_at": 1735689600,
  "seconds": "8",
  "size": "720x1280"
}

Veo Video Generation

OpenAI-format entry point. If you need to use the unified video POST /v1/video/create, please see Create Video. The Veo series is currently submitted through POST /v1/videos, with JSON submission as the primary method.
  • The routing entry point is POST /v1/videos.
  • The current models are only veo_3_1 and veo_3_1-fast.
  • Currently, size will be converted and submitted together with metadata.output_config.resolution and aspect_ratio.
  • Reference images are still expressed by input_reference, but in JSON requests they are usually represented as a URL, base64, or Data URL.

Current Models

  • veo_3_1
  • veo_3_1-fast

Method and Path

POST /v1/videos

Request Example

curl -X POST https://octopusx.ai/v1/videos \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo_3_1-fast",
    "prompt": "Dance in the center of the square",
    "size": "720x1280",
    "seconds": "8",
    "input_reference": "data:image/png;base64,BASE64_IMAGE",
    "metadata": {
      "output_config": {
        "aspect_ratio": "9:16",
        "audio_generation": "Disabled",
        "resolution": "720P"
      }
    }
  }'

Response Example

{
  "id": "video_abc123",
  "object": "video",
  "model": "veo_3_1-fast",
  "status": "queued",
  "progress": 0,
  "created_at": 1735689600,
  "seconds": "8",
  "size": "720x1280"
}

Authentication

Authorization: Bearer YOUR_API_KEY

Body

model
string
required
Model name. Currently only veo_3_1 and veo_3_1-fast are organized.
prompt
string
required
Prompt.
size
string
Size string. Common values currently include 720x1280 or 1280x720, which are used to derive Veo’s resolution and aspect ratio.
seconds
string | integer
Target duration. Currently submitted through seconds; the gateway also supports duration and metadata.durationSeconds.
input_reference
string | array<string>
Reference image input. JSON requests can currently use a URL, base64, or data URI; the Veo adapter layer also supports multipart file uploads.
metadata
object
Extended configuration. The Veo pipeline will continue parsing metadata into upstream Veo fields such as DurationSeconds, AspectRatio, and Resolution.
enable_upsample
boolean
This is the Apifox field reference you provided, but based on the current main repository pipeline, it is not an explicit top-level field in the generic Veo DTO. If you want to express clarity or resolution, size and metadata are currently recommended instead.

Current Rules

ItemRule
Request formatJSON
Reference image formatSupports URL, base64, and data URI, and also supports multipart files
Reference-to-video modeThe aspect ratio will be forcibly constrained to 16:9
Parameter mappingsize will be further mapped to Veo-required resolution and aspectRatio