GotoRampVideo

Docs · API reference

Video generation API.

REST over HTTPS, JSON bodies, bearer-token auth. Two endpoints: create a job, get a job.

Early-access reference: the endpoint opens with your account invitation; field names and error codes are frozen at launch.

Base URL and auth

All requests go to https://api.gotoramp.ai/v1 and carry your key as a bearer token:

Authorization: Bearer $GOTORAMP_API_KEY

Keys are scoped to one account. Each key has its own usage, spend limit and optional model allowlist. Requests from countries we don't serve are refused regardless of the key.

Create a job

POST /v1/video/generations creates an asynchronous job and returns immediately.

FieldTypeRequiredDescription
modelstringYesseedance-2.5, seedance-2.0, seedance-2.0-fast or seedance-2.0-mini
promptstringYesWhat happens in the shot: subject, action, camera, light, sound.
durationintegerNoSeconds, 4–15. Default 5.
imagestringNoFirst frame, as an HTTPS URL or base64 data URI.
seedintegerNoRepeat a result more closely with the same inputs.
metadataobjectNoFormat, audio and reference options. See Request options.
userstringNoYour end-user ID. Platforms should always set it so abuse reports can be traced.
{
  "model": "seedance-2.0",
  "prompt": "The rattan lounge chair turns slowly on a white sweep, soft studio shadow",
  "duration": 8,
  "image": "https://example.com/packshots/rattan-chair.jpg",
  "metadata": {
    "ratio": "1:1",
    "resolution": "720p",
    "generate_audio": true
  },
  "user": "workspace-2291"
}

Request options

Set inside metadata.

FieldTypeDescription
ratiostring21:9, 16:9, 4:3, 1:1, 3:4, 9:16, or adaptive to follow the first frame. Default 16:9.
resolutionstring480p or 720p. Default 720p.
generate_audiobooleanGenerate sound with the picture. Default true.
last_frame_imagestringWhere the shot should end. Requires image.
reference_imagesstring[]Images that steer identity, product or set.
reference_videosstring[]Short clips that steer motion and camera language.
reference_audiosstring[]Audio that steers rhythm and timing.

Get a job

GET /v1/video/generations/{task_id} returns the job's current state. When it has succeeded, url points to the MP4 and metadata describes it.

Response · 200
{
  "task_id": "vid_01J9Q7Z4M2",
  "status": "succeeded",
  "format": "mp4",
  "url": "https://api.gotoramp.ai/files/vid_01J9Q7Z4M2.mp4",
  "metadata": { "duration": 8, "fps": 24, "width": 720, "height": 720, "seed": 48213 },
  "error": null
}

Job statuses

StatusMeaningWhat to do
queuedAccepted, waiting for capacityKeep polling
in_progressGeneratingKeep polling
succeededVideo ready at urlDownload within 24 hours
failedStopped; see errorFix the input or retry. Not billed.

Limits

LimitValue
Duration4–15 seconds, whole seconds
Resolution480p, 720p
Aspect ratios21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptive
References per jobUp to 9 images, 3 video clips and 3 audio clips on seedance-2.0; lower on some models
Video link lifetime24 hours from success

The console lists the exact limits for each model. A request outside a model's limits fails at submission with 400 and isn't billed.

Errors

Errors return a JSON body with a machine-readable code and a human-readable message.

Error · 403
{
  "error": {
    "code": "region_not_available",
    "message": "GotoRamp Video isn't offered in the country this request came from."
  }
}
HTTPcodeCause and fix
400invalid_requestA field is missing or outside the model's limits. The message names the field.
401invalid_api_keyKey missing, revoked or mistyped.
402insufficient_balanceTop up, or raise the key's spend limit.
403region_not_availableThe request came from a country we don't serve.
403content_policyThe prompt or a reference breaks the content rules. Not billed.
404task_not_foundUnknown task ID, or a task from another account.
429rate_limitedToo many jobs running at once. Retry with backoff.
5xxupstream_errorTemporary model-side failure. Retry with backoff; not billed.

Rate limits and concurrency

Each account has a limit on jobs running at the same time. Pay as you go accounts get standard concurrency; Volume and Enterprise accounts get more, agreed in writing. When you hit the limit you get 429: back off and retry, or queue jobs on your side.

Versioning and changes

The /v1 path is stable. We add fields without notice, but we announce removals, renames and model-version changes at least 30 days ahead by email to account owners.