Generate videosVisual EffectsLarge Language Models

Seedance 2.0 API Key Free: fal Access and GitHub Examples

fal hosts Seedance 2.0 as a paid endpoint, so where does free access come from? See the exact endpoint and parameters, working Python and JavaScript calls, a checklist for judging GitHub repos, per-clip cost math, and free PicassoIA routes for testing prompts before you spend a cent.

Seedance 2.0 API Key Free: fal Access and GitHub Examples
Cristian Da Conceicao
Founder of Picasso IA

You searched for a free Seedance 2.0 API because you want ByteDance's video model running inside your own script, without a bill that surprises you at the end of the month. Reasonable goal. The honest answer comes in two halves. fal hosts a ready Seedance 2.0 endpoint, but it is metered, paid usage. The free routes sit elsewhere. Below you get the exact fal endpoint, every parameter it accepts, working Python and JavaScript calls, a checklist for judging GitHub examples, and a free path on PicassoIA you can use today.

💡 Short version: fal gives you the cleanest developer experience for Seedance 2.0, and PicassoIA gives you the cheapest place to test it. Find a prompt that works on the second, then spend on the first only when you need scripted volume.

Is a Free Seedance 2.0 API Real?

Short answer: not on fal, as far as the public pricing page shows. Seedance 2.0 produces video clips with built-in audio, and API hosts charge per generated second because every clip burns real GPU time. A host that gave away unlimited free access would go broke within a week.

What fal Actually Charges

fal exposes the model at the endpoint bytedance/seedance-2.0/text-to-video. Its pricing page lists paid model usage and, when I checked, advertised no free credits. Third-party comparisons put the rate near $0.24 per second for the basic tier and $0.30 per second for the high-quality tier. Treat those as reported figures and confirm them on the model page before you budget.

A freelance video editor comparing a printed cost table with a calculator at an oak desk

Here is what those reported rates mean per clip:

Clip lengthBasic tier (about $0.24 per second)High tier (about $0.30 per second)
5 secondsabout $1.21about $1.51
10 secondsabout $2.42about $3.02
15 secondsabout $3.63about $4.54

Ten test clips at 10 seconds on the high tier land around $30. Prompt iteration is where the money disappears, so test cheaply first and spend only on the shot you plan to publish.

Spotting Fake Free Offers

Search results for this topic are full of pages promising "unlimited free credentials". Be skeptical. Three patterns show up again and again:

  • Shared tokens posted in public repos. They get revoked within hours, and using one can break the host's terms.
  • "Free" wrappers that resell cheaper models under the Seedance name. The output looks nothing like the real thing.
  • Sign-up funnels that ask for payment details before showing any price.

If a token is not tied to your own account, it is not yours to use.

fal Access in Ten Minutes

You need three things: an account, a token, and a client library. Nothing else.

Create the Account and Token

Sign up at fal.ai, open the dashboard, and generate an API token. Copy it once and store it in a password manager. Then set it as an environment variable so no script ever holds it in plain text:

export FAL_KEY="paste-your-token-here"
pip install fal-client

The Python client reads FAL_KEY on its own. Never commit the value to Git, and never place it in browser code.

Close-up of a developer's hands typing on a slim aluminum laptop in warm lamp light

Your First Python Call

The request below uses the parameter names the endpoint publishes. subscribe submits the job, waits in the queue, and returns the result:

import fal_client
import requests

def on_update(update):
    print(update)

result = fal_client.subscribe(
    "bytedance/seedance-2.0/text-to-video",
    arguments={
        "prompt": "A potter shapes wet clay on a wheel, warm window light, slow push-in, soft sounds of wet clay",
        "resolution": "720p",
        "duration": "5",
        "aspect_ratio": "16:9",
        "generate_audio": True,
    },
    with_logs=True,
    on_queue_update=on_update,
)

video_url = result["video"]["url"]
with open("clip.mp4", "wb") as f:
    f.write(requests.get(video_url, timeout=120).content)
print("Seed:", result["seed"])

The response is a JSON object with a video file object (url, content_type, file_name, file_size) and the seed that produced it. Log the seed next to the prompt so you can trace which run made which file. The duration field is an enum, so copy the exact format shown in the schema on the model page.

A woman developer at a standing desk glancing at a monitor in a bright loft

The JavaScript Version

import { fal } from "@fal-ai/client";

