Crazy Frog AI API
Turn two portraits into a 15-second Crazy Frog-style chase video. The first person leads in an invisible-motorcycle riding pose; the second follows on a red motorcycle. Choose the output resolution to suit your app.
Developer API pricing
Provider: SeeAPI
USD estimate: $0.0037 / credit · Estimated equivalent, not an additional charge.
480p: 329 credits/gen (≈ $1.23/gen)
720p: 715 credits/gen (≈ $2.68/gen)
1080p: 1,773 credits/gen (≈ $6.64/gen)
4k: 3,661 credits/gen (≈ $13.72/gen)
API examples
Three completed generations using two ordered reference images. Image 1 supplies the lead character; Image 2 supplies the chaser. Select an example to inspect its inputs and generated video.
Example 1
Input
input.reference_images[0]
input.reference_images[1]
Output 1
Generated chase video
Request JSON
{
"provider": "seeapi",
"input": {
"resolution": "720p",
"reference_images": [
"https://static.seeapi.com/files/ciawyxaqgcw9.jpg",
"https://static.seeapi.com/files/bfjb65lh5l2i.jpg"
]
}
}These examples are saved API results. Actual generated results may vary.
Request
/v1/templates/crazy-frog-ai/generationsHeader Params
Identifies a generation request so that retries can return the existing task.
- Use a new key for each new generation.
- Retry an unchanged request with the original key and the same request body.
- Example:
template-order-001
Body Params
application/jsonThe public provider identifier for this template.
- Send "seeapi"; other provider values are rejected.
seeapi- Default:
seeapi- Example:
seeapi
objectrequiredThe portraits and output settings for the chase video.
- Send only the public fields listed below.
The portraits and output settings for the chase video.
- Send only the public fields listed below.
Portraits of the leading person and the pursuing motorcycle rider.
- Send an array of exactly two portrait URLs: the leading person first, the pursuing motorcycle rider second.
- Use a clear photo of one person per image. Keep faces unobstructed and avoid group photos.
- Use JPG/JPEG, PNG, WebP, BMP, TIFF, or GIF. Each image must be smaller than 30 MB.
- Width and height must each be 301–5,999 pixels.
- The image width-to-height ratio must be greater than 0.4 and less than 2.5. These limits apply to each input image.
- Use publicly accessible HTTPS links to image files, without credentials or URL fragments.
- Replace the example URLs with your own images before sending the request.
- Example:
["https://static.seeapi.com/files/ciawyxaqgcw9.jpg","https://static.seeapi.com/files/bfjb65lh5l2i.jpg"]
Controls the resolution of the generated video.
- Resolution affects the template price shown above.
- Use the exact lowercase request value "4k" for 4K output.
480p720p1080p4k- Default:
720p- Example:
720p
The HTTPS endpoint that receives terminal generation updates.
- Provide an absolute HTTPS URL.
- Verify webhook signatures using the platform webhook guide.
Responses
202Generation accepted. Save generation.id and query GET /v1/generations/{task_id} for the final result; acceptance is not completion.
- Wait for a terminal status before treating the video as ready.
- On success, retrieve the video from generation.result.assets in the task-details response.
objectrequired
- Example:
task_example
Public template ID.
- Example:
crazy-frog-ai
seeapi- Example:
seeapi
Normalized customer input only.
- Example:
{"reference_images":["https://customer.example.com/input-1.jpg","https://customer.example.com/input-2.jpg"],"resolution":"720p"}
processingRequest-specific template estimate in customer credits; obtain an estimate with Quote Template. The example value is illustrative, not this template's price.
- Example:
10
- Example:
0
- Example:
0
- Example:
2026-01-01T00:00:00.000Z
- Example:
2026-01-01T00:00:00.000Z
false- Example:
false
200Idempotent replay of an existing task, including its current status, recorded credits, and any available result or public error.
- The task may already be completed. Reuse its generation.id instead of creating a duplicate request.
objectrequired
Public template ID.
- Example:
crazy-frog-ai
seeapi- Example:
seeapi
Normalized customer input only.
processingsucceededfailedcanceledrefundedexpiredEstimate recorded on the original task in customer credits.
objectoptional
array <object>required
imagevideotrue- Example:
true
Invalid request or public template input
Invalid API key
Insufficient credits
API key scope or access denied
Template or task not found or unavailable
Template configuration changed, idempotency conflict, or request still being created
Request body too large
Rate limit exceeded
Service temporarily unavailable
Query Task Status
After submitting a task, use the unified query endpoint to check progress and retrieve results:
Save generation.id from the creation response and use it as task_id in GET /v1/generations/{task_id}.
Note
- HTTP 202 confirms acceptance only; wait for the terminal task status.
- When status is succeeded, read the finished video URLs from generation.result.assets.
- On failure, inspect the public error_code and error_message.
- For webhook delivery, supply callback_url when creating the generation and verify incoming signatures.
Callbacks
Manage the secret used to verify generation webhook signatures. Callback URLs are supplied when you create each generation.
Webhook flow
Callback URL per generation.