- Cloudflare-hosted
FLUX.1 [schnell] is a 12 billion parameter rectified flow transformer capable of generating images from text descriptions.
| Model Info | |
|---|---|
| Terms and License | link ↗ |
| Unit Pricing | $0.000053 per 512 by 512 tile, $0.00011 per step |
Usage
export interface Env {
AI: Ai;
}
export default {
async fetch(request, env): Promise<Response> {
const response = await env.AI.run('@cf/black-forest-labs/flux-1-schnell', {
prompt: 'a cyberpunk lizard',
seed: Math.floor(Math.random() * 10)
});
// response.image is base64 encoded which can be used directly as an <img src=""> data URI
const dataURI = `data:image/jpeg;charset=utf-8;base64,${response.image}`;
return Response.json({ dataURI });
},
} satisfies ExportedHandler<Env>;
export interface Env {
AI: Ai;
}
export default {
async fetch(request, env): Promise<Response> {
const response = await env.AI.run('@cf/black-forest-labs/flux-1-schnell', {
prompt: 'a cyberpunk lizard',
seed: Math.floor(Math.random() * 10)
});
// Convert from base64 string
const binaryString = atob(response.image);
// Create byte representation
const img = Uint8Array.from(binaryString, (m) => m.codePointAt(0));
return new Response(img, {
headers: {
'Content-Type': 'image/jpeg',
},
});
},
} satisfies ExportedHandler<Env>;
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run/@cf/black-forest-labs/flux-1-schnell \
-X POST \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
-d '{ "prompt": "cyberpunk cat", "seed": "Random positive integer" }'Parameters
prompt
stringrequiredminLength: 1maxLength: 2048A text description of the image you want to generate.steps
integerdefault: 4maximum: 8The number of diffusion steps; higher values can improve quality but take longer.image
stringThe generated image in Base64 format.