Make your first API call.
Connect your application to an enabled model using the gateway URL and a Scenepond API key.
Copy this quickstart or use the LLM index to read model-specific documentation.
This example uses deepseek-flash. Confirm that your API key has access and your account has sufficient balance before sending a request.
1. Prepare your API key
Create a key in the customer console. Keep the secret in a server-side environment variable named SCENEPOND_API_KEY. The website login session is not an API key.
export SCENEPOND_API_KEY="YOUR_SCENEPOND_API_KEY"2. Set your base URL
https://scenepond-api-production.up.railway.app/v1Send Authorization: Bearer with your API key. Use HTTPS and keep keys out of browser code and URLs.
3. Send a request
1curl "https://scenepond-api-production.up.railway.app/v1/chat/completions" \
2 -H "Authorization: Bearer $SCENEPOND_API_KEY" \
3 -H "Content-Type: application/json" \
4 --data-binary @- <<'JSON'
5{
6 "model": "deepseek-flash",
7 "messages": [
8 {
9 "role": "user",
10 "content": "Hello!"
11 }
12 ],
13 "stream": false
14}
15JSONRun this example in a shell with cURL installed. Set SCENEPOND_API_KEY before running.
This example uses the chat completions protocol. Image, video, and task APIs can use different request schemas; check each model’s endpoint and configured provider before integrating.
Asynchronous tasks
Image and video task APIs return an ID before generation finishes. Submit once, preserve the ID, poll status, and retrieve media after successful completion.
| Endpoint | Purpose |
|---|---|
POST /v1/tasks/fal | Submit a model-specific generation request; returns task_id. |
GET /v1/tasks/{task_id} | Read status, progress, and fail_reason. This response does not contain generated media. |
GET /v1/tasks/{task_id}/artifacts | After SUCCESS, read the artifacts and their content_url values. |
Use the model page for exact required fields, optional generation settings, and Video or Responses compatibility. Video Responses require background:true; this does not apply to text-model Responses.
Use the same account API key to retrieve task results. Wait for SUCCESS or completed before downloading; on FAILURE or failed, inspect the returned error. Do not blindly repeat a paid POST after a timeout.
Model API references4. Monitor balance and usage
Requests are settled by the existing backend. Compare the configured model price before calling and review actual charges in your usage records.
Handle API errors
| Status | Next step |
|---|---|
400 | Check the model ID, required fields, types, and allowed parameter values. |
401 | Check the API key and whether it is enabled. |
403 | Check key restrictions and model permissions. |
429 | Respect the returned retry delay and lower your request rate. |
5xx | Inspect the error response. Avoid blindly retrying paid generation requests. |
Model API documentation
Choose a model to view its API protocol and request examples.
| Model | Model type | API protocols | API documentation |
|---|---|---|---|
Wan 3.0 Primealibaba/wan-3.0-prime/image-to-video | Video | fal-task / openai-video / openai-response | API documentation |
Wan 3.0 Primealibaba/wan-3.0-prime/text-to-video | Video | fal-task / openai-video / openai-response | API documentation |
Wan 3.0alibaba/wan-3.0/image-to-video | Video | fal-task / openai-video / openai-response | API documentation |
Wan 3.0alibaba/wan-3.0/text-to-video | Video | fal-task / openai-video / openai-response | API documentation |
FLUX 3 Draftblackforestlabs/flux-3/image-to-video/draft | Video | fal-task / openai-video / openai-response | API documentation |
FLUX 3 Draftblackforestlabs/flux-3/text-to-video/draft | Video | fal-task / openai-video / openai-response | API documentation |
DeepSeek Flashdeepseek-flash | Text | openai / openai-response / anthropic | API documentation |
DeepSeek V4 Prodeepseek-v4-pro | Text | openai / openai-response / anthropic | API documentation |
Gemini Omni 1.1 Flashgoogle/gemini-omni-flash/v1.1/image-to-video | Video | fal-task / openai-video / openai-response | API documentation |
Gemini Omni 1.1 Flashgoogle/gemini-omni-flash/v1.1/text-to-video | Video | fal-task / openai-video / openai-response | API documentation |
LTX-2.5 Fastlightricks/ltx-2.5/image-to-video/fast | Video | fal-task / openai-video / openai-response | API documentation |
LTX-2.5 Prolightricks/ltx-2.5/image-to-video/pro | Video | fal-task / openai-video / openai-response | API documentation |
LTX-2.5 Fastlightricks/ltx-2.5/text-to-video/fast | Video | fal-task / openai-video / openai-response | API documentation |
LTX-2.5 Prolightricks/ltx-2.5/text-to-video/pro | Video | fal-task / openai-video / openai-response | API documentation |
Muse Imagemeta/muse-image/text-to-image | Image | fal-task | API documentation |
MiniMax H3 Max Turbominimax/h3-max-turbo/image-to-video | Video | fal-task / openai-video / openai-response | API documentation |
MiniMax H3 Max Turbominimax/h3-max-turbo/text-to-video | Video | fal-task / openai-video / openai-response | API documentation |
MiniMax H3 Maxminimax/h3-max/image-to-video | Video | fal-task / openai-video / openai-response | API documentation |
MiniMax H3 Maxminimax/h3-max/text-to-video | Video | fal-task / openai-video / openai-response | API documentation |
MiniMax H3minimax/h3/image-to-video | Video | fal-task / openai-video / openai-response | API documentation |
MiniMax H3minimax/h3/text-to-video | Video | fal-task / openai-video / openai-response | API documentation |
Recraft V4.1 Flashrecraft/v4.1/flash/text-to-image | Image | fal-task | API documentation |
Grok Imagine Image 2.0xai/grok-imagine-image/v2.0/edit | Image | fal-task | API documentation |
Grok Imagine Image 2.0xai/grok-imagine-image/v2.0/text-to-image | Image | fal-task | API documentation |