const result = await fal.subscribe("bytedance/seedance-2.0/text-to-video", {
  input: {
    prompt: "A potter shapes wet clay on a wheel, warm window light, slow push-in",
    resolution: "720p",
    aspect_ratio: "16:9",
  },
  logs: true,
});

console.log(result.data.video.url);

Run this from a server route, never from the browser, or your token becomes public the moment the page loads.

Handling Errors and Timeouts

Video jobs often take a couple of minutes, so plan for failure from the start. Wrap each call in a try block, record the prompt and settings before submitting, and retry a failed job once after a pause rather than in a tight loop. For batches, submit jobs to the queue and collect results later instead of holding one open connection per clip. If a job fails twice with the same prompt, change the prompt before spending a third time: repeated failures usually point at the input, not at bad luck. Keep a small log file with the prompt, settings, seed, and file name, so you can match any clip to the run that made it.

GitHub Examples Worth Cloning

Search GitHub for Seedance 2.0 and you will find dozens of repos: quick scripts, Next.js demos, batch renderers, ComfyUI nodes. Quality varies a lot. I won't name specific repos, because they change weekly, but you can judge any of them in two minutes.

What a Good Repo Shows

  • The exact endpoint ID, matching the model page character for character.
  • Tokens read from environment variables, with a .env.example file and no real values.
  • Queue handling: submit, poll or use a webhook, then fetch. Blocking calls are fine for tests, but batch jobs need the queue.
  • Error handling for failed jobs and timeouts, plus retries with a pause.
  • A recent commit date. The model is new, and its schema has moved quickly.

Two colleagues reviewing printed code pages beside open laptops, seen from directly above

Red Flags in Sample Code

Red flagWhy it hurts
Hard-coded token in the sourceInstant leak, then instant revocation
Parameter names the endpoint does not listCalls fail or silently fall back to defaults
No download stepOutput lives on the host's storage, so relying on that URL forever is a gamble
Loop with no delay or concurrency capRate limits and a surprise bill
Unpinned dependenciesBreaks on the next client release

💡 Before you run any cloned script, search it for http:// and requests.post and read every outbound address. Anything that is not the fal host or your own server deserves a question.

A Safe Way to Test Any Repo

Never run an unknown repo with your main token. Create a separate token used only for testing, run the script inside a throwaway folder or container, and set the shortest duration and lowest resolution the script allows. Read the first output before you scale up. If the repo loops over a list of prompts, cut the list to one entry and print the request payload instead of sending it. Once you know exactly what leaves your machine and what comes back, raise the settings step by step. Ten minutes of caution costs less than one runaway batch.

Settings That Change the Result

The endpoint exposes seven inputs. Most tutorials only show the prompt, but the other six decide both cost and quality.

ParameterOptionsDefault
promptFree text, requirednone
resolution480p, 720p, 1080p, 4k720p
durationauto, or 4 to 15 secondsauto
aspect_ratioauto, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16auto
generate_audiotrue or falsetrue
bitrate_modestandard, highstandard
codecauto, H264, H265auto

A colorist adjusting a grading console beside a reference monitor in a dim amber room

Duration and Resolution

Longer clips and higher resolutions both raise the price. Draft at 720p and 5 seconds. Move to 1080p only for the take you plan to publish, and keep 4k for hero shots that justify the cost.

Audio, Ratio and Codec

Leave generate_audio on unless you plan to score the clip yourself, since synchronized sound is a large part of the model's appeal. Use 9:16 for Shorts and Reels, and 16:9 for YouTube and web banners. Pick H264 for the widest playback support, and H265 when file size matters more than old devices.

Free Routes That Work Today

Seedance on PicassoIA

PicassoIA runs the Seedance family in the browser, with no code. Seedance 2.0 accepts text or a reference image and returns a clip with dialogue, sound effects, and music generated in one pass. It takes up to nine reference images, three reference videos, and three audio clips, and you can pin both the first and the last frame.

For cheaper drafts there are Seedance 2.0 Fast and Seedance 2.0 Mini. And Seedance 2.5 Lite is built for volume: it makes 5 or 10 second clips with audio at 480p or 720p, and Wonder members run it without limits.

A young man grinning at his laptop in a bright coworking space

The PicassoIA API Route

PicassoIA also runs a developer API with the same Replicate-style flow: create a prediction, poll it, fetch the result. The base URL is https://api.picassoia.com/v1, and requests carry a bearer token that starts with pia_sk_. Four models are exposed: image, image editor pro, video, and Seedance 2.5 Lite with synchronized audio.

