GPT IMAGE 2.5 | WAN 3.0 | SEEDANCE 2.5 IS NOW LIVE!

GENERATE YOUR VIDEOS WITH UNLIMITED SEEDANCE 2.5 TODAY.

NO EXTRA SUBSCRIPTION
Get API key
Browse API docs

Endpoints

generate-media

Was this page helpful?

Start one image or video generation using a current public model ID.

By  Founder, Reviral Last updated

GET

/api/v1/generate-media

Describe the generation contract

Authentication: Public

curl "https://reviral.ai/api/v1/generate-media"

Responses

200
Human-readable field and polling summary
429
Too many requests
503
Models or rate limiting are temporarily unavailable
POST

/api/v1/generate-media

Start a media job

Limited to 10 requests per minute and 1,000 per day per key (image and video share the daily count; image-ads shares the same budget). Video also has an account cap: 10 per hour and 100 per day until the account has paid history; 200 per day after. Reference counts and limits come from the selected model. Image credits are per image and count multiplies the charge.

Authentication: Bearer API key required

curl -X POST "https://reviral.ai/api/v1/generate-media" \
  -H "Authorization: Bearer $REVIRAL_API_KEY" \
  -H "Idempotency-Key: first-generation" \
  -H "Content-Type: application/json" \
  --data '{"model":"seedance-2","prompt":"A slow camera move across a quiet lake at sunrise","durationSec":5,"resolution":"720p","aspectRatio":"16:9","maxCredits":106}'

Request body

FieldTypeRequiredDescription
modelstringYes—
promptstringYes—
durationSecinteger (min 1)No—
resolutionstringNo—
aspectRatiostringNo—
generateAudiobooleanNo—
referenceImageUrlsarrayNo—
referenceVideoUrlsarrayNo—
referenceAudioUrlsarrayNo—
sizestringNo—
countinteger (min 1, max 4)NoImage count; multiplies perImage credits.
maxCreditsinteger (min 0)NoPrice lock. A different live charge returns 409 price_changed.
webhookUrlstringNo—

Responses

202
Job accepted or the original job returned when the same Idempotency-Key and request body are repeated
400
Body is empty or is not JSON
401
Key is missing, revoked, or invalid
402
Account needs more credits
404
Model is not available
409
Either the live charge changed (price_changed) or the Idempotency-Key was already used with a different request body (idempotency_key_reuse)
422
validation_error: settings are invalid or a reference field is unsupported. content_refused: the model's content rules refused this request. Change the prompt or the reference images; the same request is usually refused again. error.creditsCharged is 0 once your credits are returned.
429
Too many requests
502
Job could not be started
503
Models or rate limiting are temporarily unavailable
504
Start timed out. The error echoes idempotencyKey when supplied; retry with the same value.