Video guides
AI Video Troubleshooting: Queues, Failed Tasks, Audio and Downloads
Diagnose video generation by task state and public error code. Find steps for reference errors, identity drift, missing audio, downloads and Credit returns.
Start with the task state, not the appearance of the loading spinner. Keep the task ID, actual model and settings before trying another submission. This guide covers this independent platform’s video tools and API; it does not describe the behavior of Pika’s official hosted service.
Checked against the site’s current task handling on November 9, 2026. Creative adjustments below are suggestions, not measured guarantees. No paid generation was run to produce this guide.
First: was a task created?
Open My Creations or the tool’s My Work tab. API users should check both HTTP status and the JSON code: HTTP 200 with code: -1 is still a business error. If creation succeeded, retain the returned local dbId or id and query that task.
| State | Meaning | First action |
|---|---|---|
| No task ID and a clear rejection | The request did not return a successful task creation | Correct the reported problem before trying again |
| No task ID after a network timeout | Creation is uncertain | Check My Creations; do not assume it is safe to repeat the POST |
queued |
The task is waiting for dispatch | Keep the existing task; queue position is not a promised completion time |
pending, processing |
The task is still in progress | Query the same ID at a reasonable interval |
success |
A result was produced | Inspect or download the result; creative dissatisfaction is separate from failure |
failed, canceled |
A terminal state was recorded | Read the public error code and inspect Credit history |
Closing a page or stopping an API poll does not cancel a task. A local ten-minute polling window ending is not evidence that the server task failed. For confirmed cancellation or deletion, use the actions available in the signed-in account; an API Key is not a substitute for every account operation.
A request is rejected before generation
| Message or symptom | Check | Next step |
|---|---|---|
Unauthorized or HTTP 401 |
Key owner, key status and exact Bearer format |
Create or copy the correct API Key; never share it with support |
| Cross-origin request rejected | Whether the endpoint supports browser CORS and token auth | Put integrations on your backend; browser cookies do not authenticate cross-origin requests |
Unsupported model |
The current project catalog’s model slug |
Refresh the catalog; do not use a marketing label as the ID |
| Unsupported duration, resolution or aspect ratio | The selected model’s current params |
Choose compatible values and quote again |
Automatic duration is not supported |
Whether duration was set to -1 |
Choose a supported positive duration |
Insufficient credits |
Required Credits and the account’s available balance | Check expiry and active grants; choose a cheaper compatible setup or add Credits |
| Too many active generation tasks | Outstanding tasks for the account | Wait for existing tasks rather than submitting more copies |
HTTP 429 or Please retry after ... |
Retry-After and the response message |
Wait before retrying eligible reads; do not blindly repeat a generation POST |
| Provider or quote unavailable | Catalog/quote availability and configuration | Preserve the request, wait and contact support if it persists |
A quote is not a reservation: changing inputs or submitting later can change the price. Model names and settings may also be retired. Use the API quickstart for the actual request and response shapes.
Use public task error codes
For failed or canceled tasks, a single-task API query returns the public classification in data.taskInfo.userErrorCode. It may intentionally omit the provider’s raw details. Do not expect the task’s code field to be the error classification: the outer code describes the API request.
userErrorCode |
What to do |
|---|---|
reference_media_invalid |
Check URL reachability, file type, corruption and provider input limits |
reference_media_duration_invalid |
Check each clip’s duration and combined reference-duration rules |
too_many_images, too_many_videos, too_many_audios |
Remove excess references according to the selected model |
prompt_too_long |
Shorten the prompt within that model’s limit |
service_busy |
Keep the task ID, check the recorded state and wait before a deliberate new attempt |
content_safety_rejected |
Review whether inputs and intended output are permitted; ask support to review a suspected false positive |
copyright_restricted |
Check rights to the inputs and intended use; request review if you believe the restriction is mistaken |
task_canceled |
Verify the account action and Credit history |
generation_failed |
The category is general; send the task ID and redacted details to support if basic checks do not resolve it |
Do not repeatedly resubmit rejected content to evade a provider’s restrictions. A failed task does not automatically retry itself into a usable result.
Reference media cannot be read
- Use a URL reachable without your browser’s login cookies. Local disk paths are not provider-readable URLs.
- Confirm that the link still works and does not expire before processing. A working thumbnail is not proof that the original image or video is reachable.
- Check actual file format, size, reference counts and durations. Site upload limits and model input limits are separate; the stricter applicable requirement matters.
- Start with the minimum valid reference set. Some models require an image or video alongside reference audio; check the selected model’s instructions.
The site’s upload routes currently use browser-session authentication. API-Key users should host permitted inputs at suitable URLs rather than calling those routes with only a key. For private inputs, choose an access method the provider supports and keep the URL valid for the processing period.
Faces, products or camera motion look wrong
| Symptom | First revision | Review afterward |
|---|---|---|
| Face changes | Use a clear source, reduce expression and head movement | Eyes, teeth, face outline and hair |
| Product label or shape changes | Reduce orbiting and large object motion | Silhouette, lettering and reflections frame by frame |
| Characters get mixed | Remove conflicting images; assign reference roles | Whether every image shows the same intended identity |
| Flicker or inconsistent style | Use one style, one action and steadier lighting | Frame-to-frame changes and background stability |
| Camera ignores directions | Keep one camera move and name an ending composition | Actual framing and direction |
| Several actions are unfinished | Split the brief into shorter, separate shots | Whether each shot completes its one action |
Change one variable at a time, keeping model and other settings stable. These changes can help diagnosis; they do not guarantee identity, text or physical accuracy. See the prompt templates, image walkthroughs and reference walkthrough.
The clip has no sound
First unmute the preview and test the downloaded file. If the file is also silent, verify that the selected model supports native audio and whether its sound control was enabled. Prompting a silent-output model to speak does not add audio support.
For a supported model, use short dialogue and explicit sound instructions, then review a new attempt if needed. Separate audio stems are not a general promise of this site’s video tools; do not infer support from Pika’s official Flex feature list.
The task succeeded but download or playback fails
Query the existing task and use its current taskInfo.videos[].videoUrl. Download from your backend without forwarding the platform API Key to the media host. The browser download proxies require session authentication, so HTTP 401 there does not establish that generation failed.
For HTTP 403/404, check the URL and task state, and contact support if the asset remains unavailable; querying again does not guarantee renewal of an expired signed link. For playback problems, test a complete downloaded file in a compatible player and inspect its actual format. Renaming a file extension does not convert its codec.
Retry the download where appropriate, not the paid generation. Keep signed URLs out of public reports.
Credits appear missing
A submitted task can deduct Credits while it is queued or processing. Successful generations consume Credits even when you dislike the creative result; another successful revision is another attempt. Failed generation tasks return their deducted Credits automatically under the site’s policy.
Check the task’s final state and the account’s Credit history. Grants may expire, and different subscriptions or packs have different effective unit costs. A pending task is not a refund confirmation. If a failed task’s return is not reflected, open a support ticket with its ID; do not try to force a refund by repeatedly deleting or recreating tasks.
See current allowance, costs and retry budgeting.
What to send support
Use the account’s support channel or support@tikdek.com. Include task ID, model, input mode, approximate time and timezone, settings, HTTP status, public error code and what you already tried. Redact personal inputs, API Keys, cookies and signed media URLs. Screenshots of task and Credit history can help; never include account credentials.