API Documentation
Two endpoints. One POST to start — one GET to poll status. The pipeline runs asynchronously; your video is ready in ~3–5 minutes.
https://www.forsa-ai-api.midadworld.com/api/v1
🚀 Quick Start
1 — Set up environment
2 — Required .env keys
Authentication
The API currently uses no authentication — designed to run as an internal service behind your own gateway.
Add Authorization: Bearer middleware in routes/api.php before public exposure.
Do not expose this API publicly without authentication and rate limiting.
POST Generate Video
/api/v1/generate-car-video
multipart/form-data
Submits a new video generation job. Returns a job_id UUID — use it to poll the status endpoint.
Request Fields
| Field | Type | Required | Description |
|---|---|---|---|
images[] |
file[] | ● Required | 3–4 car photos. JPEG/PNG, max 10 MB each. |
car_brand |
string | ● Required | Car manufacturer. e.g. Toyota |
car_model |
string | ● Required | Car model. e.g. Land Cruiser |
car_year |
integer | ○ Optional | Model year. Defaults to current year. |
presenter_gender |
enum | ○ Optional | male or female. Default: male |
language |
enum | ○ Optional | ar (Arabic) or en (English). Default: ar |
Response — 202 Accepted
GET Check Status
/api/v1/generate-car-video/{jobId}/status
Poll every 10–15s
Returns the current state of the generation job. Poll until status is completed or failed.
Status Values
pending
— Job queued
processing
— Pipeline running
completed
— video_url ready
failed
— Check error_message
Response — Completed
Response Schemas
Code Examples
HTTP Status Codes
| Code | Meaning | When It Occurs |
|---|---|---|
| 202 | Accepted |
Job successfully queued. |
| 200 | OK |
Status poll returned. |
| 404 | Not Found |
job_id does not exist. |
| 422 | Unprocessable Entity |
Validation failed — check errors. |
| 500 | Internal Server Error |
Unexpected server failure. |