The docs say "API predictions are currently free. They use no credits." The same page also says "Creating predictions needs an Infinite plan." Read both lines together: free per call, but gated by plan. Check your own account before you build on it. Limits to plan around: five predictions running at once per account and 4,000 characters per prompt.

curl -X POST https://api.picassoia.com/v1/models/picassoia/seedance-2.5-lite/predictions \
  -H "Authorization: Bearer $PICASSOIA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"input": {"prompt": "A potter shapes wet clay on a wheel, warm window light, slow push-in"}}'

The response carries a prediction ID. Poll GET /v1/predictions/{id} until the status reads succeeded, then download the video from the output URL.

Here is how the routes compare:

RouteModelCostBest for
fal APISeedance 2.0Pay per second, reported near $0.24 to $0.30Production scripts
PicassoIA webSeedance 2.0, Fast, MiniListed as free to try onlinePrompt testing
PicassoIA webSeedance 2.5 LiteUnlimited for Wonder membersHeavy iteration
PicassoIA APISeedance 2.5 LiteDocumented as free, Infinite plan requiredScripts on a budget

Which Route Fits You

Pick by the job, not by the headline price. A solo creator posting three clips a week needs no API at all: the browser on PicassoIA is enough. A developer building a prototype benefits from the PicassoIA API while it stays free on the plan they hold, because failed experiments cost nothing. A team shipping a product feature with predictable billing should price the fal endpoint, since a paid host usually comes with clearer billing and support terms. Many projects use two routes: free for drafts, paid for finals.

How to Use Seedance 2.0 on PicassoIA

A content creator in a cream hoodie watching a short film preview on a large monitor

The workflow takes about five minutes the first time:

  1. Open the model. Go to the Seedance 2.0 page and sign in.
  2. Write the prompt. One subject, one action, one camera move, one lighting note. Put spoken lines in double quotes so the model generates dialogue.
  3. Set the duration. Use 5 seconds for drafts. A value of -1 lets the model pick the length from the prompt.
  4. Choose resolution and ratio. The defaults are 720p and 16:9. Switch to 9:16 for vertical posts.
  5. Add references if you have them. Upload up to nine images and call them [Image1], [Image2] in the prompt. A first-frame image animates a still, but it cannot be combined with reference images.
  6. Generate and compare. Change one setting per run, so you know what caused the difference.

💡 Pin the first and last frame when a clip must open and close on exact images, such as a product reveal that ends on a logo card.

Draft Prompts With an LLM

Shot descriptions are easier to write with help. Claude Sonnet 5 and Gemini 3.5 Flash both run on PicassoIA. Paste a rough idea and ask for five variants in this order: subject, action, camera move, light, sound. Then run the best two through Seedance and keep the winner.

Prompts That Behave

These four prompts follow the order above. Copy them, then swap the subject:

  • Product: Overhead shot of a ceramic mug on a wooden table, steam rising, camera slowly descends, soft morning light, gentle clink of ceramic.
  • Dialogue: A chef tastes soup in a steamy kitchen and says "Needs more salt." Handheld camera, warm tungsten light, bubbling pots.
  • Visual effect: A glass of water on a table, the surface ripples as a small vortex forms in the center, then settles. Locked camera, macro lens, soft daylight.
  • Vertical social: Street musician plays violin at a rainy tram stop, camera orbits slowly, reflections on wet pavement, ambient rain and violin.

A corkboard of storyboard sketches and index cards lit from the side

Three common mistakes waste credits:

  1. Stacking actions. Five seconds fits one clear action, not a chase and a conversation.
  2. Skipping the camera. Without a camera note, the model improvises, and the result changes every run.
  3. Contradicting the light. "Golden sunset in a dark cave" gives muddy output. Pick one source.

Make Your First Clip Today

The practical path is simple. Test prompts for free on Seedance 2.5 Lite, polish the winner on Seedance 2.0, and move to the fal endpoint only when you need a script that renders hundreds of clips. That order keeps the bill small and the results predictable.

A filmmaker in a green field jacket on a rooftop at dusk holding a tablet

Open Picasso IA, paste one of the prompts above, and watch your first Seedance clip render. Then try the same idea as a still image and compare the two. Browse every video, image, and language model at picassoia.com/en/all-models and build your own workflow from there.

Share this article