Your first request
From zero to a generated video in under 5 minutes. The example below uses a demo model — swap the id and parameters per each model's page.
1. Get your key#
Create a key in Authentication and export it as an environment variable:
export API18_KEY="api18_xxxxxxxxxxxxxxxx"2. Generate — one call, no polling#
Copy this. POST /v1/generate?wait=true routes by the model field and waits for the result — the response is the finished job, with the output URL at data[0].url.
curl -X POST "https://api18.dev/v1/generate?wait=true" \
-H "Authorization: Bearer $API18_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"centaurus-1.0-text-to-video","prompt":"A cinematic shot of a city street at night, neon reflections on wet pavement, slow dolly-in","resolution":"720p","aspect_ratio":"16:9","duration":5}'
# → returns the finished job; the output URL is at .data[0].urlThat's the whole integration. No SDK, no polling loop. Want your AI to write it for you? See Build with AI.
3. Download the output#
data[].url points to your file. Output files are temporary (see retention_days in the response) — download and store them yourself if you need to keep them. For long jobs you can skip ?wait=true and poll instead.
Next steps#
See how the job flow works, pick a model and check the endpoint reference. Base URL: https://api18.dev.