POST
https://octopusx.ai
/
v1
/
videos
Grok 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>",
  "aspect_ratio": "<string>",
  "seconds": 123,
  "size": "<string>"
}
'
{
  "id": "video_abc123",
  "object": "video",
  "model": "grok-video-3",
  "status": "queued",
  "progress": 0,
  "created_at": 1735689600,
  "size": "720P"
}

Grok Video Generation

OpenAI-format entry point. If you need to use the unified video POST /v1/video/create, see Create Video. The Grok video generation API uses multipart/form-data for submission. Please organize the request according to the fields here.
  • The endpoint path is POST /v1/videos.
  • input_reference is the reference image field and supports uploading multiple images repeatedly.
  • grok-video-3-pro will be automatically fixed to 10 seconds, and grok-video-3-max will be automatically fixed to 15 seconds.
  • The base version grok-video-3 has no additional fixed-seconds logic and is processed according to the actual parameters passed.

Currently Available Models

  • grok-video-3
  • grok-video-3-pro
  • grok-video-3-max

Method and Path

POST /v1/videos

Request Example

curl -X POST https://octopusx.ai/v1/videos \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=grok-video-3" \
  -F "prompt=猫咪听歌摇头晃脑,下大雨" \
  -F "aspect_ratio=2:3" \
  -F "seconds=6" \
  -F "size=720P" \
  -F "input_reference=@reference.png"

Response Example

{
  "id": "video_abc123",
  "object": "video",
  "model": "grok-video-3",
  "status": "queued",
  "progress": 0,
  "created_at": 1735689600,
  "size": "720P"
}

Authentication

Authorization: Bearer YOUR_API_KEY

Body

model
string
required
Model name. The currently available Grok series values are grok-video-3, grok-video-3-pro, and grok-video-3-max.
prompt
string
required
Prompt.
aspect_ratio
string
Video aspect ratio. Optional values are 16:9, 9:16, 2:3, 3:2, and 1:1.
seconds
integer
Target duration in seconds. For grok-video-3-pro and grok-video-3-max, this will be automatically corrected to a fixed value.
size
string
Resolution tier. Common values are 720P or 1080P.
input_reference
file
Reference image file. Can be passed multiple times, corresponding to multiple input_reference uploads.

Response

id
string
Task ID.
object
string
Fixed as video.
model
string
The actual submitted model name.
status
string
Task status. Common values include queued, processing, completed, failed, and cancelled.
progress
integer
Progress percentage.
created_at
integer
Creation timestamp.
size
string
Output resolution tier.

Use Cases

Text-to-Video

Just pass the fields model, prompt, seconds, and size.

Image-to-Video

On top of text-to-video, add one or more input_reference files.

Fixed-Duration Models

If you pass grok-video-3-pro or grok-video-3-max, expect the server to process them with a fixed duration.